本篇文章详细介绍了在CentOS 7.5环境下安装和部署Kubernetes(K8s)集群的过程。首先,作者列出了用于部署的服务器环境,包括master节点(192.168.124.209)和两个node节点(192.168.124.236和192.168.124.237),以及一个Harbor服务器(192.168.124.136)。Kubernetes的部署依赖于安全的TLS通信,因此文章重点讲述了如何创建和管理TLS证书和密钥。
1. **环境说明**:
部署环境包括一台作为master节点的CentOS 7.5服务器(192.168.124.209)以及两台作为node节点的4C8G服务器(192.168.124.236和192.168.124.237)。Harbor服务器负责存储镜像,提供私有镜像仓库服务。
2. **创建TLS证书和密钥**:
为了保证集群内部通信的安全性,文章提到使用CloudFlare的PKI工具集cfssl生成了多个证书,如CA证书(ca.pem)、apiserver证书(kubernetes.pem)等。这些证书将分别用于etcd、kube-apiserver、kubelet、kube-proxy、kubectl和kube-controller-manager组件之间的身份验证和数据传输加密。证书的生成和分发是整个部署流程中的关键步骤,仅需在master节点上创建一次,并在新节点加入时同步证书。
3. **安装CFSSL**:
为了生成证书,文章建议从源代码安装CFSSL工具,通过`wget`命令下载并安装最新版本,确保证书生成过程的正确性和安全性。
4. **部署流程**:
- **高可用etcd集群**:etcd是Kubernetes的核心组件,负责存储和管理集群状态。创建高可用的etcd集群是Kubernetes部署中的重要环节。
- **部署master节点**:涉及安装kube-apiserver、kube-controller-manager和kube-scheduler等核心服务,同时配置它们使用上述生成的证书。
- **安装flannel网络插件**:flannel提供了容器网络策略,确保节点间的网络连接。
- **部署node节点**:在node节点上安装kubelet和kube-proxy,同样配置它们使用相应的证书。
- **安装CoreDNS**:CoreDNS用于处理服务发现,帮助客户端查找服务IP地址。
- **安装dashboard**:提供Kubernetes集群的可视化管理界面。
- **安装metrics-server**:监控和收集Kubernetes集群的性能指标。
本文档是一份详细的Kubernetes在CentOS 7.5环境中部署指南,着重于系统安全设置和组件安装,旨在帮助读者构建一个安全、高效的Kubernetes集群。