1 环境说明
1、内网两台服务器,192.168.1.163和192.168.1.166,计划将163作为集群的master节点,166作为集群的从节点
2、两台服务器是centos 7, linux内核是3.10以上的。内存4G,cpu两核,这个是必要条件
2 安装步骤
参考文档:https://www.sealyun.com/instructions
利用sealyun这个神器一键安装
3 查看一下安装k8s后的具体信息
根据k8s的官网资料显示,一个干净的集群架构如下所示:
1、首先在主节点上执行kubectl get nodes查看当前的节点信息
2、既然节点没有问题, 那么主节点163上面,应该会启动apiServer、scheduler、etcd、Controller-manager等服务才对,那么去163上执行如命令:ps aux|grep kube
从这里可以看到:kube-controller-manager、kube-apiserver、kube-scheduler、etcd。主节点的这几个服务确定都是启动成功的。而且主节点也启动了kube-proxy服务。然后看一下主节点里面占用的端口
有点没有理解的是,为什么kubelet也会占用端口?还有3个
3、然后去从节点看一下
奇怪,这里也有3个kubelet,而且kube-proxy还占用了两个端口
4、Kubelet:负责维护容器的生命周期,即通过控制docker,来创建、更新、销毁容器
5、KubeProxy:负责提供集群内部的服务发现和负载均衡
整体来说,集群搭建起来后,启动的服务和预期的效果是一致的。那么接下来看一下pod
6、在主节点上执行kubectl get pod --all-namespaces
这里显然是k8s集群里面安装的calico网络插件,其中colico-controller是主节点上的,同时calico-node在主节点和从节点上都有,calico的作用好像是为了实现一个集群里面的内网。具体后续再分析吧
而这个coredns为什么要启动两个pod?是为了保证安全吗 不过coredns的作用的话,是用于内网域名的解析的,在k8s集群里面创建了service后,会有一个默认域名,这个默认域名之所以能映射到对应的内网ip地址,就是这个coredns的功劳
这几个就没有什么好说的了,基本上都是集群架构图里面有体现到的
至于这个服务,好像是因为我用的sealyun来安装了,所以启动的一个pod吧。此时如果我想看看这个pod到底是干嘛的,那么就执行下面这个命令来仔细看一看:
kubectl edit pod kube-sealyun-lvscare-k8s-node01 -n kube-system
其实从ip地址发现是1.166,差不多知道是从节点上的一个服务了。
4 总结
主要了解了一下k8s集群的安装,以及启动集群后的服务信息,不过集群如果重启我还没找到,可能是需要重启那些服务吧。不过奇怪为什么没有快捷命令,可能是我没有找到,后续再看