从命令命令制作清单文件

时间:2019-03-05 07:09:19

标签: kubernetes export manifest declaration imperative

我正在阅读k8s,它有2种使用方法。他们两个是互补的。

今天,我尝试了一种功能来获取声明性文件(清单文件)。

假设我创建了namespace实例

$ kubectl create namespace cert-manager
namespace/cert-manager created

然后我下次导出清单文件以使用声明性方法

kubectl get namespace cert-manager -o yaml --export > cert-manager.yaml

cert-manager.yaml

apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: null
  name: cert-manager
  selfLink: /api/v1/namespaces/cert-manager
spec:
  finalizers:
  - kubernetes
status:
  phase: Active

与其他示例比较

apiVersion: v1
kind: Namespace
metadata:
  name: nginx-ingress

问题

第二个较短的清单文件是否正确完成?

1 个答案:

答案 0 :(得分:1)

是的,您的第二个清单文件是正确的。

spec描述了对象的所需状态-对象要具有的特征。 status描述了对象的实际状态,并由Kubernetes系统提供和更新。

Namespace对象只有一个可选字段finalizers,每当删除命名空间时,观察者就可以清除资源。

因此,最简单的namespace manifest file如下:

apiVersion: v1
kind: Namespace
metadata:
  name: <namespace-name>