Kubernetes 常用命令

彭楷淳发布于 2021-03-01
预计阅读时间 3 分钟
总计 634
浏览

Kubectl 与 Docker 命令


概述

Docker 命令和 Kubectl 命令有很多相似的地方,Docker 操作容器,Kubectl 操作 Pod(容器的集合)等

运行容器

Docker

1
$ docker run -d --restart=always -e DOMAIN=cluster --name nginx-app -p 80:80 nginx

Kubectl

1
2
$ kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster"
$ kubectl expose deployment nginx-app --port=80 --name=nginx-http

注意: kubectl run 会创建一个 Deployment 并且默认会在后台运行,以上面的代码为例它的名称为 nginx-app。默认情况 Deployment 并不会将端口暴露出去,所以我们还需要使用 kubectl expose 暴露端口以供访问,此时还会创建一个同名的 Service

查看已运行的容器

Docker

1
$ docker ps

Kubectl

1
2
3
$ kubectl get pods
$ kubectl get deployment
$ kubectl get service

交互式进入容器

Docker

1
$ docker exec -it 容器 ID/NAME /bin/bash

Kubectl

1
$ kubectl exec -it 容器名 -- /bin/bash

打印日志

Docker

1
$ docker logs -f 容器 ID/NAME

Kubectl

1
$ kubectl logs -f 容器名

停止和删除容器

Docker

1
2
$ docker stop 容器 ID/NAME
$ docker rm 容器 ID/NAME

Kubectl

1
$ kubectl delete deployment Deployment 名称
1
$ kubectl delete service Service 名称

注意: 不要直接删除 Pod,使用 kubectl 请删除拥有该 Pod 的 Deployment。如果直接删除 Pod,则 Deployment 将会重新创建该 Pod。

查看版本

Docker

1
$ docker version

Kubectl

1
$ kubectl version

查看环境信息

Docker

1
$ docker info

Kubectl

1
$ kubectl cluster-info

Kubectl 常用命令


小提示: 所有命令前都可以加上 watch 命令来观察状态的实时变化,如:watch kubectl get pods --all-namespaces

查看组件状态

1
$ kubectl get cs

查看环境信息

1
$ kubectl cluster-info

查看 Node

1
$ kubectl get nodes -o wide

查看集群配置

1
$ kubectl -n kube-system get cm kubeadm-config -oyaml

运行容器

1
$ kubectl run nginx --image=nginx --replicas=2 --port=80

暴露服务

1
$ kubectl expose deployment nginx --port=80 --type=LoadBalancer

查看命名空间

1
$ kubectl get namespace

创建命名空间

1
2
3
4
apiVersion: v1
kind: Namespace
metadata:
name: development

查看容器

1
2
$ kubectl get pods -o wide
$ kubectl get deployment -o wide

查看服务

1
$ kubectl get service -o wide

查看详情

1
2
3
$ kubectl describe pod <Pod Name>
$ kubectl describe deployment <Deployment Name>
$ kubectl describe service <Service Name>

查看日志

1
$ kubectl logs -f <Pod Name>

删除容器和服务

1
2
$ kubectl delete deployment <Deployment Name>
$ kubectl delete service <Service Name>

配置方式运行

1
$ kubectl create -f <YAML>

配置方式删除

1
$ kubectl delete -f <YAML>

查看配置

1
2
$ kubeadm config view
$ kubectl config view

查看 Ingress

1
$ kubectl get ingress

查看持久卷

1
$ kubectl get pv

查看持久卷消费者

1
$ kubectl get pvc

查看 ConfigMap

1
$ kubectl get cm <ConfigMap Name>

修改 ConfigMap

1
$ kubectl edit cm <ConfigMap Name>

如果你喜欢这个博客或发现它对你有用,欢迎你点击右下角 “OPEN CHAT” 进行评论。也欢迎你分享这个博客,让更多的人参与进来。如果在博客中使用的图片侵犯了您的版权,请联系博主删除它们。谢谢你!