Kube

k8s学习笔记之安装二——重置,更换网络插件

孤者浪人 提交于 2020-08-18 21:42:18
一,重置k8s 1,主节点: kubectl delete node node01 node02 master kubeadm reset rm -rf .kube /var/log/containers /var/log/pods 2,从节点 kubeadm reset rm -rf .kube /var/log/containers /var/log/pods 二,更换网络插件 卸载flannel: 在master节点删除flannel kubectl delete -f kube-flannel.yml 重启kubelet sytemctl restart kubelet 安装calico: wget https://docs.projectcalico.org/manifests/calico.yaml kubectl apply -f calico.yaml 安装完毕后使用docker images 查看容器镜像可以看见如下以calico打头的镜像 来源: oschina 链接: https://my.oschina.net/u/4389900/blog/4312752

kubernetes入门到实战(七)资源管理和Qos

隐身守侯 提交于 2020-08-18 21:29:15
1. Pod资源管理 1.1 resource定义 容器运行过程中需要分配所需的资源,如何与cggroup联动配合呢?答案是通过定义resource来实现资源的分配,资源的分配单位主要是cpu和memory,资源的定义分两种:requests和limits,requests表示请求资源,主要用于初始kubernetes调度pod时的依据,表示必须满足的分配资源;limits表示资源的限制,即pod不能超过limits定义的限制大小,超过则通过cggroup限制,pod中定义资源可以通过下面四个字段定义: spec.container[].resources.requests.cpu 请求cpu资源的大小,如0.1个cpu和100m表示分配1/10个cpu; spec.container[].resources.requests.memory 请求内存大小,单位可用M,Mi,G,Gi表示; spec.container[].resources.limits.cpu 限制cpu的大小,不能超过阀值,cggroup中限制的值; spec.container[].resources.limits.memory 限制内存的大小,不能超过阀值,超过会发生OOM; 1、开始学习如何定义pod的resource资源,如下以定义nginx-demo为例,容器请求cpu资源为250m,限制为500m

深度解读OpenYurt:从边缘自治看YurtHub的扩展能力

試著忘記壹切 提交于 2020-08-18 15:31:09
作者 | 新胜 阿里云技术专家 导读: OpenYurt 开源两周以来,以非侵入式的架构设计融合云原生和边缘计算两大领域,引起了不少行业内同学的关注。阿里云推出开源项目 OpenYurt,一方面是把阿里云在云原生边缘计算领域的经验回馈给开源社区,另一方面也希望加速云计算向边缘延伸的进程,并和社区共同探讨未来云原生边缘计算架构的统一标准。为了更好地向社区和用户介绍 OpenYurt,我们特地推出 【深度解读OpenYurt】 系列文章,本文为系列文章的第三篇,一一介绍了 OpenYurt 中组件 YurtHub 的扩展能力。 系列文章推荐: OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力 深度解读 OpenYurt :边缘自治能力设计解析 OpenYurt 介绍 阿里云边缘容器服务上线 1 年后,正式开源了云原生边缘计算解决方案 OpenYurt ,跟其他开源的容器化边缘计算方案的区别在于:OpenYurt 秉持 Extending your native Kubernetes to edge 的理念,对 Kubernetes 系统零修改,并提供一键式转换原生 Kubernetes 为 openyurt,让原生 K8s 集群具备边缘集群能力。 同时随着 OpenYurt 的持续演进,也一定会继续保持如下发展理念: 非侵入式增强 K8s

Kubernetes(一)概念介绍

喜夏-厌秋 提交于 2020-08-18 14:23:28
1. Kubernetes介绍 Kubernetes这个名字起源于希腊语,意思是舵手,由于k到s之间有8个字符又简称k8s。Google在2014年开源了Kubernetes项目,基于容器技术的分布式管理系统,在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 1. Kubernetes概述 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用(就像canary deployments)。 现在Kubernetes着重于不间断的服务状态(比如web服务器或者缓存服务器)和原生云平台应用(Nosql),在不久的将来会支持各种生产云平台中的各种服务,例如

kubernetes集群部署

≯℡__Kan透↙ 提交于 2020-08-18 14:23:03
4. 部署Kubernetes集群 1. 节点信息 ip 主机名 角色 操作系统 192.168.157.130 master 主 centeos7 192.168.157.131 ode1 节点 Centos7 192.168.157.132 node2 节点 Centos7 2. 关闭防火墙相关 systemctl stop firewalld.service systemctl stop iptables.service systemctl disable firewalld.service systemctl disable iptables.service 将 SELinux 设置为 permissive 模式(将其禁用) setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config 2. 安装docker 添加docker的yum仓库 tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1

Rancher 2.4.3

99封情书 提交于 2020-08-18 13:29:01
一、概述 对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用。 为确保高可用,本文所部署的 Kubernetes 集群将专用于运行 Rancher ,Rancher 运行起来后,可再创建或导入集群以运行具体的工作负载。 推荐架构 Rancher的DNS 应解析到 4层(TCP) 负载均衡上。 负载均衡应将端口 TCP/80 和 TCP/443 转发到 Kubernetes 集群中的所有3个节点。 Ingress-controller 将 HTTP 重定向到HTTPS并终止端口 TCP/443 上的 SSL/TLS(SSL数字证书在这里部署)。 Ingress-controller 将流量转发到 pod 的 TCP/80 端口。 下面是一张从官网拉过来的图片,更直观一些。 二、准备工作 服务器准备 1台 Linux服务器,配置不用很高,用于四层负载均衡 3台 Linux服务器,Rancker-server-node 节点 n台 Linux服务器,Rancker-agent-node 节点(n<=50) 节点服务器的硬件配置,可根据实际情况依据该表自行选择。 规模 集群 节点 CPU 内存 小 最多5个 高达50

kubernetes二: kubernetes 重要组件安装和集群管理

柔情痞子 提交于 2020-08-18 05:34:54
一、管理k8s资源 1.管理k8s核心资源的三种基本方法 陈述式管理方法----主要依赖命令行cli工具进行管理 声明式管理方法--主要依赖统一资源配置清单(manifest)进行管理 GUI式管理方法--主要依赖图形化操作界面(web页面)进行管理 2.陈述式管理方法 2.1 管理namespace资源 ##查看名称空间 [root@kjdow7-21 ~]# kubectl get namespaces #或者 kubectl get ns NAME STATUS AGE default Active 4d18h kube-node-lease Active 4d18h kube-public Active 4d18h kube-system Active 4d18h ##查看名称空间内的资源 [root@kjdow7-21 ~]# kubectl get all -n default NAME READY STATUS RESTARTS AGE pod/nginx-ds-ssdtm 1/1 Running 1 2d18h pod/nginx-ds-xfsk4 1/1 Running 1 2d18h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 192.168.0.1

Ingress 配置对外暴露端口

好久不见. 提交于 2020-08-18 04:56:11
[root@hadoop108 online]# kubectl get all NAME READY STATUS RESTARTS AGE pod/nginx-ingress-controller-c69f98895-kk67b 1/1 Running 0 131m pod/nginx-ingress-default-backend-7c868597f4-cnp6t 1/1 Running 0 131m pod/police-8576544dbf-b2tkn 1/1 Running 0 25m pod/yucky-aardwolf-htest-67d7c87f8b-s2p4z 1/1 Running 0 3d21h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 24d service/nginx-ingress-controller LoadBalancer 10.109.36.133 192.168.101.208,192.168.101.209,192.168.101.210 80:32389/TCP,443:30647/TCP 131m service/nginx-ingress-default-backend

Istio Sidecar

空扰寡人 提交于 2020-08-17 17:57:56
Istio Sidecar 概念及示例 Sidecar 描述了sidecar代理的配置。默认情况下,Istio 让每个 Envoy 代理都可以访问来自和它关联的工作负载的所有端口的请求,然后转发到对应的工作负载。您可以使用 sidecar 配置去做下面的事情: 微调 Envoy 代理接受的端口和协议集。 限制 Envoy 代理可以访问的服务集合。 您可能希望在较庞大的应用程序中限制这样的 sidecar 可达性,配置每个代理能访问网格中的任意服务可能会因为高内存使用量而影响网格的性能。 您可以指定将 sidecar 配置应用于特定命名空间中的所有工作负载,或者使用 workloadSelector 选择特定的工作负载。例如,下面的 sidecar 配置将 bookinfo 命名空间中的所有服务配置为仅能访问运行在相同命名空间和 Istio 控制平面中的服务。 每个名称空间只能有一个没有任何配置 workloadSelector 的 Sidecar 配置 , 如果 Sidecar 给定名称空间中存在多个不使用选择器的配置,则系统的行为是不确定的。 下面声明的 Sidecar 在根名称空间中声明了全局默认配置 istio-config ,该配置在所有名称空间中配置了sidecar,以仅允许将流量发送到同一名称空间中的其他工作负载以及该名称空间中的服务 istio-system 。

K8s在LinuxONE上搭建(一)

拜拜、爱过 提交于 2020-08-17 16:47:35
一、介绍 Kubernetes 是当先炙手可热的技术,它已然成为可开源界的PASS管理平台的标准,当下文章对大多数是对X86平台搭建Kubernetes平台,下面笔者进行在LinuxONE上搭建开源的Kubernetes平台。 搭建K8S 平台主流的有两种方法, 第一种是基于二进制的搭建,通过一步一步的搭建可以加深对K8S各个服务的理解。 官方推荐的自动化部署工具 kubeadm 本次使用官方推荐的Kubeadm 的搭建方法, kubedm 把K8S 自身的服务都被K8S自身的pod,除此之外事先的基础服务是用system服务的方式运行。 master节点安装组件: docker、kubelet、kubeadm 基于本地的system服务运行 kube-proxy 是 动态的可被k8s 管理的pod api-server、kube-controller、etcd、 是托guan在pod node节点组件 docker、kubelet 基于本地的system服务运行 kube-proxy 是 动态的可被k8s 管理的pod flannel 是 动态的可被k8s 管理的pod 二、安装 1. 环境 系统版本 IP地址 主机名 ubuntu1~18.04.1 172.16.35.140 master ubuntu1~18.04.1 woker-1 2.安装docker 安装基础的包