四层反向代理集群规划 主机名 角色 IP地址 mfyxw10.mfyxw.com 4层负载均衡(主) 192.168.80.10 mfyxw20.mfyxw.com 4层负载均衡(从) 192.168.80.20 keepalived中的两种模式 (1)master->backup模式 一旦主库宕机,虚拟ip会自动漂移到从库,当主库修复后,keepalived启动后,还会把虚拟ip抢占过来,即使设置了非抢占模式(nopreempt)抢占ip的动作也会发生. (2)backup->backup模…
kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件; kube-proxy负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络 在k8s中,提供相同服务的一组pod可以抽象成一个service,通过service提供的统一入口对外提供服务,每个service都有一个…
Flannel简介 ​ Flannel是CoreDNS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址.但在默认的Docker配置中,每个Node的Docker服务会分别负责所在节点容器的IP分配.Node内部的容器之间可以互相访问,但是不能跨主机(Node)网络相互间是不能直接通信的.Flannel设计目的就是为集群中所有节点重新规划IP地址的使用规则,从而使得在不同的节点上的容器能够获得"同属一…
API Server简介 Kubernetes API Server提供了K8S各类资源对象(如:pod.RC.Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心. Kubernetes API Server功能如下: 1.提供了集群管理的REST API接口(包括认证授权.数据校验以有集体状态变更) 2.提供其他模块之间的数据交互和通信的枢纽(其它模块通过api server查询或者修改数据,只有它才能 直接操作etcd) 3.是资源配额控制的入口…
集群规划 主机名 角色 IP地址 mfyxw30.mfyxw.com kubelet 192.168.80.30 mfyxw40.mfyxw.com kubelet 192.168.80.40 注意:这里部署文档以mfyxw30.mfyxw.com主机为例,另外一台运算节点安装部署方法类似 1.创建生成kubelet证书签名请求(csr)的JSON配置文件 在运维主机mfyxw50.mfyxw.com上操作 [root@mfyxw50 cert]#cat > /opt/certs/kubelet…
kube-controller-manager运行控制器,它们是处理集群中常规任务的后台线程 Controller Manager就是集群内部的管理控制中心,由负责不同资源的多个Controller构成,共同负责集群内的Node.Pod等所有资源的管理,比如当通过Deployment创建的某个Pod发生异常退出时,RS Controller便会接受并处理该退出事件,并创建新的Pod来维持预期副本数. 几乎每种特定资源都有特定的Controller维护管理以保持预期状态,而Controller M…
kube-apiserver集群规划 主机名 角色 IP地址 mfyxw30.mfxyw.com kube-apiserver主 192.168.80.30 mfyxw40.mfyxw.com kube-apiserver从 192.168.80.40 温馨提示:这里部署文档以mfyxw30.mfyxw.com主机为例,另外两台主机安装部署方法类似 1.下载kubernetes软件 kubernetes的github链接:https://github.com/kubernetes kuberne…
Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息. 整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是 网络插件flannel.对于其它网络插件也需要用到etcd存储网络的配置信息 kubernetes本身,包括各种对象的状态和元信息配置 Etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现.共享配置以及一致性保障(如数据库选主.分布式锁等) ETCD的主要功能: 基本的key…
Kubernetes Scheduler是一个策略丰富.拓扑感知.工作负载特定的功能,调度器显著影响可用性.性能和容量.调度器需要考虑个人和集体的资源要求.服务质量要求.硬件/软件/政策约束.亲和力和反亲和力规范.数据局部性.负载间干扰.完成期限等.工作负载特定的要求必要时将通过 API 暴露. kube-scheduler是Kube-Master相关的3个服务之一(ApiServer.Controller Manager.Scheduler),是有状态的服务,会修改集群的状态信息. 如果多个m…
二进制安装K8s之部署CoreDNS 和Dashboard CoreDNS 和Dashboard 的yaml文件在 k8s源代码压缩包里面可以找到对应的配置文件,很多人从网上直接下载使用别人的,会导致问多问题,k8s aipverson 每个版本略有不同. 下载与自己集群版本一样的源码文件,这里使用1.20 wget https://storage.googleapis.com/kubernetes-release/release/v1.20.9/kubernetes.tar.gz #解压 ta…