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

3/2/2019

I am practicing k8s from katacoda. Currently I am working on ingress.yaml. This is chapter has extra kind of services come to the yaml file. They are Namespace, Secret, ServiceAccount, and ConfigMap. For Secret I can read on other chapter to understand it later.

Questions:

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

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

-- Sarit
katacoda
kubernetes
kubernetes-ingress

1 Answer

3/7/2019

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

No, it's not required. They are different Kubernetes resources and can be created independently. But you can place several resource definition in one YAML file just for convenience.

Alternatively you can create separate YAML file for each resource and place them all in the same directory. After that one of the following commands can be used to create resources in bulk:

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

Namespace is just a placeholder for Kubernetes resources. It should be created before any other resources use it.

ServiceAccount is used as a security context to restrict permission for specific automation operations.

ConfigMap is used as a node independent source of 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?

Not quite clear question, but I believe you can use cert-manager for that.

cert-manager is quite popular solution to manage certificates for Kubernetes cluster.

-- VAS
Source: StackOverflow