Kubernetes1.22安装部署

70 阅读1分钟

准备工作

  1. 服务器Centos7
服务器IP角色
k8s-test-5110.10.20.51master
k8s-test-5210.10.20.52node
k8s-test-5310.10.20.53node
  1. 禁用selinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config
  1. 关闭防火墙
systemctl stop firewalld 
systemctl disable firewalld
  1. 禁用交换分区
sed -i '/swap/d' /etc/fstab
  1. 修改内核参数

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

cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
  1. 添加kubernetes源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enable=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
  1. 增加hosts解析
cat >> /etc/hosts << EOF
10.10.20.51 k8s-test-51
10.10.20.52 k8s-test-52
10.10.20.53 k8s-test-53
EOF
  1. 修改主机名
# 51服务器上执行
hostnamectl set-hostname k8s-test-51
# 52服务器上执行
hostnamectl set-hostname k8s-test-52
# 53服务器上执行
hostnamectl set-hostname k8s-test-53
  1. 安装docker、kubernetes
yum -y install docker kubeadm-1.22.0 kubelet-1.22.0 kubectl-1.22.0
  1. 设置开机启动
systemctl enable docker
systemctl enable kubelet

准备工作完成后建议重启下服务器

初始化集群

  1. master节点上初始化集群
kubeadm init \
--apiserver-advertise-address=10.10.20.51 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.22.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
  1. 安装网络插件
# 提前下载好flannel镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel2
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel2 docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel2
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flannel/flannel:v0.25.6
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/flannel/flannel:v0.25.6  docker.io/flannel/flannel:v0.25.6
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
  1. 纳管节点
# master节点上打印纳管节点命令
kubeadm token create --print-join-command

# node节点上执行打印的纳管节点命令即可
  1. 配置kubectl工具
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config
  1. 查看nodes状态
kubectl get nodes