我的 ingress.yaml 中是否需要 Namespace、Secret、ServiceAccount 和 ConfigMap?

Do I need Namespace, Secret, ServiceAccount, and ConfigMap in my ingress.yaml?

我正在练习 katacoda 的 k8s。目前我正在研究 ingress.yaml。本章为 yaml 文件提供了额外的服务。他们是Namespace, Secret, ServiceAccount, and ConfigMap。 对于Secret我可以阅读其他章节以便稍后理解。

问题:

  1. 我需要在 ingress.yaml 中使用 Namespace, ServiceAccount, and ConfigMap 吗?

  2. 假设我Caddy制作https。示例中的 Secret 是硬编码。如何实现一定时间后自动续费?

Do I need to use Namespace, ServiceAccount, and ConfigMap in my ingress.yaml?

不,这不是必需的。它们是不同的 Kubernetes 资源,可以独立创建。但是为了方便,您可以将多个资源定义放在一个 YAML 文件中。

或者,您可以为每个资源创建单独的 YAML 文件,并将它们全部放在同一目录中。之后可以使用以下命令之一来创建资源 in bulk:

kubectl create -f project/k8s/development
kubectl create -f project/k8s/development --recursive

Namespace 只是 Kubernetes 资源的占位符。它应该在任何其他资源使用它之前创建。

ServiceAccount 用作安全上下文以限制特定自动化操作的权限。

ConfigMap 用作 configuration/file/environment 的节点独立源 for pods.


Suppose I Caddy to make https. Secret from the example is a hardcode. How can I achieve automatically renew after certain period?

不是很清楚的问题,但我相信您可以为此使用 cert-manager。

cert-manager 是管理 Kubernetes 集群证书的非常流行的解决方案。