栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Centos7.6 安装最新k8s v1.24+containerd+calico

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Centos7.6 安装最新k8s v1.24+containerd+calico

安装最新k8s v1.24+containerd+calico
  • 开始之前
    • 部署文件位置
    • 端口开放
      • k8s中需要开放的端口
      • calico网络插件需要开放的端口
    • 所有服务器都要做的操作
      • 1. 升级系统内核
        • CentOS 7
        • CentOS 8
      • 2. 修改hosts文件
    • 根据不同节点各自操作
      • 3. master
      • 4. node1
      • 5. node2
      • 6. 将工作节点加入到k8s集群
      • 7. 安装calico网络插件
  • 安装过程的问题以及解决

开始之前

要遵循本指南,你需要:

  • 一台或多台运行兼容 deb/rpm 的 Linux 操作系统的计算机;例如:Ubuntu 或 CentOS。
  • 每台机器 2 GB 以上的内存,内存不足时应用会受限制。
  • 用作控制平面节点的计算机上至少有2个 CPU。
  • 集群中所有计算机之间具有完全的网络连接。你可以使用公共网络或专用网络。
部署文件位置

一键安装k8s一主两从集群-gitee.com/hincky/k8s

端口开放
  • 如果你是用虚拟机部署,确保系统防火墙关闭即可
  • 如果你是云服务器部署,请在你的服务器的安全组策略中,开放以下端口
k8s中需要开放的端口

参考kubernetes官方文档
控制面

协议方向端口范围目的使用者
TCP入站6443Kubernetes API server所有
TCP入站2379-2380etcd server client APIkube-apiserver, etcd
TCP入站10250Kubelet API自身, 控制面
TCP入站10259kube-scheduler自身
TCP入站10257kube-controller-manager自身

尽管 etcd 的端口也列举在控制面的部分,但你也可以在外部自己托管 etcd 集群或者自定义端口。

工作节点

协议方向端口范围目的使用者
TCP入站10250Kubelet API自身, 控制面
TCP入站30000-32767NodePort Services†所有
calico网络插件需要开放的端口

参考calico官方文档
网络要求
确保您的主机和防火墙根据您的配置允许必要的流量。

配置主持人连接类型端口/协议
BGP全部双向TCP 179
所有服务器都要做的操作 1. 升级系统内核
cat /etc/hosts
uname -r
CentOS 7
rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grub2-set-default 0 
reboot
CentOS 8
rpm -Uvh http://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grub2-set-default 0 
reboot
2. 修改hosts文件
cat >> /etc/hosts << EOF
127.0.0.1   $(hostname)
10.0.xx.x   master
10.0.x.xx   node2
10.0.x.xx   node1
43.138.xxx.xx   master
43.138.xxx.xxx   node2
43.138.xxx.xxx   node1
EOF
根据不同节点各自操作 3. master

注意master.sh中init.conf里面的service网段和pod网段配置。设置成你自己的值。同步修改第7步中calico.yaml里面的pod网段

hostnamectl set-hostname master
touch master.sh
chmod +x master.sh
vim master.sh
./master.sh
4. node1
hostnamectl set-hostname node1
touch node.sh
chmod +x node.sh
vim node.sh
./node.sh
5. node2
hostnamectl set-hostname node2
touch node.sh
chmod node.sh
vim node.sh
./node.sh
6. 将工作节点加入到k8s集群

You can now join any number of machines by running the following on each node
as root:

kubeadm join : --token --discovery-token-ca-cert-hash sha256:

7. 安装calico网络插件
vi calico.yaml
利用/CALICO_IPV4POOL_CIDR快速查找位置,更改为你的pod网段
- name: CALICO_IPV4POOL_CIDR
  value: 10.244.0.0/16

利用/k8s,bgp快速查找位置,等号后面更改为你的网卡名,比如ens33,eth0
– name: IP_AUTODETECTION_METHOD
value: “interface=eth0”

保存之后就可以应用配置了

kubectl apply -f calico.yaml

然后等所有的pod都running完毕,自然状态就是ready了

watch kubectl get po -A 

都ready好啦之后,现在可以查看nodes状态,所有的节点都已经ready了

kubectl get nodes -o wide
安装过程的问题以及解决

【已解决】calico not ready BGP报错

看完觉得有用的话,就不要吝啬点个赞吧

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号