当前位置: 首页 > article >正文

k8s 之常用命令

作者:程序那点事儿 日期:2024/01/30 01:29


route

route -n

kubectl apply(不存在就创建,存在就更新,执行的文件较小)

kubectl apply -f kube-flannel.yml

kubectl apply -f nfs-storage-class.yaml

kubectl apply -f nfs-sc-demo-statefulset.yaml

kubectl create(不存就创建,存在报错,可以执行较大的文件)

kubectl create deployment nginx --image=nginx

kubectl create ns ingress-nginx

kubectl create configmap test-dir-config --from-file=test/ # 基于文件夹创建configmap,会加载该文件夹下的所有文件

kubectl create configmap spring-boot-test-yaml --from-file=application.yaml # 基于文件加载

kubectl create configmap spring-boot-test-alises-yaml --from-file=app.yaml=application.yaml # 对加载的文件重命名

kubectl create configmap test-key-value-config --from-literal=username=root --from-literal=password=admin # 以kv的方式加载

kubectl create configmap test-env-config --from-literal=JAVA_OPT_TEST='-Xmx=512 -Xmx=512' --from-literal=APP_ANAME=spring-boot-env-test

kubectl create secret generic orig-secret --from-literal=username=admin --from-literal=password=mysql123

kubectl create secret docker-registry harbor-secret --docker-username=admin --docker-password=Harbor12345 --docker-email=luliang2099@163.com --docker-server=192.168.43.106:8880

kubectl create cm test-dir-config --from-file=./test/ --dry-run -o yaml | kubectl repace -f- # 将test目录下的文件输出为一个yaml文件,并将这个yaml文件发送给k8s 实现容器的配置更新

kubectl create -f nfs-provisioner-rbac.yaml

kubectl scale

kubectl scale deploy --replicas=3 nginx # 部署3个pod(临时生效)

kubectl scale sts web --replicas=5

kubectl autoscale(HPA自动扩容)

kubectl autoscale deploy nginx-deploy --cpu-percent=20 --min=2 --max=5 # 自动扩容

kubectl expose

kubectl expose deployment nginx --port=80 --type=NodePort

kubectl delete

kubectl delete -f kube-flannel.yml

kubectl delete po kube-flannel-ds-amd64-kl6s6 -n kube-system # 删除pod

kubectl delete deploy nginx # 删除deploy会删除deploy下的所有pod

kubectl delete svc nginx # 删除service

kubectl delete sts web --cascade=false # 非级联删除(默认是级联删除)

kubectl delete secret harbor-secret

kubectl delete sa -n kube-system nfs-client-provisioner

kubectl delete role -n kube-system leader-locking-nfs-client-provisioner

kubectl delete clusterrole -n kube-system nfs-client-provisioner-runner

kubectl delete rolebinding -n kube-system leader-locking-nfs-client-provisioner

kubectl delete clusterrolebinding -n kube-system run-nfs-client-provisioner

kubectl set

kubectl set image deployment.apps/nginx nginx=nginx:1.7.9 # 更新命令

kubectl set image deployment.apps/nginx nginx=nginx:1.7.9 --record # 显示修改原因

kubectl get

kubectl get all

kubectl get ns

kubectl get nodes

kubectl get nodes --show-labels

kubectl get deploy

kubectl get deploy nginx -o yaml # 资源信息通过yaml方式输出

kubectl get replicaset

kubectl get ingress

kubectl get ds

kubectl get pods

kubectl get pods --all-namespaces

kubectl get po,rs,deploy

kubectl get cs # 组件状态 componet status 简写

kubectl get all -o wide # 查看完整信息

kubectl get configmap # configmap信息,configmap 可以简写为 cm

###

kubectl get po -o wide # 容器布署的详细信息

time kubectl get po -w # 持续监听容器状态变化,加上time会打印监听时间

### label

kubectl get po --show-labels # 显示pod的标签(默认名称空间)

kubectl get po --show-labels -n kube-system # 显示pod的标签(指定名称空间)

kubectl get po -n ingress-nginx -o wide

kubectl get po -l version=1.0.0,app=nginx # label多条件筛选,是并且关系

kubectl get po -l 'mylabel in (haha123,hehe,haha)' # 多值筛选,是或者关系

kubectl get po -l app=nginx-deploy -o wide

kubectl get po -l 'mylabel in (haha123,hehe,haha),app=nginx' # 多条件 + 多值

##

kubectl get sts

kubectl get pvc

kubectl get pv

kubectl get hpa

kubectl get ep # endpoints

##

kubectl get role -n ingress-nginx -o yaml

kubectl get clusterrole -n ingress-nginx -o yaml

kubectl describe

kubectl describe po kube-flannel-ds-44kh7 -n kube-system # 查看pod详情

kubectl describe deploy nginx # 可以在deploy看到滚动更新的过程

kubectl describe sts web

kubectl describe svc nginx-svc

kubectl describe ep nginx-svc-external

kubectl describe configmap test-dir-config

kubectl describe configmap/test-env-config

kubectl describe secret harbor-secret

kubectl edit

kubectl edit deploy -n kube-system coredns # 输出yaml详情(可以搜索查找内容)

kubectl edit po nginx-85b98978db-gv9pg # pod 不接受修改

kubectl edit secret harbor-secret

kubectl patch

kubectl patch sts web --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value": "nginx:1.9.1"}]' # 更新方式二

kubectl rollout

kubectl rollout status deployments nginx # 监听deploy更新状态

kubectl rollout history deployment.apps/nginx # 查看历史版本

kubectl rollout history deployment.apps/nginx --revision=3 # 查看指定版本详情

kubectl rollout history sts web --revision=2 # 版本详情

kubectl rollout history sts web

kubectl rollout undo deployment.apps/nginx --to-revision=3 # 回退版本

kubectl rollout pause deploy nginx # 暂停(修改时不更新)

kubectl rollout resume deploy nginx # 恢复

kubectl exec

kubectl exec -it nginx-85b98978db-gv9pg -c nginx -- cat /kubectl exec -it nginx-85b98978db-gv9pg -c nginx -- cat /usr/share/nginx/html/index.html # 到pod的nginx容器中执行一条命令

kubectl exec -it nginx-85b98978db-gv9pg -c nginx -- ls /usr/local # 查看容器中文件或目录

kubectl exec -it dns-test -- sh

kubectl exec -it empty-dir-pd -c nginx-empty-dir1 -- sh # 当一个pod有多个容器时,指定进入某个容器中

kubectl cp

kubectl cp test.txt nginx-85b98978db-gv9pg:/usr/local/ # 将本地 test.txt文件拷贝到nginx容器中

kubectl label

kubectl label po nginx-85b98978db-gv9pg mylabel=haha # 为资源添加标签(临时生效)

kubectl label po nginx-85b98978db-gv9pg mylabel=haha123 --overwrite # 覆盖已有标签

kubectl label no k8s-node1 type=mylabel # 为节点添加标签

kubectl label nodes k8s-master ingress- # 删除节点标签

kubectl run

kubectl run -it --image busybox:1.28.4 dns-test /bin/sh

ping web-0.nginx # ping sts 中的容器

nslookup web-0.nginx # 查看dns映射

kubectl replace

kubectl replace -f nginx-deploy.yaml # nginx-deploy.yaml文件替换到deployment.apps/nginx-deploy

kubectl top

kubectl top -h # 查看cpu和内存的占用情况

kubectl top po nginx-deploy-56696fbb5-mzsgg # 查看pod的资源占用情况,需要安装k8s_安装metrics-server

kubectl taint

kubectl taint no k8s-master node-role.kubernetes.io/master:NoSchedule # 添加污点

kubectl taint no k8s-node2 memory=low:NoSchedule # 添加污点

kubectl taint no k8s-master node-role.kubernetes.io/master:NoSchedule- # 删污点

kubectl logs

kubectl logs -f nginx-deploy-56696fbb5-t2fmh # 查看pod的日志

kubectl logs -f nfs-client-provisioner-845cf4584c-4gzlz # 查看制备器日志

测试脚本

while true; do wget -q -O- http://10.96.167.59 > /dev/null; done # 写一个死循环


http://www.kler.cn/news/332980.html

相关文章:

  • pnpm install的时候失败提示python问题
  • 【Docker从入门到进阶】06.常见问题与解决方案 07.总结与资源
  • 机器学习 | Scikit Learn中基于随机森林的OOB误差计算
  • HarmonyOs 查看官方文档使用弹窗
  • 网站服务器在不同操作系统上监听端口情况的方法
  • NVIDIA Hopper解说
  • 检查cuda和显卡的可用性
  • android 原生加载pdf
  • 精品WordPress主题/响应式个人博客主题Kratos
  • MATLAB - 机械臂手眼标定(眼在手内) - 估计安装在机器人上的移动相机的姿态
  • 仿RabbitMQ实现消息队列服务端(一)
  • 【Android】动画
  • 【每天学个新注解】Day 15 Lombok注解简解(十四)—@UtilityClass、@Helper
  • PyPattyrn:Python中的设计模式库
  • Windows UAC权限详解以及因为权限不对等引发软件工具无法正常使用的实例分析
  • (12)MATLAB莱斯(Rician)衰落信道仿真2补充:莱斯衰落信道与莱斯随机变量
  • vscode环境迁移
  • ChatGPT相关参数示例
  • 国庆更新|芒果YOLOv8改进181:即插即用,最新注意力机制EMA:具有跨空间学习的高效多尺度注意力模块,ICCASSP论文
  • IP与网关的关系