1. 程式人生 > 其它 >kubeadm部署新版本k8s叢集基本命令

kubeadm部署新版本k8s叢集基本命令

1.基礎環境
modprobe br_netfilter

cat >> /etc/sysctl.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF
sysctl -p

2.安裝容器執行時環境
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF

systemctl daemon-reload
systemctl start docker
systemctl enable docker

3.部署kubernetes主節點
cat > /etc/yum.repos.d/kubeadm.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

yum install -y kubeadm kubelet kubectl
systemctl enable kubelet.service
kubeadm init --control-plane-endpoint "192.168.200.140:6443" --pod-network-cidr 10.10.0.0/16 --service-cidr 172.16.0.0/16 \
--image-repository registry.aliyuncs.com/google_containers --upload-certs | tee kubeadm-init.log

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

docker run --network host --rm plndr/kube-vip:latest manifest pod --interface ens33 --vip 192.168.200.140 \
--arp --leaderElection --startAsLeader | tee /etc/kubernetes/manifests/kube-vip.yaml

4.部署cni網路外掛
wget -O calico.yaml --no-check-certificate https://docs.projectcalico.org/manifests/calico.yaml
vim calico.yaml
            - name: CALICO_IPV4POOL_CIDR
              value: "10.10.0.0/16"

kubectl apply -f calico.yaml

5.kubectl命令補全
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
kubectl completion bash > /etc/bash_completion.d/kubectl
source /etc/bash_completion.d/kubectl