每天打卡5分钟,学习k8s

今天我们来到了最好玩的环节,就是部署我们的k8s cluster集群服务。一般的集群环境无3不成群,所以一般的最少单元我们都需要3台服务器,比如下图所示。
每天打卡5分钟,学习k8s
文章图片

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-https curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat </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

初始化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的东西嘛?那个是在节点主机操作的。
每天打卡5分钟,学习k8s
文章图片

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 - ubuntu mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.config $HOME/.kube/config sudo 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 来查看节点
【每天打卡5分钟,学习k8s】每天打卡5分钟,学习k8s
文章图片

    推荐阅读