请编写一个 centos9 部署kubernetes1.30 的文档,要求一主二从
时间: 2024-10-09 08:07:16 浏览: 45
CentOS7实战Kubernetes部署
部署 Kubernetes(K8s)1.30 版本在 CentOS 9 系统上通常需要经过以下几个步骤,这里提供一个简化的概述:
**前提条件**
1. 安装最新版本的 CentOS 9 和相关依赖包。
2. 确保网络可达并且可以访问互联网。
**步骤1:更新系统并安装必要的软件包**
```sh
sudo yum update -y
sudo yum install -y epel-release # 如果还没有安装 EPEL (额外的软件仓库)
sudo yum install -y kubelet kubeadm kubectl kube-proxy etcd docker
```
**步骤2:配置防火墙**
允许 K8s 服务通过防火墙:
```sh
sudo firewall-cmd --permanent --add-service=etcd
sudo firewall-cmd --permanent --add-service=kube-apiserver
sudo firewall-cmd --permanent --add-service=kube-controller-manager
sudo firewall-cmd --permanent --add-service=kube-scheduler
sudo firewall-cmd --reload
```
**步骤3:初始化集群**
作为主节点,运行 `kubeadm init` 并加入控制平面组件:
```sh
# 在主节点上
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<主节点IP> --control-plane-endpoint=<主节点IP>:6443
mkdir -p /etc/kubernetes/manifests
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.15.0/Documentation/kube-flannel.yml
# 获取配置文件
sudo cp -i /etc/kubernetes/admin.conf ~/.kube/config
sudo chown $(whoami):$(whoami) ~/.kube/config
# 提示添加其他节点
kubeadm join <主节点IP>:6443 --token <token> --discovery-token-ca-cert-hash <hash>
```
将 `<主节点IP>`、`<主节点IP>:6443`、`<token>` 和 `<hash>` 替换为实际值。
**步骤4:配置从节点**
在从节点上,按照提示执行以下命令:
```sh
# 在从节点上
sudo kubeadm join <主节点IP>:6443 --token <token> --discovery-token-ca-cert-hash <hash>
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.15.0/Documentation/kube-flannel.yml
```
**步骤5:验证集群状态**
```sh
kubectl get nodes
```
确认所有节点都已成功加入到集群中。
**注意**
1. 这里假设您已经设置了静态 IP 或者使用了动态 DNS 解析。
2. 根据您的网络环境可能需要调整配置,如 flannel 配置等。
3. 为了保证安全,建议在生产环境中使用更高级别的认证机制(如 RBAC)和加密通信。
阅读全文