角色 | IP | 组件 | 安装方式 | 系统版本 |
---|---|---|---|---|
K8s-master1 | 192.168.66.62 | kube-apiserver kube-controller-manager kube-scheduler etcd calico kubelet kube-proxy containerd |
二进制安装 | CentOS 7.6 |
K8s-master2 | 192.168.66.63 | kube-apiserver kube-controller-manager kube-scheduler etcd calico kubelet kube-proxy containerd |
二进制安装 | CentOS 7.6 |
K8s-master3 | 192.168.66.64 | kube-apiserver kube-controller-manager kube-scheduler etcd calico kubelet kube-proxy containerd |
二进制安装 | CentOS 7.6 |
K8s-worker1 | 192.168.66.65 | calico kubelet kube-proxy containerd |
二进制安装 | CentOS 7.6 |
K8s-worker2 | 192.168.66.66 | calico kubelet kube-proxy containerd |
二进制安装 | CentOS 7.6 |
K8s-worker3 | 192.168.66.67 | calico kubelet kube-proxy containerd |
二进制安装 | CentOS 7.6 |
环境 | 角色 | CPU | 内存 | 硬盘 |
---|---|---|---|---|
生产环境 | Master | 8C | 16G | 100G |
--- | Worker | 16C | 32 G | 500G |
- 【cri】https://github.com/kubernetes-sigs/cri-tools/releases/
- 【runc】https://github.com/opencontainers/runc/releases/
- 【cni】https://github.com/containernetworking/plugins/releases/
- 【containerd】https://github.com/containerd/containerd/releases/
(1)Linux 内核的版本必须是否是 3.10 以上?
(2)Linux Cgroups 模块是否可用?
(3)机器的 hostname 是否标准?在 Kubernetes 项目里,机器的名字以及一切存储在 Etcd 中的 API 对象,都必须使用标准的 DNS 命名(RFC 1123)。
(4)Kubernetes 的工作端口 10250/10251/10252 端口是不是已经被占用?
(5)硬件要求:您需要确保集群节点有足够的CPU、内存和存储资源来支持Kubernetes的运行和扩展。此外,还需要确保网络连接稳定。
(6)操作系统要求:Kubernetes支持多种操作系统,您需要选择适合您的环境和需求的操作系统。您还需要检查操作系统版本和内核参数是否满足Kubernetes的要求。
(7)网络配置:在部署Kubernetes之前,您需要定义网络拓扑,并配置网络插件和服务代理以便容器可以相互通信。
(8)安全策略:您需要确定Kubernetes的访问控制和认证策略,并实施相应的安全措施,如TLS加密和防火墙设置等。
(9)高可用性和负载均衡:您需要确定如何配置高可用性和负载均衡,以确保集群的可靠性和性能。
对于每个环境和部署场景,可能需要采取不同的决策和配置