kubectl相关指令
***
kubectl中的双横杠
kubectl中的双横杠(--)代表着kubectl命令项的结束,在两个横杠之后的内容是指在pod内部里需要执行的命令,如果不使用双横杠则可能会导致结果异常和歧义错误。如果需要执行的命令并没有以横杠开始的参数,则横杠不是必需的。
kubectl cluster-info
kubectl get nodes
kubectl describe node {nodeName}
kubectl run {applicationName} --image=fanqisoft/coreqi --port=8080 --generator=run/v1 replicationcontroller "{applicationName}" created
kubectl get pods
kubectl get pods -o wide
kubectl get po --show-labels
kubectl get po -L creation_method,env
kubectl get po --namespace {namespaceName}
#-n为--namespace的简写形式
kubectl get po -n {namespaceName}
kubectl describe pod {podName}
kubectl expose rc {applicationName} --type=LoadBalancer --name {serviceName} service "{serviceName}" exposed
kubectl get services
kubectl get replicationcontrollers
kubectl get rc
kubectl scale rc[replicationcontroller] {podName} --replicas=3
kubectl describe rc {rcName}
minikube dashboard
⒕从已有的pod获取YAML或JSON描述文件
kubectl get po {podName} -o yaml
kubectl get po {podName} -o json
⒖使用kubectl获取描述文件帮助
kubectl explain pods
kubectl explain pod.spec
⒗使用YAML描述文件创建pod
kubectl create -f kubia-manual.yaml
#kubectl create -f 命令用于从YAML或JSON文件创建任何资源(不只是pod)
#使用YAML描述文件创建pod并指定命名空间
kubectl create -f kubia-manual.yaml -n custom-namespace
⒘查看pod日志(更准确的说是查看容器的日志)
kubectl logs {podName}
#每天或者每次日志文件达到10M大小时,容器日志都会自动轮替。
#kubectl logs命令仅显示最后一次轮替后的日志条目
#如果我们的pod包含多个容器,在运行kubectl logs命令时则必须通过包含-c {containerName}选项来显式指定容器名称。
kubectl logs {podName} -c {containerName}
#我们只能获取存在pod的日志,当pod被删除后,它的日志也会被删除。
#如果我们希望在pod删除之后仍然可以获取其日志,则需要设置中心化的、集群范围的日志系统,将所有日志存储到中心存储中。 #kubectl logs显示的是当前容器的日志,那么当前容器上一次奔溃的日志是无法通过该命令显示出来的,通过添加--previous选项来完成
#必要时通过kubectl describe po {podName}查看上次奔溃原因
kubectl logs {podName} --previous
⒙端口转发(用于主机和pod之间通信),也可以使用暴露服务进行通信
kubectl port-forward kubia-manual 8888:8080
⒚pod标签
为已创建的pod添加标签
kubectl label po {podName} labelKey=labelValue
为已创建的pod修改标签【--overwrite参数是必要的,否则kubectl将只打印出警告并不会更改标签,这样是为了防止我们在想要添加新标签时无意中更改了现有标签的值】
kubectl label po {podName} labelKey=labelValue --overwrite
⒛使用标签选择器列出指定标签的pod
#列出指定标签值的pod
kubectl get po -l labelKey=labelValue
#列出在指定标签值范围内的pod
kubectl get po -l labelKey in (labelValue1,labelValue2)
#列出不在指定标签值范围内的pod
kubectl get po -l labelKey notin (labelValue1,labelValue2)
#列出不等于指定标签值的pod
kubectl get po -l labelKey!=labelValue
#列出包含指定标签的pod,无论其值如何
kubectl get po -l labelKey
#列出不包含指定标签的pod(确保使用单引号来包含!labelKey,这样bash shell才不会解释感叹号,感叹号在bash中有特殊含义,表示事件指示器)
kubectl get po -l '!labelKey'
#使用多条件
kubectl get po -l labelKey1=labelValue1,labelKey2=labelValue2
21.node(节点)标签
#向节点添加标签
kubectl label node {nodeName} labelKey=labelValue
#获取指定标签值的节点
kubectl get nodes -l labelKey=labelValue
22.pod注解
#向pod中添加注解
kubectl annotate pod {podName} annotateKey="annotateValue"
#查看注解使用describe命令即可
kubectl describe pod {podName}
23.命名空间
#列出所有的命名空间
kubectl get ns
#创建命名空间 #创建一个custom-namespace.yaml
apiVersion: v1 #指定当前描述文件遵循v1版本的KubernetesAPI
kind: Namespace #表示我们正在定义一个命名空间
metadata:
name: custom-namespace #定义命名空间的名称 #使用kubectl执行命令
kubectl create -f custom-namespace.yaml #还可以直接使用kubectl命令创建命名空间(命名空间名称不允许包含点号)
kubectl create namespace custom-namespace
24.删除命名空间
#删除命名空间(pod将会伴随命名空间的删除而自动删除)
kubectl delete ns {namespaceName}
#删除命名空间中的(几乎)所有资源【ReplicationController、pod、service等将会被删除,而一些资源例如Secret等不会被删除,它们需要被明确的指定删除】
kubectl delete all --all
#命令中的第一个all指定正在删除所有资源类型,而--all选项指定将删除所有资源示例而非按照名称指定它们
#kubectl delete all --all命令也会删除名为kubernetes的service,但它将在几分钟后自动重新创建
24.删除pod
#删除pod
#根据pod名称删除pod
kubectl delete po {podName1} {podName2}
#根据pod标签输出pod
kubectl delete po -l labelKey=labelValue
#删除当前命名空间下的所有pod(不会删除命名空间)
kubectl delete po --all
25.编辑ReplicationController
kubectl edit rc {rcName}
这将在你的默认文本编辑器中打开ReplicationController的YAML配置。保存更改并退出编辑器后,kubectl将更新ReplicationController并打印以下消息:replicationcontroller "kubia" edited
配置kubectl edit 使用不同的文本编辑器可以通过设置KUBE_EDITOR环境变量来告诉kubect1使用你期望的文本编辑器。例如,如果你想使用nano编辑Kubernetes资源,请执行以下命令(或将其放入~/.bashrc或等效文件中):export KUBE_EDITOR="/usr/bin/nano"
如果未设置KUBEEDITOR环境变量,则kubect1edit会回退到使用默认编辑器(通常通过EDITOR环境变量进行配置)。
26.删除ReplicationController
当你通过kubect1 delete 删除ReplicationController时,pod也会被删除。
但是由于由ReplicationController创建的pod不是ReplicationController的组成部分, 只是由其进行管理,因此可以只删除ReplicationController并保持pod运行。
#使用kubectl delete 删除ReplicationController时,可以通过给命令增加--cascade=false选项保持pod的运行,此时这些pod将独立,它们不再被管理,但我们始终可以使用适当的标签选择器创建新的ReplicationController并再次将它们管理起来
kubectl delete rc {rcName} --cascade=false
kubectl相关指令的更多相关文章
- AnjularJS系列2 —— 表单控件功能相关指令
第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...
- Linux相关指令
Linux相关指令 1.find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行 ...
- Linux指令--性能监控和优化命令相关指令
原文出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html.感谢作者无私分享 性能监控和优化命令相关指令有:top,free,v ...
- 常见压缩格式分析,及 Linux 下的压缩相关指令
可先浏览加粗部分 一.常见压缩档 *.zip | zip 程式壓縮打包的檔案: (很常见,但是因为不包含文件名编码信息,跨平台可能会乱码) *.rar | winrar 程序压缩打包的档案:(在win ...
- adb相关指令 笔记
adb相关指令 笔记 1.adb devices 查看物理测试设备或模拟器的相关信息,有三个状态: (1)device 设备已连接到adb服务器上,但该状态并不代表设备已启动完毕可以进行操作: ( ...
- 汇编 OD 标志位 置位相关指令
知识点: l 标志位 置位相关指令 l 标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW) 标志寄存器PSW是一个16为的寄存器.它反映了CPU运算的状态特征并且存放某些控制标志. ...
- AllowOverride以及Options相关指令
AllowOverride以及Options相关指令 httpd.conf是Apache的主要配置文件,但是针对每个目录,apache还允许在它们各自的目录下放置一个叫做.htacess的文 ...
- ADB相关指令实例详解
1.获取物理设备相关信息: adb devices 2.apk安装 2.1 新的应用(该应用未安装) adb -s 设备序列号 install apk路径 2.2 应用已安装,重安装覆盖 adb -s ...
- 【AnjularJS系列2 】— 表单控件功能相关指令
第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...
随机推荐
- 编译参数(-D)
程序中可以使用#ifdef来控制输出信息 #include<stdio.h> #define DEBUG int main() { ; ; int sum = a + b; #ifdef ...
- 7.20T1
排序(sort) [问题描述] 有 n 个人依次站在小 A 面前.小 A 会依次对这 n 个人进行 m 次操作. 每次操作选择一个位置 k,将这 n 个人中的所有身高小于等于当前 k 位置的 人的身高 ...
- hadoop HA+Federation(高可用联邦)搭建配置(一)
hadoop HA+Federation(高可用联邦)搭建配置(一) 标签(空格分隔): 未分类 介绍 hadoop 集群一共有4种部署模式,详见<hadoop 生态圈介绍>. HA联邦模 ...
- 【洛谷2053】 [SCOI2007]修车(费用流)
传送门 洛谷 Solution 考虑把每一个修车工人拆成\(n\)个点,那么考虑令\(id(i,j)\)为第\(i\)个工人倒数第\(j\)次修车. 然后就可以直接跑费用流了!!! 代码实现 /* m ...
- 【平台中间件】为什么用etcd而不用ZooKeeper?从应用场景到实现原理的全方位解读
前言 博主在工作过程中经常接触到ETCD,搜索相关资料的时候发现排名最高的是一篇图片全是404的转载文章,后来看到了原文,感觉有义务让更多的人看到这样的精品文章,所以进行了转载. 原文发布在infoQ ...
- Consider defining a bean of type `xxx` in your configuration问题解决
在使用SpringBoot装配mybatis时出现了异常 *************************** APPLICATION FAILED TO START *************** ...
- webpack入门-配置项
一.常用配置 1.enter(表示入口,webpack从此处开始构建) 2.output(配置输出结果) 3.module(关于模块的配置,内部可以配置loader) 4.resolve(配置寻找模块 ...
- SQL-W3School-基础:SQL 语法
ylbtech-SQL-W3School-基础:SQL 语法 1.返回顶部 1. 数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如“客户”或者“订单”).表包含带有数据的记录(行) ...
- java中字符串左右补齐【转】
/** * 右左补齐 */ public static String padRight(String src, int len, char ch) { int diff = len - src.len ...
- Restful 风格
大家在做Web开发的过程中,method常用的值是get和post. 可事实上,method值还可以是put和delete等等其他值.既然method值如此丰富,那么就可以考虑使用同一个url,但是约 ...