人生苦短,我用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
- Oracle 常用命令
- 设计模式:适配器模式
- 干货:Sqoop导入导出数据练习
- 腾讯云 CDB : 深入解析 MySQL binlog
- 说说JSON和JSONP( 含jquery例子)
- 用 WPF 写的颜色拾取器
- $(window).load()与$(document).ready()的区别
- silverlight 双击事件
- Silverlight button 图片切换样式
- 【腾讯云CDB】教你玩转MyRocks/RocksDB—STATISTICS与后台线程篇
- Caliburn.Micro学习笔记(一)----引导类和命名匹配规则
- SpringMVC下Excel文件的上传下载
- Spring-AOP之aspectj注解方式
- wpf键盘记录器
- 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 数组属性和方法
- 项目实战|业务处理层实现
- java安全编码指南之:lock和同步的正确使用
- 前端设计模式之工厂模式
- 前端构建 DevOps - Gitlab Api
- 重要性抽样方法实例分享
- K8S 生态周报| Helm v3.3.4 发布
- 项目实战|缓存处理
- 前端构建 DevOps - 搭建 DevOps 基础平台(上)
- 线剪裁算法简介
- 使用OpenCV和Python生成电影条形码
- 前端构建 DevOps - 搭建 DevOps 基础平台(中)
- 从 0 到 1 node 项目管理系统:搭建基础平台(下)
- Fiddler是个问题少女,又作又可招人爱
- devOps:构建篇-Jenkins
- H5 基础脚手架:极速构建项目