03.kubectl命令行工具的使用

k8s核心資源管理的三種方法:

①命令行CLI工具進(jìn)行管理
②同一資源配置清單manifest進(jìn)行管理
③web頁面進(jìn)行管理


獲取資源信息get

kubectl get resource [-o wide|json|yaml] [-n namespace]
-n 指定名稱空間,-o 指定輸出格式
resource可以是具體資源名稱,如查找叫nginx-dp的deployment可以寫作: deployment nginx-dp;
也可以是資源類型,如pod;或者all

獲取名稱空間
kubectl get namespace
kubectl get ns

獲取DEFAULT名稱空間里的所有資源(默認(rèn)是default 所以查詢defaulte的資源時(shí), 可以省略-n default)
kubectl get all -n default


創(chuàng)建資源create

kubectl create resourece [options]

 # 創(chuàng)建名稱空間app
 kubectl create namespace app    

可以用kubectl  get ns進(jìn)行查看
[root@hdss7-21 ~]# kubectl get ns app
NAME   STATUS   AGE
app    Active   10s
可以用kubectl delete app 進(jìn)行刪除


# 創(chuàng)建deployment,叫做nginx-dp,在app名稱空間下,鏡像是harbor.od.com/public/nginx:latest
[root@hdss7-21 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:latest -n app
查看app下的deployment
kubectl get deploy -n app
查看pods
kube get pods -n app
#-wide擴(kuò)展的方式,
kube get pods -n app -o wide
#describe ,查看詳細(xì)描述
kubectl describe deployment nginx-dp -n app


創(chuàng)建service資源()
[root@hdss7-21 ~]# kubectl expose deployment nginx-dp --port=80 --target-port=80 --name=app-svc -n app
[root@hdss7-21 ~]# kubectl describe svc app-svc -n app
Name:              app-svc
Namespace:         app
Labels:            app=app-deploy
Annotations:       <none>
Selector:          app=app-deploy
Type:              ClusterIP
IP:                192.168.28.124
Port:              <unset>  80/TCP
TargetPort:        80/TCP
Endpoints:         172.7.21.8:80


進(jìn)入pods (exec)

Usage: kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...] [options]

# 交互式方法 
#exec  交互式-it  指定bash
[root@hdss7-21 ~]# kubectl exec nginx-web-796c86d7cd-zx2b9 -it -- /bin/bash  
root@nginx-web-796c86d7cd-zx2b9:/# exit
exit

#非交互式. 直接查看文件cat /etc/resolv.conf
[root@hdss7-21 ~]# kubectl exec nginx-web-796c86d7cd-zx2b9 -- cat /etc/resolv.conf
nameserver 192.168.0.2
search default.svc.cluster.local svc.cluster.local cluster.local host.com
options ndots:5

也可以直接docker exec 進(jìn)入容器

刪除資源

Usage: kubectl delete ([-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --all)]) [options]

[root@hdss7-21 ~]# kubectl delete deployment app-deploy -n app

[root@hdss7-21 ~]# kubectl delete ns app


強(qiáng)制刪除
--force --grace=period=0

通過資源配置清單(yaml/json)管理資源

查看資源配置清單
kubectl get svc nginx-dp -o yaml -n kube-public
解釋資源配置清單
kubectl explain service
創(chuàng)建資源配置清單
vi /root/nginx-ds-svc.yaml
應(yīng)用資源配置清單
kubectl apply -f nginx-ds-scv.yaml
修改資源配置清單
在線修改  kubectl edit service nginx-ds 在線編輯資源配置并保存生效
離線修改  修改nginx-ds-svc.yaml ,然后kubectl apply -f nginx-ds-scv.yaml 文件使其生效

kubectl create/apply/delete -f /path/to/yaml

****************************************華麗的分隔符*************************************


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容