annotate |
kubectl annotate pods foo description='my frontend' 设置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标识的RC创建Service,并通过Service的80端口转发至容器的8000端口上 |
autoscale |
kubectl autoscale deployment foo --min=2 --max=10 使用 Deployment “foo”设定,使用默认的自动伸缩策略,指定目标CPU使用率,使其Pod数量在2到10之间。 |
convert |
kubectl convert -f pod.yaml 将“pod.yaml”转换为最新版本并打印到stdout |
create |
cat pod.json | kubectl create -f - 通过stdin的JSON创建一个pod |
create clusterrole |
kubectl create clusterrole pod-reader --verb=get,list,watch --resource=pods 创建一个名为“pod-reader”的ClusterRole,允许用户在pod上执行“get”,“watch”和“list” |
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文件创建一个名为my-config的configmap |
create deployment |
kubectl create deployment my-dep --image=busybox 创建一个名为my-dep的deployment,运行busybox镜像 |
create namespace |
kubectl create namespace my-namespace 创建一个名为my-namespace的namespace |
create poddisruptionbudget |
kubectl create pdb my-pdb --selector=app=nginx --min-available=50% 创建名为my-pdb的pod disruption budget,使用app = nginx label #选择所有pod,要求至少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 创建名为my-quota的resourcequota |
create role |
kubectl create role foo --verb=get,list,watch --resource=pods,pods/status 使用指定的SubResource创建名为“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 创建Service名为my-cs为的clusterIP |
create service externalname |
kubectl create service externalname my-ns --external-name bar.com 创建Service名为my-ns的ExternalName |
create service loadbalancer |
kubectl create service loadbalancer my-lbs --tcp=5678:8080 创建一个Service名为my-lbs的LoadBalancer |
create service nodeport |
kubectl create service nodeport my-ns --tcp=5678:8080 创建service名为my-ns的新的nodeport |
create serviceaccount |
kubectl create serviceaccount my-service-account 创建一个名为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创建名为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创建一个名为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 文件,则可以使用以下命令创建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节点信息 |
label |
kubectl label --overwrite pods foo status=unhealthy 给名为foo的Pod修改label 为 'status' / value 'unhealthy',且覆盖现有的value |
patch |
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}' 使用patch更新Node节点 |
replace |
kubectl replace --force -f ./pod.json 强制替换,删除原有资源,然后重新创建资源 |
rolling-update |
cat frontend-v2.json | kubectl rolling-update frontend-v1 -f - 使用JSON数据更新frontend-v1的pod |
rollout history |
kubectl rollout history daemonset/abc --revision=3 查看deployment的历史记录 |
rollout pause |
kubectl rollout pause deployment/nginx 将deployment标记为暂停 |
rollout resume |
kubectl rollout resume deployment/nginx 恢复已暂停的 deployment |
rollout status |
kubectl rollout status deployment/nginx 查看deployment的状态 |
rollout undo |
kubectl rollout undo daemonset/abc --to-revision=3 回滚到daemonset 修订3版本 |
scale |
kubectl scale --replicas=3 rs/foo 将名为foo中的pod副本数设置为3 |
set resources |
kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi 为nginx中的所有容器设置 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 - 在创建service对之前设置labels和selector |
set image |
kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1 将deployment中的nginx容器镜像设置为nginx1.9.1 |
set subject |
kubectl set subject rolebinding admin --user=user1 --user=user2 --group=group1 更新RoleBinding的user1,user2和group1 |