K8S 常用命令

发布时间:2023年12月18日

获取所有的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

?

?

文章来源:https://blog.csdn.net/m0_73901077/article/details/134912356
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。