获取帮助:

kubectl

查看节点:

kubectl get nodes

查看pods

kubectl get pods
kubectl get deployment
kubectl get pods -o wide  详细信息

查看node的详细信息:

kubectl describe node node1
kubectl describe pods mysql-2lx9b  # 可以查看pod的创建错误等信息

查看集群信息:

kubectl cluster-info

查看名称空间:

kubectl get namespace

查看某个名称空间:

kubectl get pods -n kube-system -o wide


创建Pod:

kubectl create -f xxx.yaml

删除Pod:

kubectl delete pods <podname>

查看Pod:

kubectl describe pods <podname>

进入Pod:

kubectl exec -it busybox /bin/sh


查看service:

kubectl get services
kubectl get svc
kubectl get service -n kube-system


缩减添加Pod:

kubectl scale rc redis-slave --replicas=3



标签

查看Pod标签:

kubectl get pods --show-labels

标签过滤器:

kubectl get pods -l app  # 显示拥有标签为app的Pod

kubectl get pods -l myapp --show-labels    过滤并显示标签

kubectl get pods -l app=busybox,myapp=testapp    筛选多个标签

等值关系:=、==、!=

集合关系:key in ( value, value2... )

                 key notin ( value, value2... )

                 key

                 ! key


在yaml中定义选择器时,matchLabels 和 matchExpression中 service只支持第一种。


kubectl get pods -L app    显示标签的值,显示的是app标签的值

打标签:

kubectl label pods <podname> release=canary

修改已有的标签:

kubectl label pods <podname> release=stable --overwrite



kubectl run :创建Pod

run 命令用来创建一个Pod。

kubectl run 控制器名称 --image=镜像名称:latest --replicas=Pod个数

kubectl run nginx --image=nginx --replicas=2 --dry-run

        --replicas=2    Pod的个数

        --port 80    暴露的端口

        --dry-run=true    干跑模式

        --restart=Never    加上这个选项表示镜像丢失不在补充

        --command -- <cmd> <arg1>...    不运行默认的命令,这个选项用来定义命令


删除命令行创建的Pod:

kubectl run nginx --image=nginx --dry-run  -o yaml | kubectl delete -f -


kubectl expose:创建service

kubectl expose --port=服务端口 --target-port=容器端口

kubectl expose deployment nginx --name=nginx --port=80 --target-port=80 --protocol=TCP

        --name=name    service 的名称

        --type=type    service 的类型

        --protocol=TCP    协议类型


扩容缩容 scale:

kubectl run nginx-test --image=nginx:latest --dry-run -o yaml | kubectl scale  --replicas=3 deployment/nginx-test