/Kubernetes

kubernetes (k8s) 二进制高可用安装,Binary installation of kubernetes (k8s) --- 开源不易,帮忙点个star,谢谢了🌹

Primary LanguageShellGNU General Public License v3.0GPL-3.0

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版本

1.26.x版本

1.25.x版本

1.24.x版本

1.23.x版本

1.22.x版本

1.21.x版本

三主俩从版本

其他文档

六、安装包

*注意:1.23.3 版本当时没想到会后续更新,所以当时命名不太规范。

七、旧版本地址

建议查看main版本中的文档。
https://github.com/cby-chen/Kubernetes/
若找对应版本文档中的安装包,可以在上方下载安装包,可以在在下方地址中查找。

八、常见异常

  • 安装会出现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

详见 https://github.com/cby-chen/Kubernetes/blob/main/doc/v1.25.0-CentOS-binary-install-IPv6-IPv4-Three-Masters-Two-Slaves.md#9%E5%AE%89%E8%A3%85%E7%BD%91%E7%BB%9C%E6%8F%92%E4%BB%B6

九、其他

生产环境推荐配置

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即可。

加群

avatar

  • 建议在 Kubernetes 查看文档,后续会陆续更新文档
  • 小陈网站:

https://www.oiox.cn/

https://www.oiox.cn/index.php/start-page.html

CSDN、GitHub、51CTO、知乎、开源**、思否、掘金、简书、华为云、阿里云、腾讯云、哔哩哔哩、今日头条、新浪微博、个人博客

全网可搜《小陈运维》

文章主要发布于微信公众号

Stargazers over time

Stargazers over time