千家信息网

怎么构建生产环境可用的高可用kubernetes集群

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要讲解了"怎么构建生产环境可用的高可用kubernetes集群",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么构建生产环境可用的高可用ku
千家信息网最后更新 2024年11月18日怎么构建生产环境可用的高可用kubernetes集群

这篇文章主要讲解了"怎么构建生产环境可用的高可用kubernetes集群",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么构建生产环境可用的高可用kubernetes集群"吧!

kubernetes集群三步安装

构建生产环境可用的高可用kubernetes集群 | sealos项目地址

特性

  • [x] 支持任意节点的etcd集群自动构建,且etcd集群使用安全证书,通过static pod方式启动,这样可以通过监控pod来监控etcd集群健康状态

  • [x] 支持多master节点,允许任意一台master宕机集群功能不受影响

  • [x] calico使用etcd集群,配置安全证书,网络管控数据无单点故障

  • [x] 包含dashboard, heapster coreDNS addons, coreDNS双副本,无单点故障

  • [x] 使用haproxy负载master节点,同样是用static pod,这样可通过统一监控pod状态来监控haproxy是否健康

  • [x] haproxy节点使用keepalived提供虚拟IP,任意一个节点宕机虚拟IP可实现漂移,不影响node连接master

  • [x] node节点与kube-proxy配置使用虚拟IP

  • [ ] 集群健康检测功能

  • [ ] promethus 监控功能,一键安装,无需配置

  • [ ] EFK 日志收集功能

  • [ ] 分布式HA模式,不用keepalived,减少集群构建出错概率,无VIP切换时间

  • [x] istio 微服务支持

ship on docker

你必须已经有了sealyun kubernetes离线安装包 (默认支持kubernetes版本v1.12.x,针对特殊版本的适配会切分支处理)

针对后续高版本会有更多优化

大概原理是为了减少大家搭建ansible和sealos的环境,客户端的东西都放到docker里,把安装包挂载到容器中,然后ansible脚本会把包分发到你在hosts文件中配置的所有服务器上

所以大概分成三步:

  1. 配置免密钥,把docker里的公钥分发给你所有的服务器

  2. 配置ansible playbook的hosts文件

  3. 执行ansible

下面逐一说明:

启动ansible容器与免密钥设置

找台宿主机如你的PC,或者一台服务器,把下载好的离线包拷贝到/data目录,启动sealos容器,把离线包挂载进去:

docker run --rm -v /data/kube1.12.0.tar.gz:/data/kube1.12.0.tar.gz -it -w /etc/ansible fanux/sealos:v1.12.0-beta bash

在容器里面执行:

mkdir ~/.sshcd ~/.sshssh-keygen -t rsa

ssh public key:

cat ~/.ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7fTirP9zPcx7wIjhsF+Dyu0A2sV5llC8jsmp/xtiyuJirE3mclpNEqgrzHC26f+ckfzwoE0HPU0wDPxbWFl3B0K89EwJSBsVZSZ0VLYnZp0u2JgwCLZzZzKfY0018yoqoL9KHz/68RpqtG2bWVf0/WSj+4hN7xTRpRTtXJHBOQRQBfqVSIcfMBSEnO15buUbDaLol/HvQd0YBrWwafQtMacmBlqDG0Z6/yeY4sTNRVRV2Uu5TeaHfzgYgmY9+Nxt***8Td6tgZtq7cVU//kSsbzkUzDSD8zsh8kPUm4yljT5tYM1cPFLGM4m/zqAjAZN2YaEdFckJFAQ7TWAK857d root@8682294b9464

这样公钥就生成了

在其它所有要安装k8s的服务器上执行:

cd ~/.sshecho "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7fTirP9zPcx7wIjhsF+Dyu0A2sV5llC8jsmp/xtiyuJirE3mclpNEqgrzHC26f+ckfzwoE0HPU0wDPxbWFl3B0K89EwJSBsVZSZ0VLYnZp0u2JgwCLZzZzKfY0018yoqoL9KHz/68RpqtG2bWVf0/WSj+4hN7xTRpRTtXJHBOQRQBfqVSIcfMBSEnO15buUbDaLol/HvQd0YBrWwafQtMacmBlqDG0Z6/yeY4sTNRVRV2Uu5TeaHfzgYgmY9+Nxt***8Td6tgZtq7cVU//kSsbzkUzDSD8zsh8kPUm4yljT5tYM1cPFLGM4m/zqAjAZN2YaEdFckJFAQ7TWAK857d root@8682294b9464" >> authorized_keys

这样公钥分发工作完成了,所有的机器直接ssh无需输入密码即可登录

修改配置

Config your own hosts

# cd /etc/ansible# vim hosts

配置说明:

[k8s-master]10.1.86.204 name=node01 order=1 role=master lb=MASTER lbname=lbmaster priority=10010.1.86.205 name=node02 order=2 role=master lb=BACKUP lbname=lbbackup priority=8010.1.86.206 name=node03 order=3 role=master [k8s-node]10.1.86.207 name=node04 role=node[k8s-all:children]k8s-masterk8s-node[all:vars]vip=10.1.86.209   # 同网段未被占用IPk8s_version=1.12.0  # kubernetes版本ip_interface=eth.*etcd_crts=["ca-key.pem","ca.pem","client-key.pem","client.pem","member1-key.pem","member1.pem","server-key.pem","server.pem","ca.csr","client.csr","member1.csr","server.csr"]k8s_crts=["apiserver.crt","apiserver-kubelet-client.crt","ca.crt", "front-proxy-ca.key","front-proxy-client.key","sa.pub", "apiserver.key","apiserver-kubelet-client.key",  "ca.key",  "front-proxy-ca.crt",  "front-proxy-client.crt" , "sa.key"]

注意role=master的会装etcd与kubernetes控制节点,role=node即k8s node节点,配置比较简单,除了改IP和版本,其它基本不用动

启动安装

# ansible-playbook roles/install-all.yaml

uninstall all

# ansible-playbook roles/uninstall-all.yaml

感谢各位的阅读,以上就是"怎么构建生产环境可用的高可用kubernetes集群"的内容了,经过本文的学习后,相信大家对怎么构建生产环境可用的高可用kubernetes集群这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

集群 配置 节点 环境 生产 版本 监控 功能 容器 服务器 支持 服务 健康 公钥 学习 安全 不用 内容 密钥 故障 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 尔雅网课计算机网络技术题库 i7-2640m 服务器 数据库安全管理的措施 大学数据库电子书 大数据分析和软件开发哪个好 互联网科技公司不要盯着菜篮子 饥荒连接到服务器但是没进去游戏 数据库相关需求都有什么 贵州交警显示服务数据库异常 浙江大数据子母钟服务器虚拟主机 杭州知租侠网络技术有限公司 网络安全学生知识 服务器如何工作 网络安全公司的前景 绩溪新能源软件开发服务销售厂 沈阳市易游时代网络技术服务 数据库类型的设计 利用数据库对数据进行管理 广州众星网络技术有限公司 互联网金融高利贷黑瞳科技的 网络安全法新规定 国家电网公司网络安全应急 姜林枫 数据库原理与应用技术 判断数据库是否为BCNF 负载均衡 数据库同步 人社局系统加强网络安全 现在网络技术专业工资多少钱 架设游戏服务器怎么做 徐州企业软件开发销售 我的世界多人生存服务器怎么开始
0