Kubernetes 1.23 版本kubeadm 安装部署
安装环境
安装步骤
PS 下面步骤在master 和 worker 节点都需要执行
1、修改主机名
hostnamectl set-hostname master-01 cat >> /etc/hosts << EOF 172.28.32.1 master-01 172.28.32.2 worker-01 EOF
2、配置Centos 7.9 阿里云官方源
mkdir -p /etc/yum.repos.d/back find /etc/yum.repos.d/ -type f -exec mv {} /etc/yum.repos.d/back/ \; curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
3、关闭firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
4、关闭交换分区及selinux
sed -i.bak '/swap/s/^/#/' /etc/fstab sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
5、配置内核转发等相关参数
modprobe br_netfilter cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF cat << EOF >> /etc/sysctl.conf net.ipv4.ip_forward=1 EOF chmod a+x /etc/rc.local echo "source /etc/profile" >> /etc/rc.local echo "modprobe br_netfilter" >> /etc/rc.local echo "sysctl -p /etc/sysctl.d/k8s.conf" >> /etc/rc.local echo "sysctl -p" >> //etc/rc.local reboot # 重启时因为需要重新检测selinux 的策略
6、安装docker
yum -y install wget yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo yum list docker-ce --showduplicates | sort -r yum remove docker-ce docker-ce-cli containerd.io yum install -y docker-ce-20.10.8 docker-ce-cli-20.10.8 containerd.io systemctl enable docker --now # 这里设置cgroup 的类型为 systemd cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["https://2ywfua5b.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"] } EOF systemctl daemon-reload systemctl restart docker
7、安装kubelet、kubeadm、kubectl
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF yum remove kubeadm kubectl kubelet kubernetes-cni cri-tools socat yum --showduplicates list kubeadm yum -y install kubeadm-1.23.8 kubectl-1.23.8 kubelet-1.23.8 systemctl enable kubelet
8、kubeadm 初始化集群
PS: 仅限MASTER 节点执行
PS: 下面操作是用来做init 之前预先拉取镜像操作, 但是个人测试这个方法并不如init 时指定的 --image-repository 好用 kubeadm config images list #!/bin/bash url=registry.cn-hangzhou.aliyuncs.com/google_containers # 安装指定的kubectl版本, 这里的版本以实际 kubeadm config images list 显示的版本为准 version=v1.23.9 # 上面查出来的coredns版本号 coredns=v1.8.6 images=(`kubeadm config images list --kubernetes-version=$version|awk -F '/' '{print $2}'`) for imagename in ${images[@]} ; do if [ $imagename = "coredns" ] then docker pull $url/coredns:$coredns docker tag $url/coredns:$coredns k8s.gcr.io/coredns/coredns:$coredns docker rmi -f $url/coredns:$coredns else docker pull $url/$imagename docker tag $url/$imagename k8s.gcr.io/$imagename docker rmi -f $url/$imagename fi done docker images
kubeadm init --kubernetes-version=1.23.8 --apiserver-advertise-address=172.28.32.1 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers
9、对集群做config 认证
PS: 仅限MASTER 节点执行
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
10、worker 节点加入集群
PS: 仅限WORKER节点执行
kubeadm join 172.28.32.1:6443 --token i2meul.73ipaykm3jc2k6vs --discovery-token-ca-cert-hash sha256:9e6d95ffc5ba78a5c71352ffcc9bca2330b17264ebc44facf6359b1ac153f33f
11、安装网络组件请参考此文档
PS: 仅限MASTER 节点执行
https://v1-23.docs.kubernetes.io/zh/docs/concepts/cluster-administration/networking/#flannel
心若向阳,无谓悲伤!