Kubernetes objects:kubernetes系统中的持久化实体,kubernetes用这些实体描述集群的状态,它可以描述:
什么程序正在运行,在哪个节点运行;
程序可用的资源;
程序工作的策略,如重启策略、升级、容错等
每个kubernetes对象包含2个子段:spec、status
当创建一个kubernetes对象必须创建一个spect描述期望的对象状态以及一些基本信息(比如名字);大部分,是以yaml文件的形式提交信息给kuberctl;kubectl转换信息为json格式;
创建kubenetes对象的必要字段:
apiversion: Kubernetes API版本
kind: 所要创建的对象种类
metadata: 用于唯一标识对象的元数据
spec: 所期望的对象的状态
示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
使用kubectl基于yaml生成json配置文件:
kubectl apply -f https://k8s.io/examples/application/deployment.yaml --record