k8s的常用命令(一)


常用的kubectl命令
 
kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1
 
--image 指定鏡像
--port 是告訴kubernetes 應用監聽8080端口
--generator 通常不會用到,它讓kubernetes創建一個replicationController . 一般不帶這個參數 ,創建的是depoly資源,deploy 在調用replicaset資源,replicaset 和replicationController很像,好像是它的升級版本有更強的selector表達能力,而且這里的--generator=run/v1 並不是創建出的rc名稱是run/v1,創建出的rc就是kubia, run/v1可能是標示rc的版本吧,具體不知道,反正后面不用這個,知道有這么個東西即可
后續學習中,得知--generator=run/v1 就是告訴kubernetes需要創建一個rc來管理pod
如果是:kubectcl run dnsutils --image=tutum/dnsutils --generator=run-pod/v1 --command -- sleep infinity
這里的--generator=run-pod/v1選項就是讓kubectl直接創建pod,而不需要通過replicationController之類的資源來創建。
 
kubectl get pods
kubectl expose rc kubia --type=loadBalancer --name kubia-http
暴露 名稱為kubia的rc 為名稱kubia-http 的service,並且使用loadbalnacer,會將創建kubia時 port端口8080 映射出來
 
kubectl get service
 
kubectl get repliactioncontrollers
 
kubectl scale rc kubia --replicas=3 擴容為3個pod
 
kubectl get pods -o wide 查看pod在哪個node節點上
 
kubectl describe pod pod-id
 
 
查看集群狀態
kubectl cluster-info
 
使用kubectl explain 來發現可能的API對象字段,如:
kubectl explain pods
想查看某個對象下某個具體字段的使用方法
kubectl explain pod.spec
 
使用kubectl create 來創建pod
kubectl create -f kubia-manual.yaml
 
得到運行中pod的完整定義
kubectl get pod kubia-manual -o yaml
kubectl get pod kubia-manual -o json
 
查看應用程序日志
kubectl logs kubia-manual
當一個pod中有多個容器時
kubectl logs kubia-manual -c kubia
 
在不通過service外界相與pod通信,可以使用port-forward命令將短褲轉發到指定pod
以下命令會將機器的本地端口8888轉發到我們的kubia-manual pod的端口8080:
kubectl port-forward kubia-manual 8888:8080
 
 
在kubernetes中 標簽時可以組織kubernetes所有資源。
kubernetes 中創建出來的具體的對象都是資源。某一個資源 屬於某一個資源類如 pod資源類,或者對象。
 
查看所有pod上有什么標簽
kubectl get po --show-labels
 
如果你想將標簽作為顯示列的列頭可以使用-L
kubectl get po -L env,app
 
添加pod標簽
kubectl label po kubia-manual env=test
 
修改pod的現有標簽
kubectl label po kubia-manual env=debug --overwrite
 
通過標簽選擇器列出pod
kubectl get po -l env=debug
 
列出包含evn標簽的pod,不管env是什么值
kubectl get po -l env
 
列出不含evn標簽的pod
kubectl get po -l '!env' (確保是單引號)
 
env !=
env in (test,debug)
env not in (prod,devel)


免責聲明!

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



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