annotate |
kubectl annotate pods foo description='my frontend' 設(shè)置pod 'foo'的description |
run |
kubectl run nginx --image=nginx --port=80 啟動nginx實例,暴露容器端口80 |
expose |
kubectl expose -f nginx-controller.yaml --port=80 --target-port=8000 由“nginx-controller.yaml”中指定的type和name標(biāo)識的RC創(chuàng)建Service,并通過Service的80端口轉(zhuǎn)發(fā)至容器的8000端口上 |
autoscale |
kubectl autoscale deployment foo --min=2 --max=10 使用 Deployment “foo”設(shè)定,使用默認(rèn)的自動伸縮策略,指定目標(biāo)CPU使用率,使其Pod數(shù)量在2到10之間。 |
convert |
kubectl convert -f pod.yaml 將“pod.yaml”轉(zhuǎn)換為最新版本并打印到stdout |
create |
cat pod.json | kubectl create -f - 通過stdin的JSON創(chuàng)建一個pod |
create clusterrole |
kubectl create clusterrole pod-reader --verb=get,list,watch --resource=pods 創(chuàng)建一個名為“pod-reader”的ClusterRole,允許用戶在pod上執(zhí)行“get”,“watch”和“l(fā)ist” |
create clusterrolebinding |
kubectl create clusterrolebinding cluster-admin --clusterrole=cluster-admin --user=user1 --user=user2 --group=group1 在集群范圍將cluster-admin ClusterRole授予用戶user1,user2和group1 |
create configmap |
kubectl create configmap my-config --from-env-file=path/to/bar.env 從env文件創(chuàng)建一個名為my-config的configmap |
create deployment |
kubectl create deployment my-dep --image=busybox 創(chuàng)建一個名為my-dep的deployment,運行busybox鏡像 |
create namespace |
kubectl create namespace my-namespace 創(chuàng)建一個名為my-namespace的namespace |
create poddisruptionbudget |
kubectl create pdb my-pdb --selector=app=nginx --min-available=50% 創(chuàng)建名為my-pdb的pod disruption budget,使用app = nginx label #選擇所有po??d,要求至少50%Pod可用 |
create quota |
kubectl create quota my-quota --hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10 創(chuàng)建名為my-quota的resourcequota |
create role |
kubectl create role foo --verb=get,list,watch --resource=pods,pods/status 使用指定的SubResource創(chuàng)建名為“foo”的Role |
create rolebinding |
kubectl create rolebinding admin --clusterrole=admin --user=user1 --user=user2 --group=group1 將admin ClusterRole授予user1,user2和group1 |
create service clusterip |
kubectl create service clusterip my-cs --tcp=5678:8080 創(chuàng)建Service名為my-cs為的clusterIP |
create service externalname |
kubectl create service externalname my-ns --external-name bar.com 創(chuàng)建Service名為my-ns的ExternalName |
create service loadbalancer |
kubectl create service loadbalancer my-lbs --tcp=5678:8080 創(chuàng)建一個Service名為my-lbs的LoadBalancer |
create service nodeport |
kubectl create service nodeport my-ns --tcp=5678:8080 創(chuàng)建service名為my-ns的新的nodeport |
create serviceaccount |
kubectl create serviceaccount my-service-account 創(chuàng)建一個名為my-service-account的 service account |
create secret tls |
kubectl create secret tls tls-secret --cert=path/to/tls.cert --key=path/to/tls.key 使用指定的key創(chuàng)建名為tls-secret的TLS secret |
create secret generic |
kubectl create secret generic my-secret --from-file=ssh-privatekey=~/.ssh/id_rsa --from-file=ssh-publickey=~/.ssh/id_rsa.pub 使用指定的keys創(chuàng)建一個名為my-secret的secret |
create secret docker-registry |
kubectl create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL 如果沒有.dockercfg 文件,則可以使用以下命令創(chuàng)建dockercfg secret |
delete |
kubectl delete pod foo --grace-period=0 --force 強制刪除dead node上的pod |
edit |
kubectl edit deployment/mydeployment -o yaml --save-config 以YAML格式輸出編輯deployment“mydeployment”,并將修改的配置保存在annotation中 |
get |
kubectl get pods --all-namespaces -o wide 列出Pod以及運行Pod節(jié)點信息 |
label |
kubectl label --overwrite pods foo status=unhealthy 給名為foo的Pod修改label 為 'status' / value 'unhealthy',且覆蓋現(xiàn)有的value |
patch |
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}' 使用patch更新Node節(jié)點 |
replace |
kubectl replace --force -f ./pod.json 強制替換,刪除原有資源,然后重新創(chuàng)建資源 |
rolling-update |
cat frontend-v2.json | kubectl rolling-update frontend-v1 -f - 使用JSON數(shù)據(jù)更新frontend-v1的pod |
rollout history |
kubectl rollout history daemonset/abc --revision=3 查看deployment的歷史記錄 |
rollout pause |
kubectl rollout pause deployment/nginx 將deployment標(biāo)記為暫停 |
rollout resume |
kubectl rollout resume deployment/nginx 恢復(fù)已暫停的 deployment |
rollout status |
kubectl rollout status deployment/nginx 查看deployment的狀態(tài) |
rollout undo |
kubectl rollout undo daemonset/abc --to-revision=3 回滾到daemonset 修訂3版本 |
scale |
kubectl scale --replicas=3 rs/foo 將名為foo中的pod副本數(shù)設(shè)置為3 |
set resources |
kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi 為nginx中的所有容器設(shè)置 Requests和Limits |
set selector |
kubectl create service clusterip my-svc --clusterip="None" -o yaml --dry-run | kubectl set selector --local -f - 'environment=qa' -o yaml | kubectl create -f - 在創(chuàng)建service對之前設(shè)置labels和selector |
set image |
kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1 將deployment中的nginx容器鏡像設(shè)置為nginx1.9.1 |
set subject |
kubectl set subject rolebinding admin --user=user1 --user=user2 --group=group1 更新RoleBinding的user1,user2和group1 |