Ubuntu20.04安装K8s
2022-07-22k8skinghu619°c
A+ A-1.禁止swap分区
# 注释掉swap一行 sudo vi /etc/fstab
2.更改net.bridge.bridge-nf-call-iptables的值为1.(Ubuntu 20.04默认为1)
sudo cat >>/etc/sysctl.d/k8s.conf<< EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --system
3.安装Docker
sudo apt update && sudo apt -y upgrade sudo apt install -y docker.io sudo systemctl start docker && sudo systemctl enable docker
4.安装kubelet kubeadm kubectl
# 依赖包 sudo apt-get update && sudo apt -y upgrade # ubuntu用下面这个 sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-https # debian 用下面这个 sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-https gnupg2 lsb-release sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - sudo cat >>/etc/apt/sources.list.d/kubernetes.list <<EOF deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main #deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-focal main EOF sudo apt-get update && sudo apt -y upgrade sudo apt-get install -y kubelet kubeadm kubectl # 或者1.21.0-00 sudo apt install -y kubeadm=1.21.0-00 kubelet=1.21.0-00 kubectl=1.21.0-00 sudo apt-mark hold kubelet kubeadm kubectl systemctl enable kubelet systemctl enable docker # 初始化 kubeadm init \ --apiserver-advertise-address=192.168.66.33 \ --apiserver-cert-extra-sans=192.168.66.157 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.21.0 \ --service-cidr=10.20.0.0/16 \ --pod-network-cidr=10.150.0.0/16 --v=5 # --service-cidr和--pod-network-cidr,必须不同网段,不能冲突 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
5.网络安装
flannel,需要在kubeadm init 时设置 --pod-network-cidr=10.244.0.0/16
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
weave
sysctl net.bridge.bridge-nf-call-iptables=1 kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
calico需要 kubeadm init 时设置 --pod-network-cidr=192.168.0.0/16
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/install