kubectl基本命令
kubectl基本命令
文章目录
- kubectl基本命令
- 一、get 查看资源
- 二、创建资源 apply create
- 三、删除资源
- 四、执行 pod 的 date 命令
- 五、通过bash获得 pod 中某个容器的TTY,相当于登录容器
- 六、查看容器的日志 log
- 七、查看注释explain
- 八、重启 pod
- 九、修改网络类型
- 十、进入pod
- 十一、查看pod资源yaml文件并导出
一、get 查看资源
- 查看帮助
kubectl --help
- 查看版本
kubelet --version
- 查看资源 get
//查看所有pods
kubelet get pods 可缩写 po //查看所有nodes
kubelet get nodes//查看pod对应的节点服务器
[root@master01 dashboard]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NO
nginx-dbddb74b8-qpw7t 1/1 Running 0 7m53s 172.17.95.4 192.168.75.201 <none>
nginx-dbddb74b8-vrhw4 1/1 Running 0 13m 172.17.71.3 192.168.75.144 <none>
nginx-dbddb74b8-zmhcl 1/1 Running 0 9m52s 172.17.71.2 192.168.75.144 <none>
- 查看所有nodes 详情pod资源对应的后端node 节点情况
[root@master01 dashboard] kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
192.168.75.144 Ready <none> 16h v1.12.3 192.168.75.144 <none> CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 docker://19.3.13
192.168.75.201 Ready <none> 16h v1.12.3 192.168.75.201 <none> CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 docker://19.3.13
- 查看集群状态
[root@master01 dashboard]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
192.168.75.144 Ready <none> 16h v1.12.3
192.168.75.201 Ready <none> 16h v1.12.3
- 查看所有区域的pod
[root@master01 dashboard]# kubectl get po --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default nginx-dbddb74b8-qpw7t 1/1 Running 0 13m
default nginx-dbddb74b8-vrhw4 1/1 Running 0 18m
default nginx-dbddb74b8-zmhcl 1/1 Running 0 15m
kube-system kubernetes-dashboard-65f974f565-v5zt8 1/1 Running 0 132m
- 查看资源并导出
3种方式查看一个pod的详细信息和参数:
//以yaml文件形式显示一个pod的详细信息
[root@master01 dashboard]# kubectl get po nginx-dbddb74b8-qpw7t -o yaml // nginx-dbddb74b8-qpw7t podname
apiVersion: v1
kind: Pod
metadata:creationTimestamp: 2020-10-09T04:12:40ZgenerateName: nginx-dbddb74b8-labels:pod-template-hash: dbddb74b8run: nginxname: nginx-dbddb74b8-qpw7tnamespace: defaultownerReferences:省略。。。。。。。。。。。。。。。。。。。//正在运行的podkubectl get po nginx-dbddb74b8-qpw7t -o yaml > /opt/nginx.yaml//以jison格式输出pod的详细信息。kubectl get po <podname> -o json kubectl get po <podname> -o json >/opt/nginx.yaml
- 查看pod所有信息(sever 、 name 、pod)
kubectl get all
- 查看pod资源创建过程
kubectl get pods -w
10.查看关联的后端节点(内部)
kubectl get ep (endpoints)
- 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间
kubectl get pod
kubectl get pod -n kube
kubectl get pod -o wide
- 查看 RC 和 service 列表, -o wide 查看详细信息
kubectl get rc,svc
kubectl get pod,svc -o wide
kubectl get pod <pod-name> -o yaml
- 显示指定 Node 的详细信息
kubectl describe node 192.168.0.212(node ip地址)
- 显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod <pod-name> //使用kubectl get pods 查看pod name
eg:
kubectl describe pod redis-master-tqds9
- 查看节点 labels
kubectl get node --show-labels
16.查看pod labels
kubectl get pods --show-labels
- 查看资源对象简写
[root@localhost bin]# kubectl api-resources
二、创建资源 apply create
- 根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml
- 基于镜像创建pod资源
格式 : kubectl run --image=镜像名 --port=端口 --replicas=3 (设置副本集,这里的副本集设置之后,K8s有自我修复能力,如果pod发生故障将会自动修复一直保持3个副本)
[root@localhost bin]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx created
[root@localhost bin]# kubectl get pods,deployment
NAME READY STATUS RESTARTS AGE
pod/nginx-7697996758-jbln5 1/1 Running 0 47s
pod/nginx-7697996758-xgxzd 1/1 Running 0 47s
pod/nginx-7697996758-xjdlz 1/1 Running 0 47sNAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.extensions/nginx 3 3 3 3 47s
三、删除资源
- 基于 pod.yaml 定义的名称删除 pod
kubectl delete -f pod.yaml
- 基于podname 删除
[root@localhost bin]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-deployment-5477945587-b8r6m 1/1 Running 0 12m
nginx-deployment-5477945587-dz8hb 1/1 Running 0 12m
nginx-deployment-5477945587-wd82l 1/1 Running 0 12m
[root@localhost bin]# kubectl delete deploy/nginx-deployment //控制器deployment之后再删server //有延迟
[root@localhost bin]# kubectl get pods
No resources found.
- 删除所有包含某个 label 的pod 和 service
kubectl delete pod,svc -l name=<label-name>
- 删除所有 Pod
kubectl delete pod --all
- 删除当前所有资源 - 高危命令
kubectl delete -f .
- 强制删除命令
//问题处理
//如果遇到处于Terminating状态的无法删除的资源如何处理
[root@localhost demo]# kubectl get pods
NAME READY STATUS RESTARTS AGE
my-tomcat-57667b9d9-nklvj 1/1 Terminating 0 10h
my-tomcat-57667b9d9-wllnp 1/1 Terminating 0 10h
//这种情况下可以使用强制删除命令:
kubectl delete pod [pod name] --force --grace-period=0 -n [namespace][root@localhost demo]# kubectl delete pod my-tomcat-57667b9d9-nklvj --force --grace-period=0 -n default
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "my-tomcat-57667b9d9-nklvj" force deleted[root@localhost demo]# kubectl delete pod my-tomcat-57667b9d9-wllnp --force --grace-period=0 -n default
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "my-tomcat-57667b9d9-wllnp" force deleted
四、执行 pod 的 date 命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 10.24.51.9
五、通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash
六、查看容器的日志 log
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 实时查看日志
kubectl log <pod-name> -c <container_name> # 若 pod 只有一个容器,可以不加 -c kubectl logs -l app=frontend # 返回所有标记为 app=frontend 的 pod 的合并日志。
七、查看注释explain
kubectl explain pod
kubectl explain pod.apiVersion
八、重启 pod
kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml | kubectl replace --force -f -
九、修改网络类型
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'
十、进入pod
//进入pod
[root@localhost bin]# kubectl exec -it nginx-7697996758-75shs bash
root@nginx-7697996758-75shs:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
root@nginx-7697996758-75shs:/#
十一、查看pod资源yaml文件并导出
//自动测试命令的正确性,并不执行创建
[root@localhost demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-runkubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx-deployment created (dry run)//查看生成yaml格式
[root@localhost demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml//查看生成json格式
[root@localhost demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json[root@localhost demo]# kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml > my-deployment.yaml
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.[root@localhost demo]# ls
my-deployment.yaml nginx-deployment.yaml nginx-service.yaml//将现有的资源生成模板导出
[root@localhost demo]# kubectl get deploy/nginx --export -o yaml//保存到文件中
[root@localhost demo]# kubectl get deploy/nginx --export -o yaml > my-deploy.yaml//查看字段帮助信息
[root@localhost demo]# kubectl explain pods.spec.containers
kubectl基本命令相关推荐
- kubectl查看node状态_适用于初学者的基本 kubectl 和 Helm 命令 | Linux 中国
去杂货店"采购"这些命令,你需要用这些 Kubernetes 工具来入门.-- Jessica Cherry 去杂货店"采购"这些命令,你需要用这些 Kuber ...
- Kubernetes集群功能演示:deployment的管理和kubectl的使用
通过一段学习,我们的Kubernetes已经部署起来,现在就开始功能的演示. Kubectl是管理k8s集群的命令行工具,通过生成的json格式传递给apiserver进行创建.查看.管理的操作. 一 ...
- 【容器】kubectl|K8S常用命令总结|crictl管理命令
目录 即可即用 kubectl常用命令总结 kubectl 查看 K8s 内节点.Pod 资源使用情况 kubectl get - 列出一个或多个资源 kubectl describe - 显示资源的 ...
- kubectl全部命令用法示例
文章目录 1 kubectl命令总结 2 kubectl命令用法测试 create expose run set explain get edit delete rollout scale autos ...
- k8s学习-kubectl命令常用选项详解与实战
目录 概述 语法 资源类型 输出选项 实战 基本命令 create get edit delete 集群管理 cluster-info top cordon && uncordon d ...
- Kubectl 常用命令大全(*)
前言 Kubectl是一个用于操作kubernetes(k8s)集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具. Kubectl 常用 ...
- k8s中kubectl命令的使用
资源管理方式 命令式对象管理:直接使用命令去操作kubernetes资源 [root@master ~]# kubectl run nginx-pod --image=nginx:1.17.1 --p ...
- Kubectl 常用命令, 开发人员常用k8s命令
Kubectl 常用命令: 什么是常用,我用的,就是常用的
- mysql基本命令总结_mysql 常用基本命令总结
mysql 常用基本命令1.登录 MySQL服务器 mysql –h ip地址:端口(如果是3306可以省略) –u mysql用户名 -p mysql -h localhost:3306 -u ro ...
最新文章
- 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
- 计算圆弧与矩形相交_GIS算法:3_拓扑空间关系计算模型DE-9IM
- python内置collections模块的使用
- 【白话机器学习】算法理论+实战之关联规则
- 机器学习中的不平衡分类方法(part6)--支持向量机
- matlab绘3d图
- Linux安装MYSQL5.7教程(一次成功)
- python刚出来多少薪资-Python工资待遇的几个层级,你工作几年了?目前是哪个层级?...
- android 系统框架 dx
- 数值优化之高斯-牛顿法(Gauss-Newton)
- 如何通过iMazing导出Safari浏览器的历史记录
- Java基础知识和进阶
- 洛谷 P1725 琪露诺 题解
- 计算机音乐文爱图片,CG/贺敬轩《文爱》[FLAC/MP3-320K]
- c程序设计语言看第几版,到底该怎样评价谭浩强版《C程序设计》?
- 计算机网络提供给用户的常见服务有文件服务,【填空题】计算机网络提供给用户的常见服务主要有文件服务、消息传递服务、__________服务和应用服务。...
- 通过拼音模糊搜索汉字的功能实现
- height:100%和height:100vh的区别
- #Reading Paper# 【序列推荐】ICKM 2022 RETR:Recommender Transformers with Behavior Pathways
- 中国无乳糖食物行业市场供需与战略研究报告
热门文章
- CAD动态块怎么设置可见性?CAD动态块设置技巧
- Java-具有新建、打开和保存功能的简单记事本
- QLabel设置字体大小和内容
- Django contrib Comments 评论模块详解
- 绘图软件有哪些免费使用操作
- MongoDB的启动方法
- [机器学习速成课程] 稀疏性正则化 (Regularization for Sparsity)-学习笔记
- 极验验证码(6.0.9)破解(四) 之 'aa' 参数调试和分析
- Mac电脑使用:关闭iMessage上登陆的账号,关闭iMessage功能
- 开机、注销后自动登录Windows