Kubernetes使用入口主机名路由到服务|钥匙斗篷

问题描述

我应该在服务/入口yaml中添加哪个字段,以便可以使用入口中指定的关联(外部)主机名从同一集群中的另一个Pod到达服务?

我正在使用具有认入口类(Nginx)的microk8s,并且我需要一种可以在任何kubernetes平台(azure,gke,aks)上使用的解决方

我需要使用入口主机名从我的nodejs应用程序访问身份验证服务器(密钥斗篷)。我无法使用服务名称,因为令牌验证会失败(JWT ISS检查)。

谢谢!

解决方法

基于此SO post,可以使用Helm自定义值和hostAliases来完成。

原始问题的掌舵模板化解决方案。我用 头盔3。

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
    {{- with .Values.hostAliases }}
      hostAliases:
{{ toYaml . | indent 8 }}
    {{- end }}

对于诸如以下的值

hostAliases:
  - ip: "10.0.0.1"
    hostnames:
    - "host.domain.com"

如果在值中省略了hostAliases或将其注释掉,则 呈现模板时,将省略hostAliases部分。