Skip to content

Instantly share code, notes, and snippets.

@yankay
Last active June 21, 2022 08:42
Show Gist options
  • Select an option

  • Save yankay/9f2dedff708e14e24e0f5c8f333d7ea2 to your computer and use it in GitHub Desktop.

Select an option

Save yankay/9f2dedff708e14e24e0f5c8f333d7ea2 to your computer and use it in GitHub Desktop.
快速创建 kubeadm 集群 (Ubuntu)
# 适用于 Ubuntu、x86 和 arm版本
export POD_CIDR="192.168.0.0/16"
export K8S_GCR_REPO=k8s-gcr.m.daocloud.io
# 配置内核
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
# 安装 Containerd
apt-get install -y containerd
systemctl daemon-reload
systemctl enable --now containerd
cd /tmp
wget "http://ghproxy.com/https://github.com/containerd/nerdctl/releases/download/v0.21.0/nerdctl-0.21.0-linux-amd64.tar.gz"
tar -zxvf nerdctl-0.21.0-linux-amd64.tar.gz
mv nerdctl /usr/local/bin/
# 安装 kubelet kubeadm kubectl
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
# 安装 kubeadm init
kubeadm config images pull --image-repository "${K8S_GCR_REPO}"
kubeadm init --pod-network-cidr=$POD_CIDR --image-repository "${K8S_GCR_REPO}"
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 安装 Calico TODO
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
watch kubectl get pods -n calico-system
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment