记录下平台从 Docker Swaerm 转变到 Kubernetes 的过程。

  1. 先装台 Ubuntu 18 的机器,作为主控机。

2. 先得把机器上的 swap 关了。

swapoff -a
vi /etc/fstab
3. 然后把 Docker 给装上。
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl start docker
sudo systemctl enable docker

4. 然后配置一下 Docker。

cat <<EOF > /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "registry-mirrors": [
    "https://***.mirror.aliyuncs.com"
  ]
}
EOF

5. 再来安装下 K8S 相关组件。

curl -s 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
apt-mark hold kubelet kubeadm kubectl

6. 来初始化一下主控。

kubeadm init --apiserver-advertise-address=<你的网卡 Ip> --pod-network-cidr=10.244.0.0/16  --service-cidr=10.244.0.0/12

把最后的加入命令记下。

7. 再在原先 swarm 的节点机上操作一下上面的 2~6 步。

8. 然后用 kubeadm init 最后给出的那个命令把节点加入集群。

9. 然后安装网络插件。

这里我们用 Calico。

wget https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f tigera-operator.yaml
wget https://docs.projectcalico.org/manifests/custom-resources.yaml
vi custom-resources.yaml # 把里面的 ip段 改成 10.244.0.0/16
kubectl create -f custom-resources.yaml