K8s对象分类
资源对象:Pod,RS,RC,Deployment,StatefulSet,DaemonSet、Job、CronJob、HPA、Node、Namespace、Service、Ingress、Label、CustomResourceDefinition
策略对象:SecurityContext,ResourceQuota、LimitRange
存储对象:Configmap、Secret、PersistentVolume、Volume
身份对象:ServiceAccount、Role、ClusterRole
理解K8s对象
K8s对象是持久化到Etcd用来描述整个集群状
K8s对象一旦创建,K8s系统将持续工作确保对象处于声明的期望状态
Kubectl作为CLI可以调用Apiserver来对集群中对象进行CRUD
对象的字段
对象拥有两个字段,spec(期望)、status(实际状态)
描述K8s对象
kubectl命令行接口会将我们定义yaml格式转换为JSON格式再调用Apiserver去操作资源
官网示例的yaml,看spec字段,描述了期望副本数、描述容器模板
apiVersion: apps/v1beta1 #K8sAPI版本
kind: Deployment #资源类型
metadata: #元数据,名称,lable,namespace,注解等
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80