我试图将我的应用程序部署到运行在谷歌容器中的Kubernetes 引擎。

该应用程序可以在https://github.com/Industrial/docker-znc上找到。

Dockerfile内置于谷歌容器注册表上的映像中。

我已经通过+按钮在Kubernetes中部署了应用程序。我没有YAML 对于这个。

我已经在Kubernetes中插入了一个Secret,用于应用程序所需的PEM文件。

如何获得由创建的部署、服务和Pod的YAML Kubernetes通过填写表格? 我如何把秘密进入我的豆荚使用?


当前回答

可以通过该命令获取资源的yaml文件 kubectl -n <命名空间> get <资源类型> <资源名称> -o yaml . > . kubectl -n <命名空间> get <资源类型> <资源名称> 为了把秘密带到你的舱里,

使用这样的方法

env
- valueFrom
    secretKeyRef:
      name: secret_name
      key: key_name

or

envFrom
- secretRef:
    name: secret_name

 

其他回答

如何获得由创建的部署、服务和Pod的YAML Kubernetes通过填写表格?

kubectl get deployment,service,pod yourapp -o yaml --export

回答@Sinaesthetic的问题:

您知道如何为整个集群(所有部署)执行此操作吗?

kubectl get deploy --all-namespaces -o yaml --export

此方法的问题是导出不包括名称空间。因此,如果你想同时导出许多资源,我建议逐个命名空间执行:

kubectl get deploy,sts,svc,configmap,secret -n default -o yaml --export > default.yaml

不幸的是,kubernetes仍然不支持真正的get all命令,因此您需要手动列出想要导出的资源类型。可以获得资源类型的列表

kubectl api-resources
kubectl -n <namespace> get <resource type> <resource Name> -o yaml 

使用上面的命令,Kubernetes中定义的任何资源都可以以YAML格式导出。

下面的代码将一次性提取所有K8s定义,并将它们放在当前文件夹下面的单独文件夹中。

for OBJ in $(kubectl api-resources --verbs=list --namespaced -o name)
do
   for DEF in $(kubectl get --show-kind --ignore-not-found $OBJ -o name)
   do
      mkdir -p $(dirname $DEF)
      kubectl get $DEF -o yaml \
      | yq eval 'del(.metadata.resourceVersion, .metadata.uid, .metadata.annotations, .metadata.creationTimestamp, .metadata.selfLink, .metadata.managedFields)' - > $DEF.yaml 
   done
done

从kubernetes下载yaml的语法

kubectl get [resource type] -n [namespace] [resource Name] -o yaml > [New file name]

从运行的pod创建yaml文件:

kubectl得到po -n nginx nginxdeploymentt55cfc7dcf -5s7j8 -o yaml > podDetail.yaml

从运行的pod中创建副本yaml文件:

kubectl get rs -n nginx -o yaml > latestReplicaSet.yaml

从运行的pod创建部署yaml文件:

kubectl get deploy -n nginx -o yaml > latestdeployment .yaml

可以通过该命令获取资源的yaml文件 kubectl -n <命名空间> get <资源类型> <资源名称> -o yaml . > . kubectl -n <命名空间> get <资源类型> <资源名称> 为了把秘密带到你的舱里,

使用这样的方法

env
- valueFrom
    secretKeyRef:
      name: secret_name
      key: key_name

or

envFrom
- secretRef:
    name: secret_name