容器云平台的集群高可用安装部署及配置.docx

上传人:王** 文档编号:1429614 上传时间:2024-07-08 格式:DOCX 页数:44 大小:58.49KB
下载 相关 举报
容器云平台的集群高可用安装部署及配置.docx_第1页
第1页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第2页
第2页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第3页
第3页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第4页
第4页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第5页
第5页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第6页
第6页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第7页
第7页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第8页
第8页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第9页
第9页 / 共44页
容器云平台的集群高可用安装部署及配置.docx_第10页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《容器云平台的集群高可用安装部署及配置.docx》由会员分享,可在线阅读,更多相关《容器云平台的集群高可用安装部署及配置.docx(44页珍藏版)》请在优知文库上搜索。

1、1容器云平台的集群高可用安装部署KUbemeteS(筒称k8s)凭借着其优良的架构灵活的扩展能力,丰富的应用编排模型,成为了容器编排领域的事实标准,也是各大企业进行容器云平台建设的首选技术.无论是在公有云环境使用还是在私有云环境使用,k8s然群的生产商可用是一个不能回避的话超,本章节阐述k8s容涔云平台的高可用部署方式,其核心思想是让k8smaster节点中的各类组件(etcdkube-apiserverkubecontroller-managerkube-scheduler)具备品可用性,不存在组件的单点故障。学习木章节,学员可以掌握k8s环境下如何让各组件组成集群以达到而可用的效果,为k8

2、s在生产的高可用部署实践提供参考和指导。1.1 k8s集群高可用部署说明1.1.1 环境准备要实现k8s亲群的高可用,集群至少需要3节点.本章节以下面的3节点为例进行部署说明.主机名:k8s-l;IP:172.16.90.39主机名:k8s-2;#:172.16.90.40主机名:k8s-3;IP:172,16.90.413节点均为CentOS7麋作系统,建议升级内核到4.4以上,因为CentOS7自带的3.10内核存在一些bug,会导致Docker,Kubernetes运行不稳定,特别是高版本的Docker.Kubernetes(参考节点上需要做如下配百.SSh免密登录,将k8s-l的SSh

3、公钥分发到另外两个节点,ssh-copy-idrootk8s-2各节点上关闭防火墙,Systemctlstopfirewalld&systemctldisablefirewalld各节点上关闭SE1.inux,Setenforce0&sed-i,sSE1.INUX=.SE1.1NUX=disabled/etcseli-nuxconfig1.1.2 部署策略及高可用原理以下部署的KUberneteS版本为1.14.2,etcd的版本为3.3.13。Kubernetes的节点角色分为master和node两种,node节点默认已经有高可用了,因为pod会分配到各个node上,如果有node挂了,k

4、8s就会将node置为NotReady,随后到其他健康的node上新建pod保证副本数为预期状态.因此要实现Kubernetes集群的高可用,实际上是要实现master节点的高可用。master节点上运行了如下组件:etcdkube-apiserverkube-schedulerkube-controller-manager其中,etcd采用以上3节点实现商可用,etcd会保证所有的节点都会保存数据,并保证数据的一致性和正确性,在正常运行的状态下,集群中会有一个leader,其余的节点都是followers.通常情况下,如果是foil。Wer节点宕机,如果剩余可用节点数集超过半数,不影响集群正

5、常工作.如果是leader节点宕机,那么foil。Wer就收不到心跳而超时,发起竞选获得投票,成为新的leader,继续为集舞提供服务.kube-apiserver.kube-scheduler?Qkube-contr。Iler-manager三个组件均以多实例模式运行.kube-apiserver是无状态的,一般可以采用以下两种方式实现高可用:(1)通过配置haproy或ngin等负载均衡器进行代理访问kube-apiserver,从而保证kube-apiserver服务的高可用性,Mproxy或nginx等负或均衡器自身使用keepalived绑定一个vip实现高可用;(2)在每个mast

6、er和node节点配在一个nginx,后端对接多个kube-apiserver实例,nginx对多个kube-apiserver实例做健康检肯和负载均衡,kubelet,kube-proxy,controller-manager,scheduler组件通过本地的nginx访问kube-apiserver,从而实现kube-apiserver的高可用.本堂节以第二种方式为例来介绍k8s集群的高可用部署.kube-scheduler和kube-ContrOller-manager1是有状态的服务,多个实例会通过向apiserver中的endpoint加锁的方式来选举产生一个Ieader实例,其它实

7、例处于阻塞模式,当Ieader挂了后,会重新选举产生新的leader,从而保证服务的可用性.因此这两个组件采用多实例部署即可实现高可用.1.2 etcd蛆件的高可用部署1.2.1 创建CA自签名根证书Kubernetes系统各组件需要使用509证书对通信进行加密和认证.本章节在部署各组件前,需要创建CA自签名根证书,用来给后续创建的其他组件证书迸行签发.0创建相应的工作目录mkdir-poptk8sbi&mkdir-poptk8scrt0安装CfSSI工具wgt-Ooptk8sbicfsslhttps:/pkg.cfssl.Org/R1.2/cfssl_linux-amd64Wget-Oopt

8、k8sticfssljshttps:/pkg.cfssl.org/R1.2cfssljsJinux-amd64n添加执行权限及配置PATHChmod+xoptk8sbl*echo,PATH=optk8sbinSPATHrt.bashrcsourcert,basrc#创建根证书配置文件catca-cong.jsoca-csr.jsoetcd-csr.jsg=ca-cong.jso-profIe=Rubernetesetcd-csr.jsoICfssljson-bareetcd该命令会生成3个文件etcd.pem(etcd使用的证书)etcd-key.pem(etcd的私钥)etcd.csr(et

9、cd的证书签名请求文件)将etcd.pem及etcd-key.pem拷贝到所有节点的etcetcdcert目录下,若没有该目录需创建.1.2.3创建etcd的systemdunit文件catetcd-k8s-l.svce0F(Unit)Descripion三EtcdServerAfter=network,targetAfter=ntwork-oli.targ9tWantS=network-OnSne.targetDocumetatio=httpsgithub.corcorosServiceType=tifyWockigDirectory=datak8stcddataExcStart=optk8

10、sbnetcddata-iir=datak8se-tcetcdcftetcdpom-poor-koy-te三0(cetcdoeftetc-kGy.pm-pr-trustd-ca-to=tck8sce11ca.pm-poor-dient-cert-ahcfint-cert-autfisten-peer-urts=ttps:/172.16.90.39:2300WTnrtiakOdwtiSo-PoOf-Vrhttp517216.90392380W一向ten-cfenJ-IJrIjhnps17216.90.392379,http:/127.0.0.1:2379Wae11ise-cfent-r1s三h!tp17216.90.39;2379-ifitiaHAjstef-tok(U6tod-cbster-OWM*CkjSter=k&s-l=ttpc172.16.90J923OX3-2=ttp:/172.1690.40:2330.k8s-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 服务器

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!