溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

k8s常用命令

發(fā)布時(shí)間:2020-04-20 18:09:55 來源:網(wǎng)絡(luò) 閱讀:497 作者:faer615 欄目:系統(tǒng)運(yùn)維

相關(guān)服務(wù)及用途

節(jié)點(diǎn)名稱 服務(wù)名稱 用途
管理節(jié)點(diǎn) kubctl-apiserver 提供HTTP Rest統(tǒng)一接口服務(wù),處理和驗(yàn)證REST請(qǐng)求和更新etcd中API對(duì)象的狀態(tài)
管理節(jié)點(diǎn) kubectl-controller-manager 資源控制管理同步
管理節(jié)點(diǎn) kube-scheduler 負(fù)責(zé)資源調(diào)度(調(diào)度Pod)
工作節(jié)點(diǎn) kubelet 管理Pod的生命周期,創(chuàng)建、啟停等任務(wù)
工作節(jié)點(diǎn) kube-proxy 負(fù)責(zé)網(wǎng)絡(luò)通信及負(fù)載均衡

### 1.重啟服務(wù)

kubectl patch deployment app名稱 -p {\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"date +'%s'\"}}}}} -n kube-system


### 2.重新分配pod數(shù)量

kubectl scale deployment kubernetes-dashboard --replicas=1 -n kube-system

### 3.查看部署應(yīng)用

kubectl get deploy -n kube-system


### 4.獲得容器前一次運(yùn)行的日志內(nèi)容

kubectl logs --previous <Pod名稱> <Pod中的容器名稱>
kubectl logs --previous l7-lb-controller-74c67fb85d-5b5cg -n kube-system


### 5.查看描述

kubectl describe svc kubernetes-dashboard -n kube-system
kubectl describe pod kubernetes-dashboard -n kube-system


### 6.查看pod部署節(jié)點(diǎn)及IP

kubectl get pods -n kube-system -o wide


### 7.查看集群中服務(wù)

kubectl get services --all-namespaces
kubectl get svc kubernetes-dashboard -n kube-system


### 8.查看暴露端口

kubectl get endpoints -n kube-system kubernetes-dashboard
kubectl get ep -n kube-system kubernetes-dashboard


## 9.標(biāo)簽管理

添加標(biāo)簽

kubectl label node 192.168.61.66 nodetype=node --overwrite
lsmod | grep ip_vs

查看標(biāo)簽

kubectl get node --show-labels -n kube-system
kubectl get pods --show-labels kube-sytem
kubectl get pod --show-labels kubernetes-dashboard-6845889d64-25f9x -n kube-system


### 10.查看svc/pod描述

kubectl describe 類型 資源名稱 命名空間
kubectl describe svc kubernetes-dashboard -n kube-system
kubectl describe pod kubernetes-dashboard -n kube-system

### 11.查詢?nèi)罩?/code>

檢查某種Pod的日志(標(biāo)準(zhǔn)輸出)

kubectl logs -f pod名稱 -n kube-system

在容器內(nèi)執(zhí)行命令

kubectl exec -ti pod名稱 /bin/bash -n kube-system


### 12.以yaml/json方式顯示pod信息

kubectl get deployment -o yaml kubernetes-dashboard -n kube-system
kubectl get daemonset -o yaml -n kube-system calico-node
kubectl get svc -o json pod名稱 -n kube-system


### 13.顯示所有的服務(wù)

kubectl get deployments -n kube-system
kubectl get daemonsets -n kube-system


### 14.創(chuàng)建命名空間

通過命令創(chuàng)建

kubectl create namespace new-namespace

通過文件創(chuàng)建

cat > my-namespace.yaml << EOF
apiVersion: v1
kind: Namespace
metadata:
name: new-namespace
EOF
kubectl create -f ./my-namespace.yaml

刪除命令空間

kubectl delete namespaces new-namespace

刪除一個(gè)namespace會(huì)自動(dòng)刪除所有屬于該namespace的資源。

default 和 kube-system 命名空間不可刪除。


### 15.創(chuàng)建/查看 Deployment 記錄版本號(hào)

kubectl create -f nginx-deployment.yaml --record


### 16.實(shí)現(xiàn)水平擴(kuò)展或收縮

kubectl scale deployment kubernetes-dashboard --replicas=2 -n kube-system

重新分配pod數(shù)量

kubectl scale deployment kubernetes-dashboard --replicas=1 -n kube-system


### 17.版本回退

查看回退狀態(tài)

kubectl rollout status deployment/kubernetes-dashboard -n kube-system

查看升級(jí)歷史記錄

kubectl rollout history deployment/kubernetes-dashboard -n kube-system

查看單個(gè)revision的詳細(xì)信息

kubectl rollout history deployment/kubernetes-dashboard --revision=1 -n kube-system

回滾到上一個(gè)版本

kubectl rollout undo deployment/kubernetes-dashboard -n kube-system

指定回滾某個(gè)歷史版本

kubectl rollout undo deployment/kubernetes-dashboard --to-revision=1 -n kube-system


### 18.自動(dòng)擴(kuò)展

集群支持 horizontal pod autoscaling,可以為Deployment設(shè)置自動(dòng)擴(kuò)展

kubectl autoscale deployment kubernetes-dashboard --min=1 --max=5 --cpu-percent=80 -n kube-system

查看hap狀態(tài)

kubectl get hpa kubernetes-dashboard -n kube-system

查看hpa詳細(xì)狀態(tài)

kubectl describe hpa kubernetes-dashboard -n kube-system

刪除hpa

kubectl delete hpa kubernetes-dashboard -n kube-system


### 19.更新Deployment鏡像

kubectl set image deployment kubernetes-dashboard nginx=nginx:1.9.1

### 20.編輯 Deployment pod配置

kubectl edit deployment kubernetes-dashboard -n kube-system


### 21.升級(jí)資源

暫停狀態(tài)下執(zhí)行

kubectl rollout pause deployment kubernetes-dashboard -n kube-system
kubectl set image deploy kubernetes-dashboard nginx=nginx:1.9.1

更新升級(jí)資源

kubectl set resources deployment kubernetes-dashboard -c=kubernetes-dashboard --limits=cpu=200m,memory=512Mi -n kube-system

恢復(fù)

kubectl rollout resume deploy kubernetes-dashboard -n kube-system


### 22.查看CIDR劃分
kubectl get nodes -o json | jq '.items[] | .spec'

## 23.授權(quán)管理

查看授權(quán)node節(jié)點(diǎn)

kubectl get certificatesigningrequests
kubectl get csr

添加新工作節(jié)點(diǎn)

kubectl get csr|grep 'Pending' | awk 'NR>0{print $1}'| xargs kubectl certificate approve

批量授權(quán)認(rèn)證

for i in kubectl get csr|grep -v NAME|awk '{print $1}';do kubectl certificate approve $i;done
kubectl get nodes

拒絕授權(quán)

kubectl certificate deny node-csr-AzAMd7KYm57dUkiD-aM3POpS_N37bXCyHeI_B-llyQM

批量拒絕授權(quán)

for i in kubectl get csr|grep -v NAME|awk '{print $1}';do kubectl certificate deny $i;done

刪除信任csr節(jié)點(diǎn)

kubectl delete csr node-csr-AzAMd7KYm57dUkiD-aM3POpS_N37bXCyHeI_B-llyQM

批量刪除授權(quán)

for i in kubectl get csr|grep -v NAME|awk '{print $1}';do kubectl delete csr $i;done


### 24.集群信息查看

下載 kubeadm

curl -sSL https://dl.k8s.io/release/v1.11.2/bin/linux/amd64/kubeadm > /usr/bin/kubeadm

查看集群訪問連接

kubectl cluster-info

查看權(quán)限

kubectl describe clusterrole cluster-admin -n kube-system

查看kubectl版本

kubectl version

查看支持api版本

kubectl api-version

查看當(dāng)前kubectl配置

kubectl config view

查看集群狀態(tài)

kubectl get componentstatuses
kubectl get rs

查看集群節(jié)點(diǎn)

kubectl get nodes

查看命名空間

kubectl get namespaces

Node狀態(tài)維護(hù)

每個(gè)Node都包括以下狀態(tài)信息
地址:包括hostname、外網(wǎng)IP和內(nèi)網(wǎng)IP
條件(Condition):包括OutOfDisk、Ready、MemoryPressure和DiskPressure
容量(Capacity):Node上的可用資源,包括CPU、內(nèi)存和Pod總數(shù)
基本信息(Info):包括內(nèi)核版本、容器引擎版本、OS類型等

維護(hù)狀態(tài)/取消維護(hù)模式

kubectl cordon NodeName
kubectl uncordon NodeName

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI