kubeadm部署Kuberentes-v1.23.1的集群(Wmware环境)

本文介绍如何使用kubeadm快速部署Kubernetes集群,包括安装前的准备工作、解决部署过程中遇到的问题以及配置命令行工具kubectl的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基础环境及安装系统版本

操作系统:Centos8.5(kernel 4.18.0-384.e18-x86_64)
容器引擎:docker 20.10.11
kubernetes:v1.23.1

注意事项:
(1)kubernetes版本查看
最新版本号:https://storage.googleapis.com/kubernetes-release/release/stable.txt
版本发型说明:https://kubernetes.io/docs/setup/release/notes
(2)机器换机要求:每台机器 2 GB 或更多 RAM,2 个或更多 CPU,存储空间20G以上

 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:

# 创建一个 Master 节点
$ kubeadm init
# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master节点的IP和端口 >

kubenetes集群环境主机信息

IP地址 主机名称 角色
192.168.0.20 k8s-master01,k8s-master01.io master
192.168.0.23 k8s-node01,k8s-node01.io node
192.168.0.24 k8s-node02,k8s-node03.io node

二、安装前的准备工作

  1. 主机时间同步
    各主机可访问互联网,启用各个主机的chronyd服务即可,
    主机无法访问互联网,可以把master配置为chronyd server,其他节点主机从master同步时间。
    sudo systemctl start chronyd.service
    sudo systemctl enable chronyd.service
    
  2. 各节点防火墙设置
    各个Node运行kube-proxy组件需要借助iptables或ipvs构建Service资源对象,为了方便链接,关闭各主机上的iptabels相关的服务
    sudo ufw disable && sudo ufw status
    
    #ufw是针对Ubuntu系统发行的,是一种管理netfilter规则的简单方法,针对Centos可以关闭防火墙
    
    # 扩展命令
    # 查看防火墙状态:sudo systemctl status firewalld
    # 关闭防火墙: systemctl stop firewalld.service
    # 开启防火墙: systemctl start firewalld.service
    # 关闭开机启动: systemctl disable firewalld.service
    # 打开防火墙开机启动: systemctl enable firewalld.service
    
  3. 禁用swap设置
    Swap是磁盘上的空间,性能较差,为了避免影响Kubenetes的调度和编排应用程序的运行效果,禁用Swap设备(加入集群,也可以在命令尾部加上 –ignore-preflight-errors=Swap ,以忽略 k8s 对主机 swap 的检查)
    sudo swapoff -a
    
    #永久性禁用Swap功能
    # 注释掉 /etc/fstab文件中,所有文件系统类型为swap的配置行
    永久禁用:
  4. 确保每个节点的唯一主机名、MAC 地址和 product_uuid
    获取网络接口的 MAC 地址:ip link或 ifconfig -a
    查看product_uuid: sudo cat /sys/class/dmi/id/product_uuid
  5. 配置主机hosts
    # k8s-adm-api.io
    
    192.168.0.20     k8s-master01 k8s-master01.io k8s-adm-api.io
    192.168.0.23     k8s-node01 k8s-node01.io
    192.168.0.24     k8s-node02 k8s-node02.io

     
  6. 配置Kubernetes的镜像(阿里云)
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF

    如:

  7. 让 iptables 获得桥接流量
    确保br_netfilter模块已加载,可以通过运行命令lsmod | grep br_netfilter查看
    [root@k8s-master01 etc]# lsmod | grep br_netfilter
    br_netfilter           24576  0
    bridge                200704  1 br_netfilter
    [root@k8s-master01 etc]#

         要显式加载它,请调用sudo modprobe br_netfilter

[root@k8s-master01 etc]# sudo modprobe br_netfilter

         作为Linux节点的iptables可以获得桥接流量的要求,应该确保net.bridge.bridge-nf-call-iptables在sysctl配置中设置为1,例如

$ cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

$ cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

$ sudo sysctl --system

三、安装kubeadm、kubelet和kubectl

您将在所有机器上安装这些软件包:

  • kubeadm:引导集群的命令。

  • kubelet:在集群中的所有机器上运行的组件,并执行诸如启动 Pod 和容器之类的操作。

  • kubectl:用于与集群通信的命令行实用程序。

kubeadm不会安装或管理kubeletkubectl对你,所以你需要确保他们想要kubeadm安装适合你的Kubernetes控制平面的版本匹配。如果不这样做,则存在发生版本偏差的风险,这可能导致意外的错误行为。但是,kubelet 和控制平面之间支持一个次要版本倾斜,但 kubelet 版本可能永远不会超过 API 服务器版本

安装命令

yum install -y kubelet kubeadm kubectl

#可以指定版本安装,版本指定格式为:PKG_NAME-VERSION-RELEASE
#如:yum install -y kubelet-1.23.1-00 kubeadm-1.23.1-00 kubectl-1.23.1-00
#

安装日志:

[root@k8s-master01 yum.repos.d]# yum install -y kubelet-1.23.1-00 kubeadm-1.23.1-00 kubectl-1.23.1-00
Kubernetes                                                                                                                              2.7 kB/s | 844  B     00:00
Kubernetes                                                                                                                               15 kB/s | 4.4 kB     00:00
导入 GPG 公钥 0x307EA071:
 Userid: "Rapture Automatic Signing Key (cloud-rapture-signing-key-2021-03-01-08_01_09.pub)"
 指纹: 7F92 E05B 3109 3BEF 5A3C 2D38 FEEA 9169 307E A071
 来自: https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
导入 GPG 公钥 0x836F4BEB:
 Userid: "gLinux Rapture Automatic Signing Key (//depot/google3/production/borg/cloud-rapture/keys/cloud-rapture-pubkeys/cloud-rapture-signing-key-2020-12-03-16_08_05.pub) <glinux-team@google.com>"
 指纹: 59FE 0256 8272 69DC 8157 8F92 8B57 C5C2 836F 4BEB
 来自: https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
导入 GPG 公钥 0xDC6315A3:
 Userid: "Artifact Registry Repository Signer <artifact-registry-repository-signer@google.com>"
 指纹: 35BA A0B3 3E9E B396 F59C A838 C0BA 5CE6 DC63 15A3
 来自: https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
Kubernetes                                                                                                                               11 kB/s | 975  B     00:00
导入 GPG 公钥 0x3E1BA8D5:
 Userid: "Google Cloud Packages RPM Signing Key <gc-team@google.com>"
 指纹: 3749 E1BA 95A8 6CE0 5454 6ED2 F09C 394C 3E1B A8D5
 来自: https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
Kubernetes                                                                                                                              296 kB/s | 136 kB     00:00
依赖关系解决。
========================================================================================================================================================================
 软件包                                           架构                             版本                                      仓库                                  大小
========================================================================================================================================================================
安装:
 kubeadm                                          x86_64                           1.23.1-0                                  kubernetes                           9.0 M
 kubectl                                          x86_64                           1.23.1-0                                  kubernetes                           9.5 M
 kubelet                                          x86_64                           1.23.1-0                                  kubernetes                            21 M
安装依赖关系:
 conntrack-tools                                  x86_64                           1.4.4-10.el8                              baseos                               204 k
 cri-tools                                        x86_64                           1.19.0-0                                  kubernetes                           5.7 M
 kubernetes-cni                                   x86_64                           0.8.7-0                                   kubernetes                            19 M
 libnetfilter_cthelper                            x86_64                           1.0.0-15.el8                              baseos                                24 k
 libnetfilter_cttimeout                           x86_64                           1.0.0-11.el8                              baseos                                24 k
 libnetfilter_queue                               x86_64                           1.0.4-3.el8                               baseos                                31 k
 socat                                            x86_64                           1.7.4.1-1.el8                             appstream                            323 k

事务概要
========================================================================================================================================================================
安装  10 软件包

总下载:64 M
安装大小:287 M
下载软件包:
(1/10): libnetfilter_cthelper-1.0.0-15.el8.x86_64.rpm                                                                                   147 kB/s |  24 kB     00:00
(2/10): libnetfilter_cttimeout-1.0.0-11.el8.x86_64.rpm                                                                                  131 kB/s |  24 kB     00:00
(3/10): conntrack-tools-1.4.4-10.el8.x86_64.rpm                                                                                         559 kB/s | 204 kB     00:00
(4/10): socat-1.7.4.1-1.el8.x86_64.rpm                                                                                                  819 kB/s | 323 kB    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值