本篇文章旨意不在解釋k8s原理和如何搭建,反而只是記錄普通常用的命令靡努,方便在工作中翻閱。kubernetes中文文檔
準(zhǔn)備
首先你應(yīng)該知道k8s是cs架構(gòu),我們?nèi)绻枰僮鰽PI就必須先安裝 CLI 工具 kubectl
安裝 kubectl
Mac安裝
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
Linux安裝
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
其它方式或者指定版本安裝請參考 https://www.kubernetes.org.cn/installkubectl
配置
kubectl 根據(jù)api形式訪問九火、管理集群資源,所以在使用之前我們需要先配置相關(guān)連接信息config 如:cluster
,context
,user
册招。如果是在自己本機(jī)創(chuàng)建的集群(master)節(jié)點上無需配置岔激,默認(rèn)連接 http://localhost:8080,如果是其它機(jī)器需要在~/.kube/config
中添加配置信息是掰。當(dāng)然也可以配置多個集群信息進(jìn)行管理虑鼎,詳細(xì)說明文檔 請戳我
集群管理命令
查看集群列表
kubectl config get-contexts
切換集群
kubectl config use-context {contextname}
查詢?nèi)罩?logs
如果 pod 中只有一個容器可以不用指定 -c 容器名
kubectl logs podname [-c container-name]
查詢之前運(yùn)行過但已終止的
kubectl logs -p podname
查詢最近1000行容器日志
kubectl logs --tail=1000 podname
查詢資源描述信息 describe
查詢pod描述信息
kubectl describe pods podname
查詢service描述信息
kubectl describe svc servicename
查詢節(jié)日描述信息
kubectl describe node nodename
資源管理
創(chuàng)建資源
- 編寫資源配置文件 .yaml
apiVersion: v1
kind: Service
metadata:
labels:
name: resourcename
name: resourcename
namespace: default
spec:
ports:
- port: 80
targetPort: 8080
selector:
serviceName: resourcename
type: ClusterIP
- 創(chuàng)建
kubectl create -f resourcename.yaml
查詢資源 get
查詢所有 namespace
kubectl get ns 或者 kubectl get namespace
查詢節(jié)點信息
kubectl get nodes
注意 get命令默認(rèn)查詢的是
default
namespace下的資源信息,如果需要指令namespace 需要 添加-n {namespace}
當(dāng)然也可以添加--all-namespaces
查看所有資源冀惭。 如查看kube-system下的資源kubectl get -n kube-system
震叙。
--show-labels
可以顯示標(biāo)簽信息
查詢 service
kubectl get svc 或者 kubectl get service
查詢 pod
查詢默認(rèn)空間下pods信息
kubectl get pods
查詢所有空間下pods信息
kubectl get pods --all-namespaces
查詢詳細(xì)信息
kubectl get pods -o wide
查詢指定pod信息
kubectl get pod prometheus
根據(jù)重啟次數(shù)排序查詢pod信息
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'
查詢 deployment
kubectl get deployment
查詢 configmap
kubectl get configmap
查詢prometheus配置信息
kubectl get configmap prometheus -o yaml
查詢 daemonset
kubectl get ds 或者 kubectl get daemonset
修改資源
修改deployment資源
kubectl edit deployment deploymentname
為資源打標(biāo)簽
kubectl label pod podname tagname=tagvalue
查看資源變更記錄
kubectl rollout history deployment/xxxx --revision=3
其它
進(jìn)入docker容器中
kubectl exec -it podname /bin/bash
幫助命令
kubectl command -h
感謝
感謝各位老鐵花時間觀看!
歡迎留言指正掀鹅!
內(nèi)容持續(xù)更新!
微信號lykos5