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指令合集相关推荐

  1. git 强制更新远程_版本控制管理工具git的常见指令合集

    今天小千就来给大家介绍一下git中比较常见的指令合集,方便大家使用git,建议收藏起来方便日后查阅. 一.常见的命令 git help <command> # 显示command的help ...

  2. JAVA我的世界给op_我的世界开服侠怎么给op 我的世界op指令合集

    我的世界开服侠是一款完全免费且好用的开服辅助,能够帮助玩家一键开服和小伙伴们一起玩耍,操作也十分的简单,最近看到很多小伙伴在问我的世界开服侠添加op的办法,那么今天就跟着小编一起看一下吧. 我的世界开 ...

  3. 超实用:Vue 自定义指令合集

    大家好,我是漫步 前面我已经分享过一篇"分享8个非常实用的Vue自定义指令"文章,里面教了大家如何使用自定义指令,以及几个使用的指令,下面这篇文章也是类似内容,希望你会喜欢.记得查 ...

  4. 开箱即用,超实用的 Vue 自定义指令合集

    作者:Huup_We juejin.cn/post/6963840401899782175 在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的情况下,你仍然需要对普通 DOM 元素进行底 ...

  5. shell分析日志常用指令合集

    数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...

  6. 逆向知识内存ARM常用的汇编指令合集

    ARM   处理器的指令集可以分为 跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.加载/存储指令.协处理器指令和异常产生指令  六大指令,这里把其它几个指令一起发了出来,可以查看具体的目录 ...

  7. C51最全111条汇编指令合集,以及使用时的注意事项,超详细

    direct 以地址来命名的变量 所有的变量都需要放到一个存储单元中,这个存储单元都一定有一个地址 特别注意!!!!!寄存器的名字单独写出就代表了把该寄存器中的数据,即它就代表其里面的内容,而不是他的 ...

  8. 51单片机——汇编指令合集

    目录 指令格式 编译语句实例 单片机的寻址方式 立即数(Immediate Constants)寻址方式 直接(Direct Addressing)寻址方式 寄存器(Register Addressi ...

  9. Linux零基础从入门到精通,必学的55个指令合集【上篇】

    Linux学习笔记 资料下载: 链接: https://pan.baidu.com/s/1UvwkJaEJO7W3sU5qkCgKzA?pwd=fe2f 提取码: fe2f 本篇文章主要适用0基础的读 ...

最新文章

  1. 简评游戏人工智能相关的中文书(下)
  2. 知识蒸馏综述:蒸馏机制
  3. MySQL内部开发人员如何看待MySQL组复制?
  4. 风雨网规路:跌倒了,是件坏事吗?
  5. “十亿赌约”,雷军输,董明珠胜?
  6. 推模式下dataset1下显示的是...未找到项目... 问题的解决
  7. NHibernet能带来什么呢?
  8. pycharm写python三个双引号_Pycharm中批量添加单引号,双引号的方法(爬虫Headers中批量加引号)...
  9. Cgroups控制cpu,内存,io示例
  10. 29.FFmpeg+OpenGLES+OpenSLES播放器实现(三.FFmpeg配置和编译脚本)
  11. 学神经网络需要什么基础,神经网络需要什么基础
  12. 【作业锦集】机器人学导论-空间变换及Matlab实现(part-1)
  13. 猿创征文|从单机百万tpmc到分布式千万tpmc,GaussDB性能提升的3个关键技术剖析
  14. 读懂React原理之调和与Fiber
  15. Java小题精炼训练营(篇十三)
  16. 2021-泛微OA V8 SQL注入漏洞
  17. 电商战决胜在物流 聚美优品破瓶颈发展
  18. 填词作文:新的一年,新的梦想
  19. nginx 前端小图标配置
  20. 用Django加PIL做一个证件照模板生成器网页

热门文章

  1. 网络测速服务器OpenSpeedTest
  2. 2019.08_【FSGAN】_Subject Agnostic Face Swapping and Reenactment 论文翻译
  3. 【Carsim学习】Carsim2019安装教程
  4. 高级自动化测试常见面试题(Web、App、接口)
  5. dbeaver替换Navicat后某些网络无法连接问题解决
  6. 乐视android用流量监控,应用锁/双卡流量管理 EUI 5.8让安全更进一步
  7. C++实现别踩白块儿(双人版)
  8. Nginx系列--upstream模块的使用
  9. 【论文精读】KD-MVS
  10. 快手2019校招笔试题