K8S 常用命令

获取所有的pod资源:

kubectl get pod

获取所有的命名空间:

kubectl get namespace

获取所有的Deployment资源: 

kubectl get deployment

 删除指定的deploy:

kubectl delete deploy nginx

 获取所有的服务:

kubectl get services

 删除对应的服务:

kubetl delete svc nginx

进入指定的Pod里指定的容器中执行命令: 

kubectl exec -it nginx-po -c nginx -- cat /inited

编辑指定的pod 的yaml文件: 

kubectl edit po nginx-po -n default

查询所有pod的详细信息:

kubectl get po -o wide

 持续监听pod的状态:

kubectl get po -w 

监听命令的执行时间:

time kubectl delete po nginx

删除指定的Pod:

kubectl delete po nginx

查看Pod的标签:

kubectl get po --show-labels

 为资源添加标签:

kubectl label po nginx-po author=liuhuan

修改资源的标签:

kubectl label po nginx-po author=liu --overwrite

 根据label进行匹配对应的pod:

kubectl get po -l type=app

使用label进行多值匹配:

kubectl get po -l 'test in (1.0.0,1.1.0,1.2.0)'

 使用label进行多条件匹配:

kubectl get po -l test=app,version!=1.1.0

 创建nginx的deployment:

kubectl create deploy nginx-deploy --image=nginx:1.7.9

 获取replicaset:

kubectl get replicaset
# 当我们创建deployment的时候,会帮助我们创建一个replicaset
# 还会帮助我们创建一个对应的pod
# deployment的名字是:nginx-test
# replicaset 名字是: nginx-test-fsdhfsk
# pod的名字是: nginx-test-fsdhfsk-testsse

 获取资源的信息并使用yaml格式进行输出:

kubectl get po nginx -o yaml

查看Deployment滚动更新的过程: 

kubectl describe deploy nginx-deployment -n default

使用命令行更新模板的内容: 

kubectl set image deployment/nginx-deployment nginx=nignx:1.9.1

查看所有的 replicaset :

kubectl get replicaset

查看 deployment 的历史版本:

kubectl rollout history deployment/nginx-deploy
# 查看历史版本和更新的记录信息

 查看记录信息(可以搭配上面这个命令一起使用):

kubectl set image deployment/nginx-deploy nginx=nginx:1.91 --record "更新镜像信息为1.91"

查看指定版本的详细信息:

kubectl rollout history deployment/nginx-deploy -revision=2

 查看回退的状态:

kubectl rollout status deployment/nginx-deploy

 模板回退到指定版本:

kubectl rollout undo deployment/nginx-deploy --to-revision=2

 给Deployment进行扩容/缩容:

kubectl scale --replicas=3 deploy nginx-deploy

 暂停Deployment,防止更新模板的时候进行自动升级:

kubectl rollout pause deploy nginx-deploy

 恢复暂停的的Deployment:

kubectl rollout resume deploy nginx-deploy

创建一个nginx服务: 

kubectl create deployment nginx  --image=nginx:1.14-alpine

暴露端口:

kubectl expose deploy nginx  --port=80 --target-port=80  --type=NodePort

查看服务:

kubectl get pod,svc

 查看集群中的节点:

kubectl get nodes  /  kubectl get no

获取正在运行的pod:

kubectl get pod

查看组件状态:

kubectl get componentstatus  /  kubectl get cs

 获取默认命名空间下的pods:

kubectl get pods

 获取指定命名空间下的pods:

kubectl get pods -n kube-system

创建ConfigMap:

kubectl create configmap my-config 

通过文件夹创建ConfigMap:

kubectl create configmap my-config --from-file=path/to/bar

 查看所有的ConfigMap:

kubectl get configmap 

 查看指定ConfigMap的描述信息:

kubectl describe cm my-config

通过文件创建ConfigMap:

kubectl get configmap my-config --from-file=/opt/k8s/application.yaml
kubectl get configmap my-config --from-file=app.yml=/opt/k8s/application.yaml
# 使用app.yml来取代文件的路径

详细查看指定的ConfigMap的信息:

kubectl describe config/my-config

直接指定键值对创建ConfigMap:

kubectl create configmap test-key-value-config 
--from-iteral=username=root
--from-iteral=password=admin

查看Pod的创建日志:

kubectl logs -f my-config

 进入Pod中的容器内:

kubectl exec -it test-configfile-po -- sh

 创建加密的配置:

kubectl secret generic orig-secret 
--from-literal=username=admin
--from-literal=password=qwert123lh

 更新 configMap 的 yaml 文件:

kubectl create cm test-dir-config --from-file=./test/ 
--dry-run -o yaml | kubectl replace -f- 
# --dry-run 的作用是打印 yaml 配置文件,但是不会发送给 api-server 
# -f- 后面一个 - 的目的是搭配控制台的输出进行替换

编辑指定的ConfigMap: 

kubectl edit cm my-config

 

1

 

1
1

 

 

你可能感兴趣的:(kubernetes,容器,云原生)