溫馨提示×

centos如何驗證k8s安裝成功

小樊
44
2025-10-01 00:57:24
欄目: 智能運維

CentOS驗證K8s安裝成功的核心步驟

在CentOS上安裝Kubernetes(K8s)后,需通過組件狀態檢查、節點就緒驗證、Pod與服務功能測試三大維度確認安裝是否成功。以下是具體操作及說明:

1. 檢查Kubernetes核心組件服務狀態

確保kubelet(節點代理)、kube-apiserver(集群API入口)、etcd(分布式鍵值存儲)等核心服務正在運行,這是K8s正常工作的基礎。

systemctl status kubelet    # 應顯示"Active: active (running)"
systemctl status kube-apiserver  # 主節點需運行,顯示"Active: active (running)"
systemctl status etcd       # 主節點需運行,顯示"Active: active (running)"

若服務未啟動,可通過systemctl start <服務名>啟動,并用journalctl -u <服務名>查看日志排查問題。

2. 驗證節點狀態(關鍵指標:Ready)

使用kubectl命令查看集群中所有節點的狀態,所有節點必須顯示為"Ready"(表示節點已成功加入集群并可接收工作負載)。

kubectl get nodes

預期輸出示例:

NAME         STATUS   ROLES           AGE   VERSION
k8s-master   Ready    control-plane   10m   v1.28.2
k8s-node1    Ready    <none>          5m    v1.28.2

若節點狀態為"NotReady",需檢查節點間網絡連通性、防火墻設置(需放行K8s默認端口,如6443、10250等)或kubelet日志(journalctl -u kubelet)。

3. 檢查kube-system命名空間的Pod運行狀態

kube-system命名空間包含K8s核心組件(如CoreDNS、kube-proxy、Calico等),這些Pod的正常運行是集群功能完整的前提。

kubectl get pods -n kube-system

預期輸出示例(所有Pod狀態應為"Running"):

NAME                                      READY   STATUS    RESTARTS   AGE
coredns-5dd5756b68-abcde                  1/1     Running   0          8m
kube-apiserver-k8s-master                 1/1     Running   0          10m
kube-controller-manager-k8s-master        1/1     Running   0          10m
kube-proxy-xyz123                         1/1     Running   0          8m
kube-scheduler-k8s-master                 1/1     Running   0          10m

若有Pod處于"Pending"、"CrashLoopBackOff"等異常狀態,需通過kubectl describe pod <pod名> -n kube-system查看詳情,常見原因包括網絡插件未安裝、資源不足等。

4. 測試Pod部署與管理功能

創建一個簡單的Nginx Pod,驗證K8s是否能正常調度、啟動容器:

kubectl run nginx --image=nginx --port=80 --restart=Never  # 創建單次運行的Nginx Pod
kubectl get pods  # 檢查Pod狀態,應為"Running"

預期輸出:

NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          2m

進一步驗證Pod是否可訪問:

kubectl port-forward nginx 8080:80  # 將Pod的80端口映射到本地的8080端口
curl http://localhost:8080          # 應返回Nginx默認頁面的HTML內容

若無法訪問,需檢查Pod的日志(kubectl logs nginx)或節點網絡配置。

5. 測試Service的負載均衡功能(可選但推薦)

創建一個NodePort類型的Service,暴露Nginx服務到集群外部,驗證Service是否能正確路由流量:

kubectl create deployment my-nginx --image=nginx --port=80  # 創建Deployment
kubectl expose deployment my-nginx --type=NodePort --port=80  # 暴露為NodePort Service
kubectl get svc  # 查看Service的外部端口(如"30080:80/TCP")

預期輸出:

NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
my-nginx     NodePort    10.96.123.45    <none>        80:30080/TCP   1m

通過任意節點的IP和外部端口訪問Nginx:

curl http://<節點IP>:30080  # 應返回Nginx默認頁面

若無法訪問,需檢查Service的Endpoints(kubectl describe svc my-nginx)是否包含正常運行的Pod IP。

通過以上步驟逐一驗證,若所有檢查項均符合預期(節點Ready、Pod運行正常、服務可訪問),則說明CentOS上的K8s安裝成功。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女