分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

kubernetes常用命令

发布时间:2023-09-06 01:44责任编辑:沈小雨关键词:kubernetes
kubectl get

1.查询节点,nodes or node or no

$ kubectl get noNAME ?????STATUS ???ROLES ????AGE ??????VERSIONmaster1 ??Ready ??????master ????16h ????????v1.9.2master2 ??Ready ??????master ????16h ????????v1.9.2master3 ??Ready ??????master ????16h ????????v1.9.2

2.查询组件状态,componentstatuses or cs

$ kubectl get csNAME ????????????????STATUS ???MESSAGE ????????????ERRORscheduler ???????????Healthy ??ok ?????????????????controller-manager ??Healthy ??ok ?????????????????etcd-1 ??????????????Healthy ??{"health":"true"} ??etcd-2 ??????????????Healthy ??{"health":"true"} ??etcd-0 ??????????????Healthy ??{"health":"true"}

3.查询名命空间,namespaces or ns

$ kubectl get nsNAME ?????????STATUS ???AGEdefault ??????Active ???16hkube-public ??Active ???16hkube-system ??Active ???16h

下面所有查询,缺省defalut名命空间,-n 指定名命空间,指定全部名命空间 --all-namespaces
4.查询pod,pods or pod or po

$ kubectl get podNAME ?????????????????????????????READY ????STATUS ???RESTARTS ??AGEkube-apiserver-master1 ???????????1/1 ??????Running ??0 ?????????16hkube-apiserver-master2 ???????????1/1 ??????Running ??0 ?????????16hkube-apiserver-master3 ???????????1/1 ??????Running ??0 ?????????16h

加参数 -o wide 可显示运行节点

$ kubectl get pod -n kube-system -o wideNAME ?????????????????????????????READY ????STATUS ???RESTARTS ??AGE ??????IP ?????????????NODEkube-apiserver-master1 ???????????1/1 ??????Running ??0 ?????????16h ??????192.168.6.101 ??master1kube-apiserver-master2 ???????????1/1 ??????Running ??0 ?????????16h ??????192.168.6.102 ??master2kube-apiserver-master3 ???????????1/1 ??????Running ??0 ?????????16h ??????192.168.6.103 ??master3

5.查询service,services or service or svc

$ kubectl ?get service --all-namespacesNAMESPACE ????NAME ????????TYPE ???????CLUSTER-IP ??EXTERNAL-IP ??PORT(S) ??????????????AGEdefault ????????????kubernetes ??ClusterIP ??10.96.0.1 ????????<none> ?????????????443/TCP ?????????????16hkube-system ??kube-dns ?????ClusterIP ??10.96.0.10 ??????<none> ?????????????53/UDP,53/TCP ??16h

6.kind分类查询,replicationcontrollers or rc , deployments or deploy, daemonsets or ds

$ kubectl ?get deployments --all-namespaces NAMESPACE ????NAME ??????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEkube-system ?????kube-dns ??1 ??????????????1 ?????????????????1 ?????????????????????1 ???????????????????16h

7.查询所有 all

$ kubectl ?get all --all-namespaces

kubectl delete

1.删除节点

$ kubectl delete node node1

2.删除pod

$ kubectl delete pod $(pod_name) -n $(namespace-name)

3.删除services

$ kubectl delete svc $(svc_name) -n $(namespace-name)

更新维护

1.手动动态伸宿副本, scale

$ kubectl get Deployment -n test-appNAME ?????????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEhello-world ??3 ??????????????3 ?????????????????3 ??????????????????????3 ??????????????????13h$ kubectl scale deployments hello-world --replicas=2 -n test-appdeployment "hello-world" scaled$ kubectl get Deployment -n test-app ???????????????????????????NAME ?????????DESIRED ??CURRENT ??UP-TO-DATE ??AVAILABLE ??AGEhello-world ??2 ???????????????2 ?????????????????2 ?????????????????????2 ??????????????????14h

2.根据pod负载自动伸宿副本,autoscale

$ kubectl autoscale deployments hello-world --min=2 --max=5 -n test-app

3.更新回滚pod,rolling-update
rolling-update需要确保新的版本有不同的name,Version和label,否则会报错

$ kubectl rolling-update hello-world -f hello-world.yaml$ kubectl rolling-update hello-world --rollback

问题定位

1.查询对象详细信息

$ kubectl describe pod kube-proxy-ftkx5 -n kube-system

2.查询日志

$ kubectl logs -f ?kube-proxy-ftkx5 -n kube-system

3.进入容器运行命令,如果pod有多个容器,可用-c指定容器

$ kubectl exec kube-dns-6f4fd4bdf-b7txf ?-c dnsmasq hostname -n kube-systemkube-dns-6f4fd4bdf-b7txf

kubernetes常用命令

原文地址:http://blog.51cto.com/2759492/2083300

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved