明天咱们来到了最好玩的环节,就是部署咱们的k8s cluster集群服务。个别的集群环境无3不成群,所以个别的起码单元咱们都须要3台服务器,比方下图所示。
k8s-master是Master,k8s-node1和k8s-node2是node节点,也能够认为slave节点。
在国内应用最多的零碎是centos,为了方便使用ubuntu是的,因为apt的软件库是真的很弱小。
咱们装置能够参考https://kubernetes.io/docs/setup/independent/install-kubeadm
留神的是,k8s的所有组件和docker镜像都放在Google本人的网站,也就被墙掉了,不过好在阿里是国内最好服务平台支持者,也是国内软件的贡献者,因为他搞阿里云服务寰球第三,这些源也是提供的。须要咱们本人批改
个别的企业也不会本人搭建k8s,都是买阿里云或者rander的,这里的话大略理解一下就好了
装置Dokcer 所有的节点都须要装置Docker
apt-get update && apt-get install docker.io
装置kubelet,kubeadm和kubectl
所有节点都要装置
- kubelet 运行cluster所有节点上,负责启动pod和容器
- kubeadm:用于初始化cluster
- kubectl:就是命令行控制台咯,对资源和容器进行CRUD
#应用root用户操作apt-get update && apt-get install -y apt-transport-httpscurl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.listdeb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial mainEOF apt-get updateapt-get install -y kubelet kubeadm kubectl
初始化Master
kubeadm init -apiserver-advertise-address 192.168.65.120 --pod-netword-cidr=10.244.0.0/16
-apiserver-advertise-address 值得是用那个Master的那个interface与Cluster的其余节点通信。
--pod-netword-cidr 是Pod的网络范畴
看到这一串内容阐明创立胜利,并copy操作mkidr那一部分内容。而后看到那个join的货色嘛?那个是在节点主机操作的。
k8s在初始化的时候做了一些的操作
- k8s 执行前查看
- 生成token和证书
- 生成KubeConfig文件,kubelet须要这个文件与Master通信
- 装置Master组件,会从Googel的Registry下载Docker镜像
- 装置kube-proxy和kube-dns
- k8s初始实现
- 提醒配置kubectl
- 提醒如何装置Pod网络
9。 提醒如何注册其余节点到Cluster
配置Kubectl
## 其实就是刚刚执行胜利后的那串货色su - ubuntumkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.config $HOME/.kube/configsudo shown $(id -u):$(id -g) $HOME/.kube/config
装置Pod 网络
要集群能工作必须装置这个,要不Pod无奈进行通信,有很多网络计划,这里用到的是flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
而后咱们就能够增加node1和node2的节点,拷贝刚刚init胜利后的命令
kubeadm join --token d38a01.1361dsdsfdfg980 192.168.65.120:6443
咱们能够通过 kubectl get nodes 来查看节点