4、kubernetes资源清单快速入门190625
一、资源清单概念
- 资源/对象的类型
- 工作负载型资源:Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, Cronjob, ...
- 服务发现及均衡性资源:Service, Ingress, ...
- 配置与存储型资源:Volume, CSI, ConfigMap, DownwardAPI
- 集群级资源:Namespace, Node, Role, ClusterRole, RoleBinding, ClusterRoleBinding
- 元数据型资源:HPA, PodTemplate, LimitRange
二、配置清单入门
1、配置清单简介
- 输出配置清单
~]# kubectl get pod nginx-deploy-bc9ff65dd-m8k46 -o yaml
apiVersion: v1 #对象属于哪个组,此对象属于核心组,core/v1
kind: Pod #具体资源对象
metadata: #元数据
creationTimestamp: "2019-06-24T13:33:09Z"
generateName: nginx-deploy-bc9ff65dd-
labels:
pod-template-hash: bc9ff65dd
run: nginx-deploy
name: nginx-deploy-bc9ff65dd-m8k46
namespace: default
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: nginx-deploy-bc9ff65dd
uid: 0e2bf48a-822f-4a05-8779-fa97998f0eb3
resourceVersion: "86123"
selfLink: /api/v1/namespaces/default/pods/nginx-deploy-bc9ff65dd-m8k46
uid: 817f0411-67c6-43db-aef0-54ac0465bc94
spec: #规格,定义资源对象的特性或规范,也叫期望状态
containers:
- image: nginx:1.14
imagePullPolicy: IfNotPresent
name: nginx-deploy
ports:
- containerPort: 80
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: default-token-4q4c9
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
nodeName: node01
priority: 0
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: default
serviceAccountName: default
terminationGracePeriodSeconds: 30
tolerations: #容忍度
- effect: NoExecute
key: node.kubernetes.io/not-ready
operator: Exists
tolerationSeconds: 300
- effect: NoExecute
key: node.kubernetes.io/unreachable
operator: Exists
tolerationSeconds: 300
volumes:
- name: default-token-4q4c9
secret:
defaultMode: 420
secretName: default-token-4q4c9
status: #显示资源当前状态,当前状态无限向期望状态靠近
conditions:
- lastProbeTime: null
lastTransitionTime: "2019-06-24T13:33:09Z"
status: "True"
type: Initialized
- lastProbeTime: null
lastTransitionTime: "2019-06-24T13:40:27Z"
status: "True"
type: Ready
- lastProbeTime: null
lastTransitionTime: "2019-06-24T13:40:27Z"
status: "True"
type: ContainersReady
- lastProbeTime: null
lastTransitionTime: "2019-06-24T13:33:09Z"
status: "True"
type: PodScheduled
containerStatuses:
- containerID: docker://fa614bd334c9985121436b1ef3bf3c2cab6ca77e8e2a8171ad37172872f6147b
image: nginx:1.14
imageID: docker-pullable://nginx@sha256:f7988fb6c02e0ce69257d9bd9cf37ae20a60f1df7563c3a2a6abe24160306b8d
lastState: {}
name: nginx-deploy
ready: true
restartCount: 0
state:
running:
startedAt: "2019-06-24T13:40:26Z"
hostIP: 192.168.100.61
phase: Running
podIP: 10.244.1.2
qosClass: BestEffort
startTime: "2019-06-24T13:33:09Z"
- 创建资源的方法
- apiserver仅接受json格式的资源定义
- yaml格式提供配置清单,apiserver可自动将其转为json格式再提交
- 资源引用方式
/api/GROUP/VERSION/namespaces/NAMESPACE/TYPE/NAME
- 资源定义帮助获取
~]# kubectl explain pods
2、配置清单的常用字段定义
- apiVersion:group/version
~]# kubectl api-versions #显示所有支持的api版本
- kind:资源类别,Pod, Service, ...
- metadata:元数据
name:资源名称
namespace:kubernetes级别的名称空间
labels:标签
annotaions:注解
- spec:期望状态,disired state
- status:当前状态,current state,此字段有kubernetes集群自动维护,无需定义
三、Pod资源配置清单定义
- 创建一个自主式Pod
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
app: myapp
tier: frontend #层次:前端
spec:
containers:
- name: myapp
image: dongfeimg/myapp:v1
- 根据配置清单启动/删除pod
# kubectl create -f pod-demo.yaml
# kubectl describe pods pod-demo #查看详细信息
# kubectl delete -f pod-demo.yaml
4、kubernetes资源清单快速入门190625的更多相关文章
- kubernetes系列06—kubernetes资源清单定义入门
本文收录在容器技术学习系列文章总目录 1.认识kubernetes资源 1.1 常用资源/对象 workload工作负载型资源:pod,ReplicaSet,Deployment,StatefulSe ...
- 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 ...
- 04 . kubernetes资源清单YAML入门
YAML 通过k8s操作yaml配置文件在node上创建资源,yaml配置文件就像船垛,用来操控docker这艘大船 yam是专门用来写配置文件的语言,非常简洁和强大.而实际上使用yaml配置文件创建 ...
- 3、kubernetes应用快速入门190625
一.kubernetes应用入门 1.kubectl命令 Basic Commands create Create a resource from a file or from stdin. expo ...
- Kubenetes 资源清单定义入门
Kubernetes 常用资源 资源 对象 工作负载型资源对象(workload): Pod Replicaset ReplicationController Deployments Stat ...
- k8s学习笔记之四:资源清单定义入门
第一章.k8s中的资源 1.什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 2.在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet D ...
- 04-kubernetes 资源清单定义入门
目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, Daem ...
随机推荐
- ALS部署Spark集群入坑记
[Stage 236:> (0 + 0) / 400]17/12/04 09:45:55 ERROR yarn.ApplicationMaster: User class threw excep ...
- day 14 装饰器
装饰器:装饰,装修,房子就可以住,如果装修,不影响你住,而且体验更加,让你生活中增加了很多功能:洗澡,看电视,沙发.器:工具.开放封闭原则:开放:对代码的拓展开放的, 更新地图,加新枪,等等.封闭:对 ...
- echats 油表盘 鼠标拖动指针改变数值
近期需要做一个鼠标拖动完成油表盘数值改变的功能,使用canvas感觉太麻烦,而且指针不太好监听和拖动,只能另谋出路,在网上参考了某位大神的操作,最终选择了echats来解决这个问题.废话不多说,直接上 ...
- 【三】Django模版的使用
作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视图可以使用 ...
- Linux运维必会的100道MySql面试题之(一)
01 如何启动MySql服务 /etc/init.d/mysqld start service mysqld start Centos 7.x 系统 sysctl start mysqld 02 检 ...
- SQLite3中自增主键相关知识总结,清零的方法、INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用
这篇文章主要介绍了SQLite3中自增主键相关知识总结,清零的方法.INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用等,需要的朋友可以参考下 一.SQLite清空表 ...
- Solr IK分词器配置
下载地址:https://search.maven.org/search?q=com.github.magese 分词器配置: 参考:https://www.cnblogs.com/mengjinlu ...
- Linux部署Redis及PHP-redis扩展
Redis是一个key-value存储系统,属于我们常说的NoSQL.它遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它常用在缓存.队列.P ...
- pycharm使用已经配置好的virtualenv环境
前面已经介绍过基本的virtualenv使用方法,如想要了解的同学可以跳转https://www.cnblogs.com/weilijie/p/10964872.html 下面进入正题,我使用的是py ...
- jenkins项目名称改后,同步nginx配置
jenkins项目名称修改后,workspace的名称会同步更改,构建完了和原来的不是一个路径,如果每个前端项目一个单独的tomcat的话,需要更改nginx配置 /etc/nginx/conf.d