kubernetes yaml文件工具

kubernetes yaml文件工具。

kubernetes推荐使用yaml文件定义对象,而非直接使用kubectl执行定义create/run命令。

导出已有资源的yaml

kubectl get <resource-type> <resource> --export -o yaml以yaml格式导出系统中已有资源描述。

# kubectl get pod mytomcat-7d68ffdbfb-xjcz4 --export  -o yaml > mytomcat.yml
Flag --export has been deprecated, This flag is deprecated and will be removed in future.

注意,未来版本的kubernetes会去掉--export参数。这里有相关的争论,感兴趣可以阅读。

如果没有--export参数,那么get资源会显示status相关的输出,对于定义kubernetes对象来说是多余的。

--dry-run

--dry-run仅打印这个对象,而不会执行命令。

# kubectl run  mytomcat --image=tomcat --port=8080 --generator=run-pod/v1  --replicas=2  --dry-run -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: mytomcat
  name: mytomcat
spec:
  containers:
  - image: tomcat
    name: mytomcat
    ports:
    - containerPort: 8080
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

kompose

Kompose是Kubernetes社区开发的一个转换工具,可以方便地将简单的Docker Compose模板转化成为Kubernetes的Yaml描述文件,并在Kubernetes集群上部署和管理应用。

由于已经跳过docker compose阶段,以后有需要再尝试这个工具。

yaml文件常见错误

error: yaml: line 2: mapping values are not allowed in this context

key: value,注意在value和“:“之间要有一个空格。

error: yaml: line 3: found character that cannot start any token

YAML文件里面不能出现tab键。

Built with Hugo
Theme Stack designed by Jimmy