https://www.cnblogs.com/fan-gx/p/11108276.html ——主要参考这篇文章
(1)ca-config.json
(2)ca-csr.json ca-key.pem、ca.pem、ca.csr
(3)etcd-csr.json etcd-key.pem、etcd.pem、etcd.csr etcd组件
etcd是用来保存集群所有状态的 Key/Value 存储系统,常用于服务发现、共享配置以及并发控制(如 leader 选举、分布式锁等)。kubernetes 使用 etcd 存储所有运行数据。 所有 Kubernetes 组件会通过 API Server 来跟 Etcd 进行沟通从而保存或读取资源状态。有条件的可以单独几台机器跑,不过需要配置apiserver指向etcd集群。
(4)flanneld-csr.json flanneld-key.pem、flanneld.pem、flanneld.csr flannel组件
所有的节点都需要安装flannel,,主要目的是跨主机的docker能够互相通信,也是保障kubernetes集群的网络基础和保障
(5)admin-csr.json admin-key.pem、admin.pem、admin.csr kubectl
kube-scheduler,kube-controller-manager 和 kube-apiserver 三者的功能紧密相关;同时kube-scheduler 和 kube-controller-manager 只能有一个进程处于工作状态,如果运行多个,则需要通过选举产生一个 leader; kubectl 是 kubernetes 集群的命令行管理工具,默认从 ~/.kube/config 文件读取 kube-apiserver 地址、证书、用户名等信息,如果没有配置,执行 kubectl 命令时可能会出错。~/.kube/config只需要部署一次,然后拷贝到其他的master。
(6)kubectl.kubeconfig 创建kubectl.kubeconfig文件(即/root/.kube/config文件的内容)
(7)kubernetes-csr.json kubernetes-key.pem、kubernetes.pem、kubernetes.csr kube-apiserver组件
(8)encryption-config.yaml 加密配置文件(在kube-apiserver服务的配置文件中使用)
(9)bootstrap-tooken.csv 创建kube-apisrever使用的客户端令牌文件
(10)kube-controller-manager-csr.json kube-controller-manager-key.pem、kube-controller-manager.pem、kube-controller-manager.csr kube-controller-manager组件
该集群包含 3 个节点,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当 leader 节点不可用后,剩余节点将再次进行选举产生新的 leader 节点,从而保证服务的可用性。
(11)kube-controller-manager.kubeconfig 创建kube-controller-manager.kubeconfig文件(在kube-controller-manager服务的配置文件中使用)
(12)kube-scheduler-csr.json kube-scheduler-key.pem、kube-scheduler.pem、kube-scheduler.csr kube-scheduler组件
该集群包含 3 个节点,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当 leader 节点不可用后,剩余节点将再次进行选举产生新的 leader 节点,从而保证服务的可用性
(13)kube-scheduler.kubeconfig 创建kube-scheduler.kubeconfig文件(在kube-scheduler服务的配置文件中使用)
(14)kubelet.config.json kubelet配置文件在kubelet服务的配置文件中使用)
(15)kubelet-bootstrap-k8s-m12.kubeconfig 创建kubelet-bootstrap-k8s-m12.kubeconfig文件(在kubelet服务的配置文件中使用)
kubelet运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec、run、logs 等。kubelet 启动时自动向 kube-apiserver注册节点信息,内置的 cadvisor 统计和监控节点的资源使用情况。
(16)kube-proxy-csr.json kube-proxy-key.pem、kube-proxy.pem、kube-proxy.csr kube-proxy组件
kube-proxy 运行在所有 worker 节点上,,它监听 apiserver 中 service 和 Endpoint 的变化情况,创建路由规则来进行服务负载均衡。
(17)kube-proxy.kubeconfig 创建kube-proxy.kubeconfig文件(在kube-proxy.config.yaml文件中使用)
(18)kube-proxy.config.yaml 创建kube-proxy配置文件(在kube-proxy服务的配置文件中使用)
- 搭建过程中遇到的问题:
- [root@master-binary ssl]# vim /etc/systemd/system/kubelet.service
--bootstrap-kubeconfig=/etc/kubernetes/ssl/kubelet-bootstrap-master-binary.kubeconfig \ ——注意kubelet.service文件中的bootstarp-kubeconfig文件是自己生成的kubelet-bootstrap-master-binary.kubeconfig文件。而非文章中写的kubelet-bootstrap.kubeconfig。 - [root@master-binary flannel]# etcdctl --ca-file=/etc/kubernetes/ssl/ca.pem --cert-file=/etc/kubernetes/ssl/flanneld.pem --key-file=/etc/kubernetes/ssl/flanneld-key.pem ls /kubernetes/network/subnetss
Error: 100: Key not found (/kubernetes/network/subnetss) [4]——按照文章中的顺序,执行这条命令会报上面的错误。编辑完/etc/systemd/system/flannel.service文件,并启动好flannel.service服务之后,再执行这条命令就不会报错。
https://www.cnblogs.com/xzkzzz/p/8979808.html ——搭配上面那篇文章,查看各参数的含义
http://docs.kubernetes.org.cn/831.html ——搭配上面那篇文章,查看(--experimental-encryption-provider-config) 参数的含义
https://www.zhihu.com/people/haoxifer/posts ——次要参考这篇文章