明天咱们来到了最好玩的环节,就是部署咱们的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

所有节点都要装置

  1. kubelet 运行cluster所有节点上,负责启动pod和容器
  2. kubeadm:用于初始化cluster
  3. 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在初始化的时候做了一些的操作

  1. k8s 执行前查看
  2. 生成token和证书
  3. 生成KubeConfig文件,kubelet须要这个文件与Master通信
  4. 装置Master组件,会从Googel的Registry下载Docker镜像
  5. 装置kube-proxy和kube-dns
  6. k8s初始实现
  7. 提醒配置kubectl
  8. 提醒如何装置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 来查看节点