k8s资源清单定义入门
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资源清单定义入门的更多相关文章
- k8s学习笔记之四:资源清单定义入门
第一章.k8s中的资源 1.什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 2.在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet D ...
- 四,k8s集群资源清单定义入门
目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, Daem ...
- Kubenetes 资源清单定义入门
Kubernetes 常用资源 资源 对象 工作负载型资源对象(workload): Pod Replicaset ReplicationController Deployments Stat ...
- 04-kubernetes 资源清单定义入门
目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, Daem ...
- Kubernetes 学习5 kubernetes资源清单定义入门
一.kubernetes是有一个restful风格的 API,把各种操作对象都一律当做资源来管理.并且可通过标准的HTTP请求的方法 GET,PUT,DELETE,POST,等方法来完成操作,不过是通 ...
- kubernetes 资源清单定义入门
k8s中的资源 什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet Deploymen ...
- 5、kubernetes资源清单定义入门
使用配置清单创建资源 定义pod时使用yaml格式 master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE client / Error 1 ...
- kubernetes系列06—kubernetes资源清单定义入门
本文收录在容器技术学习系列文章总目录 1.认识kubernetes资源 1.1 常用资源/对象 workload工作负载型资源:pod,ReplicaSet,Deployment,StatefulSe ...
- Kubernetes学习之路(十)之资源清单定义
一.Kubernetes常用资源 以下列举的内容都是 kubernetes 中的 Object,这些对象都可以在 yaml 文件中作为一种 API 类型来配置. 类别 名称 工作负载型资源对象 Pod ...
随机推荐
- Ubuntu添加环境变量
在 Ubuntu 系统中有两种设置环境变量 PATH 的方法.第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH. 第一种方法: 在用户主目录下有一个 .bashrc 文件,可以在此文 ...
- 同一条sql在mysql5.6和5.7版本遇到的问题。
之前用的是mysql 5.6版本,执行select * from table group by colunm 是可以出结果的, 但是切换的5.7版本,这条sql就报错, Expression #1 o ...
- joyoi tyvj1313 [NOIP2010初赛]烽火传递
单调队列优化dp #include <iostream> #include <cstdio> using namespace std; int dp[1000005], n, ...
- jquery如何获取某一个兄弟节点
$('#id').siblings() 当前元素所有的兄弟节点 $('#id').prev() 当前元素前一个兄弟节点 $('#id').prevaAll() 当前元素之前所有的兄弟节点 $('#id ...
- 配置hibernate常见问题
连接MySql时出现:The server time zone value '�й���ʱ��' is unrecognized or represents more than one time z ...
- javascript 内置日期转换方法
var d = new Date(); console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间) console.log(d.t ...
- 一个通用的Makefile框架
先做一个简单的记录,后续有时间再慢慢完善补充细节. 先上一个整体图片: 其中,最重要的文件就是:program_template.mk. 下面是program_template.mk最重要的内容: $ ...
- selenium - 常用页面操作
# 2.常用页面操作 # 访问某一个页面url = 'http://www.baidu.com'driver.get(url) # 获取页面的标题title = driver.titleprint(t ...
- linux快速查看同局域网的其他在线主机
安装一个nmap工具,直接 nmap -sP 192.168.1.1/24 即可
- php 操作excel
<?php $dir=dirname(__FILE__);//查找当前脚本所在路径 require $dir."/db.php";//引入mysql操作类文件 require ...