-
实习的主要内容是搭建 kubernetes clusters 用于部署训练机器学习的模型,然后再将对集群的操作包装起来,为用户提供 API 来进行集群操作。(目前我理解的是做这个)
-
以前也没有使用过 k8s 或者 docker ,前几天花了一些时间了解。然后搭建起来了集群。现在记录一下使用 kubeadm 搭建集群用到的命令。墙内无法很顺利地执行这些命令,需要自己提前弄好网络环境。参考内容在这里
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
-
- Ubuntu16.04 上安装 Docker17.03
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")
或者使用官网的详细步骤
sudo apt-get remove docker docker-engine docker.io && sudo apt-get update && sudo apt-get install
apt-transport-https
ca-certificates
curl
software-properties-common -y && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable" && sudo apt-get update && apt-cache madison docker-ce && sudo apt-get install docker-ce=17.03.2ce-0ubuntu-xenial -y && sudo docker run hello-world
-
- 安装 kubelet, kubeadm, kubectl
sudo apt-get update && sudo apt-get install -y apt-transport-https curl && curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && sudo sh -c "cat </etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF" && sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
-
- 加入新的节点(具体 token hash 会变化)
首先执行 sudo kubeadm init --pod-network-cidr=10.244.0.0/16 #附带额外的网络插件,这里选择的是 canal
系统会自动输出后续执行的指令,照做即可。例如我这边是 sudo kubeadm join 10.0.0.4:6443 --token qvw8k8.zevwb172js5cczl6 --discovery-token-ca-cert-hash sha256:2de8e7ec2bf0d40ed5fc5750f83a376448bf93b89d3b415e07e01f6a8e8f2506
记录下来输出待会儿按要求执行,也需要用于添加 Node 组成集群。然后执行添加网络插件的命令:
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/canal/rbac.yaml
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/canal/canal.yaml