常用 kubectl 指令操作示例


Kubectl 作為客戶端CLI工具,可以讓用戶通過命令行的方式對kubernetes 集群進行操作。

命令格式:

Kubectl [command]  [TYPE]  [NAME]  [flags]

實例:

1.創建資源對象.

根據yaml配置文件一次性創建service和rc:

# kubectl create -f my-service.yaml -f my-rc.yaml

根據<directory> 目錄下所有.yaml、.yml、.json文件的定義進行創建操作:

# kubectl create -f <directory>

2.查看資源對象

查看所有pod列表:

# kubectl get pod

查看rc和service列表:

# kubectl get rc,service

3.描述資源對象

查看labels

# kubectl get nodes --show-labels

顯示Node的詳細信息:

# kubectl describe nodes <node-name>

顯示pod的詳細信息:

#kubectl describe pods <pod-name>

顯示由RC管理的pod的信息:

#kubectl describe pods <rc-name>

4.刪除資源對象:

基於pod.yaml定義的名稱刪除pod:

#kubectl delete –f pod.yaml

刪除所有包含某個label的pod和service:

#kubectl delete pods,services –l name=<label-name>

刪除所有pod:

#kubectl delete pods --all

5.執行容器的命令 

執行pod 的date命令,默認使用pod的第一個容器執行:

#kubectl exec <pod-name> date

指定pod中某個容器執行date命令:

#kubectl exec <pod-name> -c <container-name> date

通過bash獲得pod中某個容器的TTY,相當於登錄容器:

#kubectl exec –it <pod-name> -c <container-name> /bin/bash 

6.查看容器的日志

查看容器輸出到stdout的日志

#kubectl logs <pod-name>

跟蹤查看容器的日志,相當於tail –f命令的結果:

#kubectl logs –f <pod-name> -c <container-name>

kubectl label指令: 更新資源對象的Label屬性

Label(標簽)作為用戶可靈活定義的對象屬性,在正在運行的資源對象上,仍然可以隨時通過kubectl label命令對其進行增加、修改、刪除等操作.

1.>給已創建的Pod添加一個標簽 role=backend 其中 frontend-9db27為pod名稱.

[root@k8s-master ~]# kubectl label pod frontend-9db27 role=backend
pod "frontend-9db27" labeled

2.>查看該Pod的Label:

[root@k8s-master ~]# kubectl get pods -Lrole
NAME             READY     STATUS    RESTARTS   AGE       ROLE
frontend-9db27     1/1        Running   0          21d       backend

3.>刪除一個標簽時,只需在命令行最后指定Label的key名並與一個減號相連即可.

[root@k8s-master ~]# kubectl label pod frontend-9db27 role-
pod "frontend-9db27" labeled

4.>修改一個Label時,需要加上--overwrite

[root@k8s-master ~]# kubectl label pod frontend-9db27 role=master --overwrite
pod "frontend-9db27" labeled

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM