安装系统 ubuntu19.10
添加阿里的docker源,安装docker
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable"
sudo apt-get install docker-ce
修改docker daemon配置:
cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
开启ip_vs
cat > /etc/rc.local << EOF
#! /bin/bash
sudo modprobe -- ip_vs
sudo modprobe -- ip_vs_rr
sudo modprobe -- ip_vs_wrr
sudo modprobe -- ip_vs_sh
sudo modprobe -- br_netfilter
exit 0
EOF
sudo apt-get install ipset ipvsadm -y
开启ipforward
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
net.ipv4.conf.all.rp_filter=1
EOF
sysctl -p /etc/sysctl.d/k8s.conf
添加kubernetes源,安装kubeadm工具
cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF
gpg --keyserver keyserver.ubuntu.com --recv-keys BA07F4FB
gpg --export --armor BA07F4FB | sudo apt-key add -
sudo apt-get update
sudo apt-get install kubeadm kubelet kubectl
sudo systemctl enable kubelet
初始化master
sudo kubeadm init --kubernetes-version=1.16.0 --apiserver-advertise-address=0.0.0.0 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
完成这一步后,执行kubectl get node,发现单节点的master的信息已有,但是状态notready,需要安装网络插件。
安装calico网络插件
curl https://docs.projectcalico.org/v3.9/manifests/calico.yaml -O
## 此处为10.244.0.0/16
POD_CIDR="<your-pod-cidr>"
sed -i -e "s?192.168.0.0/16?$POD_CIDR?g" calico.yaml
kubectl apply -f calico.yaml
##单节点集群,取消master的污点标记
kubectl taint nodes --all node-role.kubernetes.io/master-