UI 404 - Vault Kubernetes

UI 404 - Vault Kubernetes

我正在 Kubernetes 中测试 Vault 并通过 Helm chart 安装。我已经创建了一个覆盖文件,它是来自官方文档的几个不同页面的合并。

pods 似乎正常并进入就绪状态,我可以使用生成的 3 个密钥手动解封保管库。我在浏览 UI 时遇到 404 问题,但是 UI 在 AKS 中的负载平衡器上显示在外部。这是我的配置:

global:
  enabled: true
  tlsDisable: false

injector:
  enabled: false

server:

  readinessProbe:
    enabled: true
    path: "/v1/sys/health?standbyok=true&sealedcode=204&uninitcode=204"
  # livenessProbe:
  #   enabled: true
  #   path: "/v1/sys/health?standbyok=true"
  #   initialDelaySeconds: 60

  extraEnvironmentVars:
    VAULT_CACERT: /vault/userconfig/vault-server-tls/vault.ca

  extraVolumes:
    - type: secret
      name: vault-server-tls # Matches the ${SECRET_NAME} from above

  standalone:
    enabled: true
    config: |
      listener "tcp" {
        address = "[::]:8200"
        cluster_address = "[::]:8201"
        tls_cert_file = "/vault/userconfig/vault-server-tls/vault.crt"
        tls_key_file  = "/vault/userconfig/vault-server-tls/vault.key"
        tls_client_ca_file = "/vault/userconfig/vault-server-tls/vault.ca"
      }

      storage "file" {
        path = "/vault/data"
      }

# Vault UI
ui:
  enabled: true
  serviceType: "LoadBalancer"
  serviceNodePort: null
  externalPort: 443

  # For Added Security, edit the below
  #  loadBalancerSourceRanges:
          #    5.69.25.6/32

我仍在努力掌握 Vault。我的 liveness 探测被注释掉了,因为它永久失败并导致 pod 被重新安排,即使检查 vault 服务状态它似乎是健康的并等待解封。与 UI 相比,这是一个附带问题,只是提一下,以防与失败的活性相关。

谢谢!

所以,我不认为有关从 Helm 在 Kubernetes 中部署的文档真的那么清楚,但我基本上缺少 HCL 配置节中的 ui = true 标志。需要注意的是,这是传递给 helm chart 的值的补充:

# Vault UI
ui:
  enabled: true
  serviceType: "LoadBalancer"
  serviceNodePort: null
  externalPort: 443

我错误地认为这足以启用 UI。

这是现在的配置,可以正常工作 UI:

global:
  enabled: true
  tlsDisable: false

injector:
  enabled: false

server:

  readinessProbe:
    enabled: true
    path: "/v1/sys/health?standbyok=true&sealedcode=204&uninitcode=204"

  extraEnvironmentVars:
    VAULT_CACERT: /vault/userconfig/vault-server-tls/vault.ca

  extraVolumes:
    - type: secret
      name: vault-server-tls # Matches the ${SECRET_NAME} from above

  standalone:
    enabled: true
    config: |
      ui = true
      listener "tcp" {
        address = "[::]:8200"
        cluster_address = "[::]:8201"
        tls_cert_file = "/vault/userconfig/vault-server-tls/vault.crt"
        tls_key_file  = "/vault/userconfig/vault-server-tls/vault.key"
        tls_client_ca_file = "/vault/userconfig/vault-server-tls/vault.ca"
      }

      storage "file" {
        path = "/vault/data"
      }

# Vault UI
ui:
  enabled: true
  serviceType: "LoadBalancer"
  serviceNodePort: null
  externalPort: 443