人生苦短,我用k8s--------------kuberctl命令合集
时间:2022-07-28
本文章向大家介绍人生苦短,我用k8s--------------kuberctl命令合集,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、 kubectl --help 详解
1、基础命令
create 创建资源
expose 使用 replication controller, service, deployment 或者 pod
并暴露它作为一个 新的 Kubernetes Service 主要是暴露端口
run 在集群中运行一个指定的镜像
set 为 objects 设置一个指定的特征 做版本设置的时侯会用到
2、中级指令
explain 查看资源的文档
get 显示一个或更多 get pod get node get all(可以查看所有)
edit 直接编辑现在运行的资源
delete 删除资源
3、部署性指令
rollout 回滚到上一级
scale 为 Deployment, ReplicaSet, Replication Controller 或者 Job
设置一个新的副本数量 弹性伸缩的功能 设置副本数量
autoscale 自动调整一个 Deployment, 副本级, 自动弹性收缩
4、集群管理指令
certificate 证书颁发
cluster-info 显示集群信息
top 查看pod的动态资源状态
cordon 标记为污点
uncordon 清除污点
drain 节点维护的时候使用这条指令 在升级的时候使用
taint 污点(一旦某个节点,打上污点的标记 就不会再它上面创建资源
探针是查看节点的健康值
5、查看pod信息
describe 详细显示 pod的信息 $ kubectl describe nodes kubernetes-minion-emt8.c.myproject.internal
logs 输出容器在 pod 中的日志
attach 用于连接到一个指定的容器 并不是进入容器 相当于远程连接容器
exec 进入容器 跟容器进行交互
port-forward 端口转发到一个或者多个端口 端口映射
proxy 代理apiserver
cp 从本地复制一个东西到容器中
auth 安全验证
6、高级指令
apply 业务更新使用
patch 更新一个指定文件的资源
replace 替换一个资源
wait 等待 超时时间
convert 做二次开发的时候 要用到api版本 要写进调度文件
7、设置指令
label 打标签
annotate 打注释
completion Output shell completion code for the specified shell (bash or zsh)
8、其他指令
alpha Commands for features in alpha
api-resources 哪一些资源名称可以缩写
api-versions 可以看到apiversion版本信息 哪些可用
config 修改 kubeconfig 文件
plugin Provides utilities for interacting with plugins.
version 输出 client 和 server 的版本信息
二、kuberctl常见运维命令
1、常见管理容器生命周期操作命令
kubectl run nginx-test --image=nginx --port=80 --replicas=3 //创建三个nginx实例
kubectl get pods -w //-w:动态查看
kubectl get pods -o wide //查看资源创建在那个节点上
kubectl get all //查看更详细信息:副本资源和控制器资源
kubectl get deployment,replicaset //仅查询pod资源的两个项
kubectl get svc //查看原有的service服务
kubectl expose deployment nginx-test --port=80 --target-port=80 --name=nginx-service --type=NodePort //将刚刚创建的暴露出来
kubectl get endpoints //查看具体的service是在哪一台节点上创建的
kubectl api-resources //查询所有可以缩写的服务
yum -y install ipvsadm //1.18版本以后使用ipvs进行负载均衡
ipvsadm -Ln //-L是以列表显示 -n是以数字显示 查看负载的端口和ip 对应访问
kubectl logs nginx-test-7fcfb6488c-mmhrm //查看访问日志 可以先get pod 然后查看id
kubectl set image deployment/nginx-test nginx-test=nginx:1.13 //滚动更新nginx的版本kuberctl get pod -w 动态查看
kubectl rollout history deployment/nginx-test //查看回滚历史
kubectl rollout undo deployment/nginx-test //执行回滚 回滚到上一次更新的地方
kubectl delete deployment/nginx-test //删除pod
kubectl delete svc/nginx-service //删除service
kubectl describe deployment.apps //查看deployment控制器的所有子控制器
kubectl exec -it nginx-dbddb74b8-5s6h7 bash //进容器命令
kubectl run nginx-test01 --image=nginx --port=80 --replicas=2 --dry-run -o yaml //此命令直接生成yaml文件内容展示出来,并不会保存
kubectl run nginx-test01 --image=nginx --port=80 --replicas=2 --dry-run -o json //也可以生成json格式
kubectl run nginx-test01 --image=nginx --port=80 --replicas=2 --dry-run -o yaml > nginx-test01.yaml //自动生成yaml格式的文件并保存
kubectl get deployment/nginx --export -o yaml > nginx-test02.yaml //将现有的资源导入到yaml文件 也是相当于备份了
kubectl explain pods.spec.containers //查看yaml文件中的某一字段的帮助信息
kubectl delete pod xxx --force --grace-period=0 //强制删除某一pod
[root@localhost yaml]# kubectl scale deployment nginx-test --replicas=4 //加控制节点 replicas 设置成4个节点
kuberctl edit deploy/nginx //编辑yaml文件 这里注意的是编辑的是deployment控制器
2、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
- redis集群 - linux安装与配置笔记
- Apache RocketMQ 4.0.0 - linux安装与配置笔记
- 数据库连接池-tomcat-jdbc食用笔记
- Java.NIO编程一览笔录
- Hbase 学习(三)Coprocessors
- Spring4+Spring MVC+MyBatis整合思路
- Zookeeper ACL权限配置及zkclient示例
- Spring Session 实现分布式会话管理
- 通过ambari安装hadoop集群(一)
- Hbase 学习(十) HBase Snapshots
- sqoop 常用命令整理(二)
- oozie 重新提交作业
- Hbase 学习(十一)使用hive往hbase当中导入数据
- WF追忆
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux部署DNS服务器
- 【C++简明教程】C++简介与环境配置
- PDF 的各种操作,我用 Python 来实现(附网站和操作指导)
- Python中map()函数用法
- 谈谈不同思路下造就的不同产品与公司形态
- OpenCV 处理中文路径、绘制中文文字的烦恼,这里通通帮你解决!
- 如何快速分析大型系统架构?
- Linux小技巧、文件查找、修改、读取
- 我在赏金计划中发现的RACE条件漏洞
- 哦!数组还能这么用,学到了!
- 【C++简明教程】随机数生成
- Pytest标记预期失败得测试用例@pytest.mark.xfail()
- IAT HOOK
- 形式化分析工具(六):HLPSL Tutorial
- 推荐一款技术人必备的接口测试神器:Apifox