kubernetes指令合集
Pod
列出所有节点
kubectl get nodes
查看节点信息
kubectl describe node gke-kubia-85f6-node-0rrx
运行镜像,创建一个ReplicationController
kubectl run kubia --image=kuksa/kubia --port=8080 --generator=run/v1--image=kuksa/kubia 指定要运行的镜像
--port=8080 告诉k8s应用正在监听8080端口
列出pod
kubectl get pods
创建一个服务对象,告知k8s对外暴露之前创建的ReplicationController
kubectl expose rc kubia --type=LoadBalancer --name kubia-http通常的服务,例如ClusterIP服务,只能通过集群内部访问,但是LoadBalancer类型的服务,可以创建一个负载均衡,通过负载均衡的公共IP访问pod
列出服务
kubectl get services
kubectl get svcEXTERNAL-IP为外部IP,可供访问
列出replicationcontroller
kubectl get replicationcontrollers
增加期望的副本数量
kubectl scale rc kubia --replicas=3
列出pod详细信息
kubectl get pods -o wide
查看pod的其它细节
kubectl get pod kubia-hczji(pod主机名)
使用dashboard查看面板
kubectl cluster-info | grep dashboardhttp://kubemetes.io/ docs reference
yaml
查看pod的yaml
kubectl get pod kubia-aajis -o yamlpod定义由这么几个部分组成:首先是YAML中使用的kubernetes API版本和YAML描述的资源类型;其次是几乎在所有Kubernetes资源中都可以找到的三大重要部分:
* matadata包括名称、命名空间、标签和关于该容器的其他信息
* spec包含pod内容的实际说明,例如pod的容器、卷和其他数据
* status包含运行中的pod的当前信息,例如pod所处的条件、每个容器的描述和状态,以及内部IP和其他基本信息。
为pod创建一个简单的YAML描述文件
apiVersion: v1
kind: Pod
metadata:name: kubia-mufd
spec:containers:- image:luksa/kubianame:kubiaports:- containerPort:8080protocol:TCP
使用kubectl explain来发现可能的API对象字段
kubectl explain pods
kubectl explain pod.spec
使用kubectl create 来创建pod
kubectl create -f kubia-maunal.yaml
获取pod的的完整定义
kubectl get po kubia-manual -o yaml
kubectl get po kubia-manual -o json
使用kubectl logs命令获取pod日志
kubectl logs kubia-manual
获取多容器pod的日志时指定容器名称
kubectl logs kubia-manual -c kubia(容器名称)
如果想要在不通过service的情况下与某个特定的pod进行通信,k8s允许我们配置端口转发到该Pod
kubectl port-forward kubia-manual 8888:8080
标签
查看标签
kubectl get po --show-labels
查看具体的标签
kubectl get po -L creation_method,env(标签名称)
pod没有标签,给他添加新的标签
kubectl label po kubia-manual creation_method=manual
pod有标签,需要更改
kubectl label po kuia-manual env=debug --overwrite
使用标签选择器列出pod
kubectl get po -l creation_method=manual
kubectl get po -l env
kubectl get po -l '!env'
kubectl get po -l env in (debug,create)
kubectl get po -l env noti (debug,create)
kubectl get po -l env=debug,creation_method=manual
使用标签分类工作节点
kubectl label node k8s-master gpu=true
将pod调度导特定节点,使用节点选择器
apiVersion:V1
kind:Pod
matadata:name:kubia-test
spec:nodeSelector: //节点选择器gpu:"true"containers:-image:luska/kubianame:kubia
添加和修改注解
kubectl annotate pod kubia-manual mycompany.com/someannotation="foo bar"
命名空间
列出命名空间
kubectl get ns
获取指定命名空间的pod
kubectl get po --namespace kube-system
使用yaml文件创建命名空间
apiVersion:V1
kind:namespace
matadata:name:cutom
使用命令创建命名空间
kubectl create namespace custom
在使用资源时,指定命名空间
kubectl create -f kubia-maunual.yaml -n custom
删除pod
kubectl delete po kubia-manual
使用标签选择器删除
kubectl delete po -l creation_method=manual
通过删除整个命名空间删除
kubectl delete ns custom
删除命名空间所有pod,保留命名空间
kubectl delete po --all
删除命名空间中的所有资源
kubectl delete all --all
yaml文件里添加存活探针
spec:containers:-image:kubianame:kubialivenessProbe:httpGet:path:/port:8080RESTARTS表示重启次数
查看重启之前容器的日志
kubectl logs mypod --previous
定义探针时还可以添加属性
livenessProbe:httpGet:path:/port:8080initialDelaySeconds:15 k8s会在第一次探测前等待15秒apiVersion: vl
kind: Replica七ioncontroller
metada七a:
name: kubia
spec: replicas: 3 selector: //标签选择器app: kubia template: //pod模板metadata:labels: app: kubia spec: containers: - name: kubiaimage: luksa/kubiaports:- containerPor七: 8080
ReplicationController
编辑replicationController
kubectl edit rc kubia
扩缩容
kubectl scale rc kubia --replicas=3
删除replicationController,但是保留pod
kubectl delete rc --cascade=falseapiVersion: apps/vlbeta2
kind: ReplicaSet
metadata: name: kubia
spec: replicas: 3 selector: matchLabels: app: kubia template: metada七a:labels: app: kubia spec: containers: - name: kubia image:luksa/kubia
标签的值必须是kubia
selector: matchExpressions: - key: app operator: Invalues.- kubia
DaemonSet
创建一个DaemonSet
apiVersion: apps/vlbeta2
kind: DaernonSet
metadata: name: ssd-monitor
spec: selector:matchLabels: app:ssd-moitortemplate: metadata:labels: app:ssd-moitorspec: nodeSelector: //选择节点disk: ssd containers:- name: mainimage: luksa/ssd-monitor
查看DaemonSet
kubectl get ds
Job
创建Job
apiVersion: batch/vl
kind: Job metadata: name: ba七ch-job
spec: template: metadata: labels: app: batch-job spec: restartPolicy: OnFailure //重启策略默认为Always,需要修改containers: - name: main image: luksa/ba七ch-job
获取Job
kubectl get jobs
显示已完成的pod
kubectl get po -a
顺序执行同一个任务5次
apiVersion: batch/vl
kind: Job
metadata: name: multi-completion-batch-job
spec: completions: 5 //顺序运行5个pod
并行运行Job pod
apiVersion: batch/vl
kind: Job
metadata:name: multi-completion-batch-job
spec: completions: 5parallelism: 2 //最多两个pod可以并行运行
CronJob
创建一个CronJob
创建服务
apiVersion: v1
kind: Service
metadata:name: kubia
spec: ports:-port:80targetPort:8080selector:app:kubia
//创建了一个名叫kubia的服务,它将在端口80接收请求并将连接路由到具有标签选择器是app=kubia的pod的8080端口上
在运行的容器中远程执行命令
kubectl exec kubia-34dfs --curl -a http://10.333.423.424
//双横杠(--)表示在两个横杠之后的内容是指在pod内部需要执行的命令
设置会话亲和性,使得来自同一个clientIP的所有请求转发至同一个pod上
apiVersion:v1
kind:Service
spec:sessionAffinity:ClientIP
一个服务暴露多个端口
apiVersion:v1
kind:Service
spec:ports:-name:httpport:80targetPort:8080-name:httpsport:443targetPort:8443selector:app:kubia
通过环境变量发现服务
kubectl exec kubias-dfwef envKUBIA_SERVICE_HOST=10.111.249.153 服务的集群IP
KUBIA_SERVICE_PORT=80 服务端口
在pod容器中运行shell
kubectl exec -it kubia-sdfdf bash
获取endpoint信息
kubectl get endpoints kubia
kubernetes指令合集相关推荐
- git 强制更新远程_版本控制管理工具git的常见指令合集
今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...
- JAVA我的世界给op_我的世界开服侠怎么给op 我的世界op指令合集
我的世界开服侠是一款完全免费且好用的开服辅助,能够帮助玩家一键开服和小伙伴们一起玩耍,操作也十分的简单,最近看到很多小伙伴在问我的世界开服侠添加op的办法,那么今天就跟着小编一起看一下吧. 我的世界开 ...
- 超实用:Vue 自定义指令合集
大家好,我是漫步 前面我已经分享过一篇"分享8个非常实用的Vue自定义指令"文章,里面教了大家如何使用自定义指令,以及几个使用的指令,下面这篇文章也是类似内容,希望你会喜欢.记得查 ...
- 开箱即用,超实用的 Vue 自定义指令合集
作者:Huup_We juejin.cn/post/6963840401899782175 在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的情况下,你仍然需要对普通 DOM 元素进行底 ...
- shell分析日志常用指令合集
数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...
- 逆向知识内存ARM常用的汇编指令合集
ARM 处理器的指令集可以分为 跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.加载/存储指令.协处理器指令和异常产生指令 六大指令,这里把其它几个指令一起发了出来,可以查看具体的目录 ...
- C51最全111条汇编指令合集,以及使用时的注意事项,超详细
direct 以地址来命名的变量 所有的变量都需要放到一个存储单元中,这个存储单元都一定有一个地址 特别注意!!!!!寄存器的名字单独写出就代表了把该寄存器中的数据,即它就代表其里面的内容,而不是他的 ...
- 51单片机——汇编指令合集
目录 指令格式 编译语句实例 单片机的寻址方式 立即数(Immediate Constants)寻址方式 直接(Direct Addressing)寻址方式 寄存器(Register Addressi ...
- Linux零基础从入门到精通,必学的55个指令合集【上篇】
Linux学习笔记 资料下载: 链接: https://pan.baidu.com/s/1UvwkJaEJO7W3sU5qkCgKzA?pwd=fe2f 提取码: fe2f 本篇文章主要适用0基础的读 ...
最新文章
- 简评游戏人工智能相关的中文书(下)
- 知识蒸馏综述:蒸馏机制
- MySQL内部开发人员如何看待MySQL组复制?
- 风雨网规路:跌倒了,是件坏事吗?
- “十亿赌约”,雷军输,董明珠胜?
- 推模式下dataset1下显示的是...未找到项目... 问题的解决
- NHibernet能带来什么呢?
- pycharm写python三个双引号_Pycharm中批量添加单引号,双引号的方法(爬虫Headers中批量加引号)...
- Cgroups控制cpu,内存,io示例
- 29.FFmpeg+OpenGLES+OpenSLES播放器实现(三.FFmpeg配置和编译脚本)
- 学神经网络需要什么基础,神经网络需要什么基础
- 【作业锦集】机器人学导论-空间变换及Matlab实现(part-1)
- 猿创征文|从单机百万tpmc到分布式千万tpmc,GaussDB性能提升的3个关键技术剖析
- 读懂React原理之调和与Fiber
- Java小题精炼训练营(篇十三)
- 2021-泛微OA V8 SQL注入漏洞
- 电商战决胜在物流 聚美优品破瓶颈发展
- 填词作文:新的一年,新的梦想
- nginx 前端小图标配置
- 用Django加PIL做一个证件照模板生成器网页
热门文章
- 网络测速服务器OpenSpeedTest
- 2019.08_【FSGAN】_Subject Agnostic Face Swapping and Reenactment 论文翻译
- 【Carsim学习】Carsim2019安装教程
- 高级自动化测试常见面试题(Web、App、接口)
- dbeaver替换Navicat后某些网络无法连接问题解决
- 乐视android用流量监控,应用锁/双卡流量管理 EUI 5.8让安全更进一步
- C++实现别踩白块儿(双人版)
- Nginx系列--upstream模块的使用
- 【论文精读】KD-MVS
- 快手2019校招笔试题