温馨提示×

Debian上Kubernetes安装后如何启动服务

小樊
50
2025-10-25 13:24:06
栏目: 智能运维

Debian上Kubernetes安装后启动服务的步骤

1. 启动kubelet服务

kubelet是Kubernetes节点上的核心代理,负责管理节点上的Pod、容器及卷等资源。在每个节点(包括主节点和工作节点)上执行以下命令启动kubelet:

sudo systemctl start kubelet
sudo systemctl enable kubelet  # 设置开机自启

通过sudo systemctl status kubelet检查状态,确保服务处于active (running)状态。

2. 验证kubelet运行状态

使用以下命令确认kubelet是否正常运行:

sudo systemctl status kubelet

若状态显示为active (running),则表示kubelet已成功启动;若存在错误,可通过journalctl -u kubelet查看详细日志排查问题。

3. 启动kube-proxy服务

kube-proxy是Kubernetes网络代理,负责实现Service的网络规则(如负载均衡、端口转发)。在每个节点上执行以下命令启动kube-proxy:

sudo systemctl start kube-proxy
sudo systemctl enable kube-proxy  # 设置开机自启

通过sudo systemctl status kube-proxy检查状态,确保服务正常运行。

4. 验证集群组件状态

使用kubectl命令检查Kubernetes控制平面组件(如API Server、Controller Manager、Scheduler)的状态:

kubectl get componentstatuses

若所有组件的STATUS列显示为Healthy,则表示控制平面组件已正常启动。

5. 检查节点状态

确认节点是否已加入集群并处于Ready状态:

kubectl get nodes

若节点状态为Ready,则表示节点已成功注册到集群并可接收Pod调度。

6. 部署测试Pod验证服务

通过部署一个简单的Nginx Pod验证集群服务是否正常工作:

kubectl run nginx --image=nginx --port=80

使用以下命令检查Pod状态:

kubectl get pods

若Pod状态为Running,则表示Pod已成功启动。

7. 访问测试服务

若需访问Nginx服务,可为其创建一个Service(如NodePort类型):

kubectl expose deployment nginx --type=NodePort --port=80

获取Service的ClusterIP或NodePort:

kubectl get svc nginx

通过curl http://<ClusterIP>:<NodePort>或浏览器访问Nginx服务,验证服务是否可达。

注意事项

  • 确保节点间网络互通,防火墙放行Kubernetes相关端口(如6443、10250等);
  • 若使用网络插件(如Calico、Flannel),需提前安装并配置,确保Pod间通信正常;
  • 生产环境中建议使用私有镜像仓库,并配置镜像安全扫描。

0