资源: 对象
下面介绍一下在k8s上常用的资源: 注:很少单独使用pod,一般都是用pod控制器控制pod,因此各种各样的控制器都属于workload类型
1.工作负载型资源:workload :Pod,ReplicasSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob.....
2.服务发现及均衡:Service, Ingress,....
3.配置与存储:Volume,CSI 云存储 ConfigMap ,Secret DownwardAPI
4.集群级资源: Namespace, Node,Role, ClusterRole RoleBinding, ClusterRoleBinding
5.元数据型资源: HPA PodTemplate LimitRange
包括单不仅限于这些个资源间进行使用,那么在创建资源的使用除了使用kubectl,还可以使用其他的配置方式
一般称为配置清单来创建: 举个例子:
[root@server1 ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
client 1/1 Running 0 2h
myapp-848b5b879b-lj66h 1/1 Running 0 1h
myapp-848b5b879b-tbnjb 1/1 Running 0 1h
myapp-848b5b879b-tl78s 1/1 Running 0 1h
nginx-deploy-5b595999-stvlq 1/1 Running 0 2h
那么在get pod 得到容器的内部的详细信息 使用 yaml文件输出 ,输出出来的结果是我们定义容器的格式,由很多属性和字段组成
[root@server1 ~]# kubectl get pod myapp-848b5b879b-lj66h -o yaml
apiVersion: v1 对用的对象属于k8s的哪一个版本,或者api的组的版本 group/version,core
kind: Pod 资源类别
metadata: 元数据,这是一个嵌套的字段
creationTimestamp: 2019-05-03T12:48:51Z
generateName: myapp-848b5b879b-
labels:
pod-template-hash: "4046164356"
run: myapp
name: myapp-848b5b879b-lj66h
namespace: default
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: myapp-848b5b879b
uid: f0b9c68c-6d9d-11e9-a366-525400d49963 唯一标识符,系统自动生成,不用自定义
resourceVersion: "18686"
selfLink: /api/v1/namespaces/default/pods/myapp-848b5b879b-lj66h 自引用:再api中
uid: cd4fcc8c-6da1-11e9-a366-525400d49963
spec: 规格 ,定义创建的资源对象用改具有什么样的特性,如ÿ