1.资源分类

a.workload型资源:service、pod、deployment、ReplicaSet、StatefulSet、Job、Cronjob;
b.服务发现及服务均衡资源型资源:Service、Ingress;
c.配置与存储型资源:Volume、ConfigMap、Secret、DownwardAPI、CSI(容器存储接口,可以扩展各种第三方的存储卷)
d.集群级资源:Namespace、Node、Role、rolebinding、clusterrolebinding;
e.元数据型资源:HPA、podtemplate、limitrange(限制资源的如cpu、内存等)
查看pod的yaml格式清单
kubectl get pods myapp-9b4987d5-lwqnj -o yaml
spec: # 规格、特性,用户期望的状态
tolerations: # 容忍度
status:# 显示当前资源的当前状态

2.创建资源的方法

apiserver仅接受json格式的资源定义;yaml可以无损转换为json,所以使用yaml格式提供配置清单,apiserver可自动将其转换为json格式,然后再提交.使用命令kubectl run,最终也是自动转为json格式的资源定义.

大部分资源的配置清单包含:

a.apiVersion:表示属于哪个api群组和版本,可以通过kubectl api-versions查看,显示方式为group/version
b.Kind:资源类别,有pod、deloyment等
c.metadata:元数据,包括:
1)name:在同一资源下name是必须唯一的;
2)namespace:名称空间
3)labels:标签
4)annotations:资源注解
5)selfLink:每个资源引用的PATH,格式为/api/GROUP/VERSION/namespaces/NAMESPACE/TYPE/NAME
6)spec:定义用户期望的目标状态(disired state)
7)status:表示当前状态,让当前状态向期望的目标状态靠近,本字段由k8s集群维护 # pod怎么定义,即查看帮助手册
kubectl explain pods
# 查看medadata下有哪些字段可以用
kubectl explain pod.metadata
kubectl explain pods.spec.containers

3.用yaml创建pod

mkdir manifests && cd manifests/
cat pod-demo.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
itsDeploy: myapp
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v1
- name: busybox
image: busybox
command:
- "/bin/sh"
- "-c"
- "echo $(date) >> /usr/share/nginx/html/index.html; sleep 5" # 命令式资源清单,也叫声明式资源清单
kubectl create -f maniteste/pod-demo.yaml
# 1个pod跑2个容器,"-"表示某个参数可以有多个,譬如containers中的name
kubectl describe pods pod-demo
# 查看日志
kubectl logs pod-demo myapp
# 进入运行中的容器,当然我创建的这个进不去,因为镜像太小,不支持
kubectl exec -it pod-demo -c myapp -- /bin/bash
# 删除pod
kubectl delete -f maniteste/pod-demo.yaml

参考博客:http://blog.itpub.net/28916011/viewspace-2213934/

python2.7源码安装MySQLdb:https://blog.csdn.net/lovemysea/article/details/79881382

k8s资源清单定义入门的更多相关文章

  1. k8s学习笔记之四:资源清单定义入门

    第一章.k8s中的资源 1.什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 2.在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet D ...

  2. 四,k8s集群资源清单定义入门

    目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, Daem ...

  3. Kubenetes 资源清单定义入门

    Kubernetes 常用资源 资源  对象 工作负载型资源对象(workload): Pod  Replicaset  ReplicationController  Deployments Stat ...

  4. 04-kubernetes 资源清单定义入门

    目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, Daem ...

  5. Kubernetes 学习5 kubernetes资源清单定义入门

    一.kubernetes是有一个restful风格的 API,把各种操作对象都一律当做资源来管理.并且可通过标准的HTTP请求的方法 GET,PUT,DELETE,POST,等方法来完成操作,不过是通 ...

  6. kubernetes 资源清单定义入门

    k8s中的资源 什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet Deploymen ...

  7. 5、kubernetes资源清单定义入门

    使用配置清单创建资源 定义pod时使用yaml格式 master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE client / Error 1 ...

  8. kubernetes系列06—kubernetes资源清单定义入门

    本文收录在容器技术学习系列文章总目录 1.认识kubernetes资源 1.1 常用资源/对象 workload工作负载型资源:pod,ReplicaSet,Deployment,StatefulSe ...

  9. Kubernetes学习之路(十)之资源清单定义

    一.Kubernetes常用资源 以下列举的内容都是 kubernetes 中的 Object,这些对象都可以在 yaml 文件中作为一种 API 类型来配置. 类别 名称 工作负载型资源对象 Pod ...

随机推荐

  1. Ubuntu添加环境变量

    在 Ubuntu 系统中有两种设置环境变量 PATH 的方法.第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH. 第一种方法: 在用户主目录下有一个 .bashrc 文件,可以在此文 ...

  2. 同一条sql在mysql5.6和5.7版本遇到的问题。

    之前用的是mysql 5.6版本,执行select * from table group by colunm 是可以出结果的, 但是切换的5.7版本,这条sql就报错, Expression #1 o ...

  3. joyoi tyvj1313 [NOIP2010初赛]烽火传递

    单调队列优化dp #include <iostream> #include <cstdio> using namespace std; int dp[1000005], n, ...

  4. jquery如何获取某一个兄弟节点

    $('#id').siblings() 当前元素所有的兄弟节点 $('#id').prev() 当前元素前一个兄弟节点 $('#id').prevaAll() 当前元素之前所有的兄弟节点 $('#id ...

  5. 配置hibernate常见问题

    连接MySql时出现:The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time z ...

  6. javascript 内置日期转换方法

    var d = new Date(); console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间) console.log(d.t ...

  7. 一个通用的Makefile框架

    先做一个简单的记录,后续有时间再慢慢完善补充细节. 先上一个整体图片: 其中,最重要的文件就是:program_template.mk. 下面是program_template.mk最重要的内容: $ ...

  8. selenium - 常用页面操作

    # 2.常用页面操作 # 访问某一个页面url = 'http://www.baidu.com'driver.get(url) # 获取页面的标题title = driver.titleprint(t ...

  9. linux快速查看同局域网的其他在线主机

    安装一个nmap工具,直接 nmap -sP 192.168.1.1/24 即可

  10. php 操作excel

    <?php $dir=dirname(__FILE__);//查找当前脚本所在路径 require $dir."/db.php";//引入mysql操作类文件 require ...