通过kubeadm 部署k8s (V 1.20.1)

本文详细介绍使用kubeadm在CentOS 7环境下部署Kubernetes (K8s) v1.20.1版本的过程。包括环境准备、Docker配置、kubeadm安装及配置、Pod网络插件Flannel安装等关键步骤。

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

通过kubeadm 部署k8s(V1.20.1)

1、准备机器,机器配置要求如下:

  • 一台或多台机器,操作系统 CentOS7,最好为多台
  • 硬件配置:大于或等于2GB,大于或等于2个CPU,大于或等于硬盘30GB
  • 集群中所有机器之间网络互通
  • 可以访问外网,需要拉取镜像
  • 禁止swap分区

本文为三台机器,一台master,两台node

2、准备环境

  1. 关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
  2. 关闭selinux
    sed -i 's/enforcing/disabled/' /etc/selinux/config
    setenforce 0
  3. 关闭swap
    swapoff -a # 临时关闭
    sed -ri 's/.*swap.*/#&/' /etc/fstab #永久关闭
  4. 添加主机名与IP对应关系
    cat >> /etc/hosts << EOF
    192.168.xxx.xxx k8s-master
    192.168.xxx.xxx k8s-node-01
    192.168.xxx.xxx k8s-node-02
    EOF
  5. 将桥接的IPv4流量传递到iptables的链(设置三台机器之间网络连接)
    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF

3、安装docker步骤

请查阅此文章,本文不在赘述
安装docker参考地址

4、设置国内镜像地址

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5、修改docke中的daemon.json文件

tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF

6、修改获取kubernetes镜像地址

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

7、清除yum缓存

yum clean all && yum makecache

8、安装kubelet、kubeadm、kubectl,版本为 1.20.1

yum install -y kubelet-1.20.1 kubeadm-1.20.1 kubectl-1.20.1

9、设置kubelet开机自启

systemctl enable kubelet

10、在k8s Master节点 部署Kubernetes Master

kubeadm init \
--apiserver-advertise-address=192.168.xxx.xxx \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.20.1 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \

12、安装Pod网络插件(CNI)

flannel版本为0.15.0

kubectl apply -f ./kube-flannel.yml

该文件可以通过 github下载,网络不好可以通过 百度网盘下载,
提取码可留言获取

若通过github下载
在这里插入图片描述
需要先执行

docker load < flanneld-v0.15.0-amd64.docker

在执行

kubectl apply -f kube-flannel.yml

11、在k8s Node节点上执行 加入Kubernetes Node

在执行k8s join命令之前,需要先安装 flannel

kubeadm join 192.168.xxx.xxx:6443 --token 2x0anu.uy2jxxw08qxhvqie \
    --discovery-token-ca-cert-hash sha256:6da89bd656c92da89d751978405ee72b639b474dab0e855c5b4cb4351f2axxxx

若不记得token,需要在 k8s master节点执行一下命令

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

在这里插入图片描述

12、查看k8s node

kubectl get node

在这里插入图片描述

到此就安装结束了,需要 安装k8s Dashboard请移步

安装k8s Dashboard

除了 k8s Dashboard,还有一个界面工具 Kuboard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值