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 ...
随机推荐
- Java-basic-6-方法
命令行参数的使用 public class test { public static void main(String args[]) { for(int i = 0; i < args.len ...
- asm-offset.h 生成
转自:https://blog.csdn.net/linglongqiongge/article/details/50008301 http://www.cnblogs.com/wendellyi/p ...
- stm32L0工程建立(HAL+IAR,无cubemx)
https://files.cnblogs.com/files/CodeWorkerLiMing/STM32HAL%E5%BA%93%E5%AD%A6%E4%B9%A0%E2%80%94%E5%B7% ...
- hdu 5441
Travel Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- JavaScript 将当地时间转换成其它时区
毫无疑问,用JavaScript脚本可以通过直接查看用户的时钟,方便地在网页上显示本地时间. 但是,如果你想显示不同地区的时间—--例如,如果你的本部在别的国家,你想查看“本国”时间而非当地时间,又该 ...
- [转] sublime插件
Sublime Text 系列 Sublime Text:学习资源篇 Sublime插件:增强篇 Sublime插件:Markdown篇 Sublime插件:C语言篇 Sublime插件:主题篇 Su ...
- Oracle 了解 DDL 操作与 REDO 的关系
目录 了解 DDL 操作与 REDO 的关系 DDL是否会产生REDO 通过 10046 trace 来分析create 和drop 如果drop失败,redo的变化 了解 DDL 操作与 REDO ...
- 微信小程序的那些坑
早闻微信小程序是个坑,结果名不虚传,细数一下我开发小程序遇过到坑. 1.UI组件过度封装. 微信小程序的组件是模仿react.js或vue.js的web组件设计的,并且封装了weui.css样式. P ...
- 使用phppgadmin 遇到的小问题
无法登录,显示错误消息如下: Error:login disallowed for security reasons. 解决方法: 修改conf/config.inc.php文件中的extra_log ...
- JAVA-两种后台页面跳转方式
1.请求转发 RequestDispatcher rd = request.getRequestDispatcher("url"); rd.forward(request, res ...