kubernetes (k8s) 二进制高可用安装
Kubernetes 开源不易,帮忙点个star,谢谢了🌹
GitHub访问不通畅可以访问国内GitEE https://gitee.com/cby-inc/Kubernetes
一、写在前面
打开文档,使用全文替换,全局替换主机IP即可。不懂就不要乱动别的参数,瞎改的出了问题,不要怪我文档的问题。
觉得文档不好,您可以自己写,您可以选择不看,此仓库用爱发电。
二、介绍
我使用IPV6的目的是在公网进行访问,所以我配置了IPV6静态地址。
若您没有IPV6环境,或者不想使用IPv6,不对主机进行配置IPv6地址即可。
不配置IPV6,不影响后续,不过集群依旧是支持IPv6的。为后期留有扩展可能性。
若不要IPv6 ,不给网卡配置IPv6即可,不要对IPv6相关配置删除或操作,否则会出问题。
如果本地没有IPv6,那么Calico需要使用IPv4的yaml配置文件。
后续尽可能第一时间更新新版本文档,更新后内容在GitHub。
三、当前文档版本
- 1.21.x
- 1.22.x
- 1.23.x
- 1.24.x
- 1.25.x
- 1.26.x
- 1.27.x
- 1.28.x
大版本之间是通用的,比如使用 1.26.0 的文档可以安装 1.26.x 各种版本,只是安装过程中的下载新的包即可。
四、访问地址
手动项目地址:
https://github.com/cby-chen/Kubernetes
脚本项目地址:
https://github.com/cby-chen/Binary_installation_of_Kubernetes
https://github.com/cby-chen/kube_ansible
五、文档
最新版本文档
安装文档
1.28.x版本
1.27.x版本
- v1.27.1-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves-Offline.md
- v1.27.3-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves-Offline.md
1.26.x版本
- v1.26.0-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.26.1-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves-Offline.md
1.25.x版本
- v1.25.0-CentOS-binary-install-IPv6-IPv4.md
- v1.25.4-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
1.24.x版本
- v1.24.0-CentOS-binary-install-IPv6-IPv4.md
- v1.24.1-CentOS-binary-install-IPv6-IPv4.md
- v1.24.2-CentOS-binary-install-IPv6-IPv4.md
- v1.24.3-CentOS-binary-install-IPv6-IPv4.md
1.23.x版本
- v1.23.3-CentOS-binary-install
- v1.23.4-CentOS-binary-install
- v1.23.5-CentOS-binary-install
- v1.23.6-CentOS-binary-install
1.22.x版本
1.21.x版本
三主俩从版本
- v1.21.13-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.22.10-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.23.7-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.24.0-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.24.1-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.24.1-Ubuntu-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.25.0-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.25.4-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
- v1.26.0-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md
其他文档
- 修复kube-proxy证书权限过大问题 kube-proxy_permissions.md
- 使用kubeadm初始化IPV4/IPV6集群 kubeadm-install-IPV6-IPV4.md
- IPv4集群启用IPv6功能,关闭IPv6则反之 Enable-implement-IPv4-IPv6.md
- 升级kubernetes集群 Upgrade_Kubernetes.md
- Minikube初始化集群 Minikube_init.md
- Kubernetes 1.24 1.25 集群使用docker作为容器 Kubernetes_docker
- kubernetes 安装cilium kubernetes_install_cilium
- 二进制安装每个版本文档
六、安装包
-
wget https://ghproxy.com/https://github.com/cby-chen/Kubernetes/releases/download/cby/Kubernetes.tar
*注意:1.23.3 版本当时没想到会后续更新,所以当时命名不太规范。
七、旧版本地址
建议查看main版本中的文档。
https://github.com/cby-chen/Kubernetes/
若找对应版本文档中的安装包,可以在上方下载安装包,可以在在下方地址中查找。
- https://github.com/cby-chen/Kubernetes/tree/cby
- https://github.com/cby-chen/Kubernetes/tree/v1.23.4
- https://github.com/cby-chen/Kubernetes/tree/v1.23.5
- https://github.com/cby-chen/Kubernetes/tree/v1.23.6
- https://github.com/cby-chen/Kubernetes/tree/v1.23.7
- https://github.com/cby-chen/Kubernetes/tree/v1.24.0
- https://github.com/cby-chen/Kubernetes/tree/v1.24.1
- https://github.com/cby-chen/Kubernetes/tree/v1.24.2
- https://github.com/cby-chen/Kubernetes/tree/v1.24.3
- https://github.com/cby-chen/Kubernetes/tree/v1.25.0
- https://github.com/cby-chen/Kubernetes/tree/v1.25.4
- https://github.com/cby-chen/Kubernetes/tree/v1.26.0
- https://github.com/cby-chen/Kubernetes/tree/v1.26.1
- https://github.com/cby-chen/Kubernetes/tree/v1.27.1
- https://github.com/cby-chen/Kubernetes/tree/v1.27.3
- https://github.com/cby-chen/Kubernetes/tree/v1.28.0
- https://github.com/cby-chen/Kubernetes/tree/v1.22.10
- https://github.com/cby-chen/Kubernetes/tree/v1.21.13
八、常见异常
- 安装会出现kubelet异常,无法识别
--node-labels
字段问题,原因如下。
将 --node-labels=node.kubernetes.io/node=''
替换为 --node-labels=node.kubernetes.io/node=
将 ''
删除即可。
-
注意hosts配置文件中主机名和IP地址对应
-
在文档7.2,却记别忘记执行
kubectl create -f bootstrap.secret.yaml
命令 -
在 centos7 环境下需要升级 runc 和 libseccomp
九、其他
生产环境推荐配置
Master节点:
- 三个节点实现高可用(必须)
- 节点数:0-100 8核16+
- 节点数:100-250 8核32G+
- 节点数:250-500 16核32G+
etcd节点:
- 三个节点实现高可用(必须),有条件存储分区必须高性能SSD硬盘,没有SSD也要有高效独立磁盘
- 节点数:0-50 2核8G+ 50G SSD存储
- 节点数:50-250 4核16G+ 150G SSD存储
- 节点数:250-1000 8核32G+ 250G SSD存储
Node节点:
- 无特殊要求,主要是Docker数据分区、系统分区需要单独使用,不可以使用同一个磁盘,系统分区100G+、Docker数据分区200G+,有条件使用SSD硬盘,必须独立于系统盘
其他:
- 集群规模不大可以将etcd和master放置于同一个宿主机,
- 也就是每个master节点部署k8s组件和etcd服务,但是etcd的数据目录一定要独立,并且使用SSD,
- 两者部署在一起需要相对增加宿主机的资源,个人建议生产环境把master节点的资源一次性给够,
- 此处的费用不应该节省,可以直接使用16核32G或者64G的机器,之后集群扩容就无需扩容master节点的资源,减少风险。
- 其中master节点和etcd节点的系统分区100G即可。
加群
- 建议在 Kubernetes 查看文档,后续会陆续更新文档
- 小陈网站:
https://www.oiox.cn/index.php/start-page.html
CSDN、GitHub、51CTO、知乎、开源中国、思否、掘金、简书、华为云、阿里云、腾讯云、哔哩哔哩、今日头条、新浪微博、个人博客
全网可搜《小陈运维》
文章主要发布于微信公众号