k8s安装配置运行
安装环境建议
k8s系统由一组可执行程序组成,可在GitHub上k8s项目页面下载编译好的二进制安装包,也可直接下载其源码编译后安装。
安装环境可参照k8s官网,建议如下:
- 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令
- 每台机器 2 GB 或更多的 RAM (如果少于这个数字将会影响你应用的运行内存)
- 2 CPU 核或更多
- 集群中的所有机器的网络彼此均能相互连接(公网和内网都可以)
- 节点之中不可以有重复的主机名、MAC 地址或 product_uuid。请参见这里了解更多详细信息。
- 开启机器上的某些端口。请参见这里 了解更多详细信息。
- 禁用交换分区。为了保证 kubelet 正常工作,你必须 禁用交换分区。
软硬件 | 推荐配置 |
---|---|
CPU/内存 | Master:至少2C2G Node:根据具体需要运行的容器数量调整 |
Linux操作系统 | Redhat 7+ Centos 7+ |
K8S | 1.18+ 下载地址及说明:https://github.com/kubernetes/kubernetes/releases |
docker | 1.13+ 下载地址及说明:https://www.docker.com |
etcd | 3+ 下载地址及说明:https://github.com/coreos/etcd/releases |
版本偏差策略
kube-apiserver
在HA 集群中, 多个 kube-apiserver
实例小版本号最多差1。
kubelet
kubelet
版本号不能高于 kube-apiserver
,最多可以比 kube-apiserver
低两个小版本。
说明: 如果 HA 集群中多个
kube-apiserver
实例版本号不一致,相应的kubelet
版本号可选范围也要减小。
kube-controller-manager、 kube-scheduler 和 cloud-controller-manager
kube-controller-manager
、kube-scheduler
和 cloud-controller-manager
版本不能高于 kube-apiserver
版本号。 最好它们的版本号与 kube-apiserver
保持一致,但允许比 kube-apiserver
低一个小版本(为了支持在线升级)。
说明: 如果在 HA 集群中,多个
kube-apiserver
实例版本号不一致,他们也可以跟 任意一个kube-apiserver
实例通信(例如,通过 load balancer), 但kube-controller-manager
、kube-scheduler
和cloud-controller-manager
版本可用范围会相应的减小。
kubectl
kubectl
可以比 kube-apiserver
高一个小版本,也可以低一个小版本。
说明: 如果 HA 集群中的多个
kube-apiserver
实例版本号不一致,相应的kubectl
可用版本范围也会减小。