kubernetes命令详情

查看客户端和服务器侧的版本信息
kubectl version
列出当前版本的kubernetes的服务器端所支持的api版本信息
kubectl api-versions
查看版本源
kubectl api-resources
查看帮助,语法格式
kubectl explain rc 创建
kubectl run nginx --replicas= --labels="app=example" --image=nginx:1.10 --port=
在创建的时候指定运行的命令
kubectl run busybox --image=busybox --command -- ping baidu.com
在pod中运行命令
kubectl exec nginx-6f8cf9fbc4-lvsqj ls
进入pod
kubectl exec nginx-6f8cf9fbc4-lvsqj -it bash
进入pod的某个容器
kubectl exec pod-demo -it --container busybox -- bash
kubectl exec pod-demo -it -c myapp -- bash
创建命名空间
kubectl create namespace mytest
查看命名空间
kubectl get namespace
查看pod标签
kubectl get pods --show-labels
查看指定标签的pod
kubectl get pods -l run=nginx
查看deploy
kubectl get deploy
查看pod详细信息
kubectl get pods -o wide
查看所有
kubectl get all
查看一个服务详细信息
kubectl describe service nginx-service
kubectl describe node nodehost
kubectl describe deployment myapp
查看endpoint
kubectl get endpoints
升级nginx至1.9.1
kubectl set image deploy nginx nginx=nginx:1.9.
暂停更新
kubectl rollout pause deployment myapp-deploy
继续更新
kubectl rollout resume deployment myapp-deploy
监控查看升级状态
kubectl rollout status deployment nginx
查看某个历史版本
kubectl rollout history deployment nginx --revision=
回滚到上一版本
kubectl rollout undo deployment/nginx-deployment
--to-revision参数指定回滚到某个历史版本
kubectl rollout undo deployment/nginx-deployment --to-revision=2
删除deployment
kubectl delete deployment nginx
查看在集群信息
kubectl cluster-info
超详细集群信息
kubectl cluster-info dump
查看所有名称空间的serivceaccount
kubectl get sa --all-namespace
查看默认的名称空间使用的是哪个secret
kubectl get sa default -o yaml
发布一个服务
kubectl expose deployment nginx --port= --type=NodePort --target-port= --name=nginx-service
–port:宿主机暴露出去的端口
–type=NodePort:使用结点+端口方式访问服务
–target-port:容器的端口
–name:创建service指定的名称 deployment扩容缩容
kubectl scale deployment nginx --replicas=
将get信息到出为yaml格式
kubectl get deploy kube-dns -n kube-system -o yaml > kube-dns.yaml
设置节点为维护模式(即节点不可被调度,但不影响已有pod的运行)
kubectl cordon k8s-slave
kubectl cordon 192.168.1.123
关闭维护模式
kubectl uncordon k8s-slave 查看日志
mysql--1dnm2
从容器中复制文件到宿主机
kubectl cp mysql--1dnm2:/tmp/message.log message.log
编辑
kubectl edit service nginx
替换
kubectl replace -f nginx_forreplace.yaml
删除node
kubectl drain node03 --delete-local-data --force --ignore-daemonsets
kubectl delete node node01
kubeadm reset 使用策略合并补丁并修补资源
kubectl patch node k8s-node- -p '{"spec":{"unschedulable":true}}' # 部分更新节点
更新容器镜像; spec.containers[*].name 是必须的,因为这是合并的关键字
kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'
使用具有位置数组的 json 补丁更新容器镜像
kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'
使用具有位置数组的 json 补丁禁用 deployment 的 livenessProbe
kubectl patch deployment valid-deployment --type json -p='[{"op": "remove", "path": "/spec/template/spec/containers/0/livenessProbe"}]'
使用文件或者标准输入来更改配置信息。
kubectl apply -f nginx/nginx.yaml
自动在某个范围内扩容,跟scale不同的是前者还是需要手动执行,而autoscale则会根据负载进行调解,通过最小值和最大值的指定进行设定
kubectl autoscale deployment nginx --min= --max=5 --cpu-percent=80 执行drain命令,发现这条命令做了两件事情:
. 设定此node不可以使用(cordon)
. evict了其上的两个pod
[root@ku8- tmp]# kubectl drain 192.168.32.134
node "192.168.32.134" cordoned
pod "nginx-2476590065-d6h8f" evicted
pod "nginx-2476590065-9lfzh" evicted
node "192.168.32.134" drained
[root@ku8- tmp]#
结果确认
evict的意思有驱逐和回收的意思,让我们来看一下evcit这个动作的结果到底是什么。
结果是134上面已经不再有pod,而在132和133上新生成了两个pod,用以替代在134上被退场的pod,而这个替代的动作应该是replicas的机制保证的。所以drain的结果就是退场pod和设定node不可用(排水),这样的状态则可以进行维护了,执行完后重新uncordon即可。
创建docker私有仓库的认证secret
kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
kubernetes命令详情的更多相关文章
- Docker Kubernetes 命令行创建容器
Docker Kubernetes 命令行创建容器 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...
- 手把手教你打造高效的 Kubernetes 命令行终端
Kubernetes 作为云原生时代的操作系统,熟悉和使用它是每名用户的必备技能.本文将介绍一些提高操作 Kubernetes 效率的技巧以及如何打造一个高效的 Kubernetes 命令行终端的方法 ...
- 文件内容操作命令 cat、more、less、head、tail、wc、grep 命令详情
文件内容操作命令 cat.more.less.head.tail.wc.grep 命令详情 1) cat命令 用途:显示出文件的全部内容 格式:cat 目标文件 例: ...
- kubernetes 命令使用
学会命令的查找和使用,而不是死记命令,记命令不如提高英文水平 1.kubernetes环境搭建完成后,kubernetes环境搭建参考http://www.cnblogs.com/sosogengdo ...
- Logcat命令详情
logcat是什么? Logcat 是一个命令行工具,用于转储系统消息日志,其中包括设备引发错误时的堆叠追踪以及从您的应用使用 Log类编写的消息. 格式:[adb] logcat [<opti ...
- kubernetes 命令记录
操作基本命令: 通过yaml文件创建: kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete) kubectl apply -f xxx.yaml (创 ...
- route命令详情
基础命令学习目录首页 原文链接:https://www.cnblogs.com/lpfuture/p/5857738.html 考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师 ...
- CloudFoundry命令行和Kubernetes命令行的Restful API消费方式
先说CloudFoundry的命令行工具CLI.我们在CloudFoundry环境下工作,第一个使用的命令就是cf login. 如果在环境变量里维护CF_TRACE的值为true: 则我们能发现,诸 ...
- Docker安装、命令详情、层级架构、docker服务启动失败解决方法
容器背景: 层级架构: 容器对比传统化虚拟机: 可以把docker理解成是一款自带软件(比如:nignx.tomcat.....)的镜像操作系统(首先是要下载镜像) 以下是Windows环境安装Do ...
随机推荐
- poj3126 Prime Path 广搜bfs
题目: The ministers of the cabinet were quite upset by the message from the Chief of Security stating ...
- vue app混合开发蓝牙串口连接(报错java.io.IOException: read failed, socket might closed or timeout, read ret: -1;at android.bluetooth.BluetoothSocket.connect at js/BluetoothTool.js:329)
我使用的uni-app <template> <view class="bluetooth"> <!-- 发送数据 --> <view c ...
- Excel 转为 MySQL 语句
一.方法 一.假设你的表格有A.B.C三列数据,希望导入到你的数据库中表格table,对应的字段分别是col1.col2.col3 二.在你的表格中增加一列,利用excel的公式自动生成sql语句,具 ...
- mysql命令之工作小结
1.登客户端 mysql -u userName -p password -h ip 注:u 用户名 p 密码 h ip地址 2.修改密码 UPDATE mysql.u ...
- 基础知识-Mockjs进行数据模拟
目录 1. 目标 2. 创建模拟数据服务器 3. 安装 mockjs, 熟悉 mockjs 语法 4. 设置代理,解决 vue 项目跨域问题 5. 设置响应头,解决无法获取获取 token 和 coo ...
- 通过ViewPager 实现图片轮播
通过ViewPager 实现图片轮播 首先来个效果图 布局文件: LinearLayout 用来存放下方的几个小白点. <?xml version="1.0" encodin ...
- ISP PIPLINE (七) gamma
what is the gamma? CCD.CMOS成像方式是通过像点中的"硅"感受光线的强弱而获得画面.而硅感光是物理成像,它真实地反应光线强度的变化,来多少就输出多少,因此它 ...
- luogu P3952 时间复杂度 模拟
题目链接 luogu P3952 时间复杂度 题解 直接模拟即可 注意不要直接return 我真是naive ...... 代码 #include<map> #include<sta ...
- Scrapy 框架
1. 基本使用 1.1 定义及安装 为了爬取网站数据,提取结构性数据而编写的应用框架 scrapy组件工作流程 引擎首先会将爬虫文件中的起始url获取,并且提交到调度器中.如果需要从url中下载数据, ...
- python文本读写数据
# 写方法1 f = open('tmp.txt','w') f.write('hello world') f.close() # 写方法2 with open('tmp.txt','w') as f ...