在 Ubuntu 上部署 Kubernetes 可以通过多种方式实现,以下是两种常见的方法:使用 kubeadm
部署高可用集群和使用 microk8s
简化部署。
kubeadm
部署高可用 Kubernetes 集群创建自定义的 CA 证书:
使用 OpenSSL 创建 CA 根证书,私钥文件是 ca.key
,证书文件是 ca.crt
,默认保存在 /etc/kubernetes/pki/
目录中。
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -subj "CN=master的主机IP" -days 证书的有效期 -out ca.crt
部署 etcd 高可用集群:
下载 etcd 的预编译二进制文件,解压后放到 /usr/bin/
,并将 etcd 部署为 systemd 型服务。配置 etcd 的 CA 证书,并在所有 etcd 节点上启动 etcd 服务,并设置为开机自动启动。
部署 Kubernetes-Master 高可用集群:
下载 Kubernetes-Master 角色所用的组件 kube-apiserver
、kube-scheduler
、kube-controller-manager
。为组件服务端 kube-apiserver
生成 CA 证书文件,并创建 systemd 管理配置文件。在所有 master 角色主机上分别启动 kube-apiserver
、kube-scheduler
、kube-controller-manager
服务,并设为开机自动启动。
为 Kubernetes-Master 集群创建负载均衡代理入口(使用 HAProxy 和 keepalived 实现)。
部署 Kubernetes-Slave 集群:
下载 Kubernetes-Slave 角色所用的组件 docker
(或 Containerd)、kubelet
、kube-proxy
的预编译二进制文件。
microk8s
简化部署microk8s
是 Kubernetes 的轻量级版本,适合在资源有限的环境中使用。以下是使用 microk8s
在 Ubuntu 上部署 Kubernetes 的步骤:
安装 microk8s
:
在主节点和 worker 节点上安装 microk8s
。
sudo snap install microk8s --classic
初始化主节点:
在主节点上执行以下命令,获取添加从节点的命令。
sudo microk8s init
添加从节点:
在从节点上执行主节点输出的命令,加入集群。
sudo microk8s join 192.168.2.24:25000/f872a823e90242ff12a3e3db202e3e05/030ba9fe293e --worker
配置 kubectl
:
在主节点上设置 kubectl
命令别名,方便使用。
sudo snap alias microk8s.kubectl kubectl
验证部署:
检查节点信息和集群信息。
sudo kubectl get nodes
sudo kubectl cluster-info
sudo kubectl get pods
sudo kubectl get services
以上是在 Ubuntu 上部署 Kubernetes 的两种方法,选择哪种方法取决于你的具体需求和环境。