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

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

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

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

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

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


当前回答

所有的服务

kubectl get service --all-namespaces -o yaml  > all-service.yaml

所有部署

kubectl get deploy --all-namespaces -o yaml  > all-deployment.yaml

其他回答

我们可以使用下面的命令获取已部署资源的yaml。

kubectl get <resource name> -o yaml

                OR
kubectl get <resource name> <name of pod> -o yaml

例子:-

  kubectl get deploy Nginx -o yaml

以上命令将为您提供yaml输出。

如果您想将输出存储到任何文件中,可以使用以下命令。

kubectl get pod nginx -o yaml > Nginx-pod.yaml

上面的命令会将输出重定向到Nginx-pod。Yaml在您的当前目录。

所有的服务

kubectl get service --all-namespaces -o yaml  > all-service.yaml

所有部署

kubectl get deploy --all-namespaces -o yaml  > all-deployment.yaml

可以使用以下命令-存储已部署kubernetes服务的输出 Kubectl get SVC -n -o yaml > SVC -output.yaml

对于部署-

kubectl get deploy <deployment-name> -n <your-namespace> -o yaml > deploy-output.yaml

豆荚

kubectl get pod <pod-name> -n <your-namespace> -o yaml > pod-output.yaml

您可以使用以下命令-获取您的秘密详细信息 Kubectl得到秘密-n -o yaml 要使用更新部署文件,请使用以下命令- Kubectl编辑部署-n 在你的pod模板下添加以下-

这将在吊舱容器部分下,将秘密体积挂载到容器 volumeMounts: -名称:foo mountPath:“/ etc / foo” 只读的:真 这将在部署时进入pod模板部分 卷: -名称:foo 秘密: secretName: mysecret

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

使用这样的方法

env
- valueFrom
    secretKeyRef:
      name: secret_name
      key: key_name

or

envFrom
- secretRef:
    name: secret_name

 

和@Janos Lenart的回答只有微小的区别!

kubectl get deploy deploymentname -o yaml > outputFile。Yaml就行