Hashicorp保险库-客户端向HTTPS服务器发送了HTTP请求-准备情况探针

离子

当前存在一个问题,即在部署Vault Helm图表时就绪探针失败。保管箱正在工作,但是每当我描述吊舱时都会出现此错误。如果有人知道如何解决此问题,我将如何探究使用HTTPS而不是HTTP的感觉,就像慢慢失去理智一样,这真是太好了吗?

Kubectl描述豆荚

Name:         vault-0
Namespace:    default
Priority:     0
Node:         ip-192-168-221-250.eu-west-2.compute.internal/192.168.221.250
Start Time:   Mon, 24 Aug 2020 16:41:59 +0100
Labels:       app.kubernetes.io/instance=vault
              app.kubernetes.io/name=vault
              component=server
              controller-revision-hash=vault-768cd675b9
              helm.sh/chart=vault-0.6.0
              statefulset.kubernetes.io/pod-name=vault-0
Annotations:  kubernetes.io/psp: eks.privileged
Status:       Running
IP:           192.168.221.251
IPs:
  IP:           192.168.221.251
Controlled By:  StatefulSet/vault
Containers:
  vault:
    Container ID:  docker://445d7cdc34cd01ef1d3a46f2d235cb20a94e48279db3fcdd84014d607af2fe1c
    Image:         vault:1.4.2
    Image ID:      docker-pullable://vault@sha256:12587718b79dc5aff542c410d0bcb97e7fa08a6b4a8d142c74464a9df0c76d4f
    Ports:         8200/TCP, 8201/TCP, 8202/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP
    Command:
      /bin/sh
      -ec
    Args:
      sed -E "s/HOST_IP/${HOST_IP?}/g" /vault/config/extraconfig-from-values.hcl > /tmp/storageconfig.hcl;
      sed -Ei "s/POD_IP/${POD_IP?}/g" /tmp/storageconfig.hcl;
      /usr/local/bin/docker-entrypoint.sh vault server -config=/tmp/storageconfig.hcl

    State:          Running
      Started:      Mon, 24 Aug 2020 16:42:00 +0100
    Ready:          False
    Restart Count:  0
    Readiness:      exec [/bin/sh -ec vault status -tls-skip-verify] delay=5s timeout=5s period=3s #success=1 #failure=2
    Environment:
      HOST_IP:               (v1:status.hostIP)
      POD_IP:                (v1:status.podIP)
      VAULT_K8S_POD_NAME:   vault-0 (v1:metadata.name)
      VAULT_K8S_NAMESPACE:  default (v1:metadata.namespace)
      VAULT_ADDR:           http://127.0.0.1:8200
      VAULT_API_ADDR:       http://$(POD_IP):8200
      SKIP_CHOWN:           true
      SKIP_SETCAP:          true
      HOSTNAME:             vault-0 (v1:metadata.name)
      VAULT_CLUSTER_ADDR:   https://$(HOSTNAME).vault-internal:8201
      HOME:                 /home/vault
      VAULT_CACERT:         /vault/userconfig/vault-server-tls/vault.ca
    Mounts:
      /home/vault from home (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from vault-token-cv9vx (ro)
      /vault/config from config (rw)
      /vault/userconfig/vault-server-tls from userconfig-vault-server-tls (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      vault-config
    Optional:  false
  userconfig-vault-server-tls:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  vault-server-tls
    Optional:    false
  home:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  vault-token-cv9vx:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  vault-token-cv9vx
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age   From                                                    Message
  ----     ------     ----  ----                                                    -------
  Normal   Scheduled  7s    default-scheduler                                       Successfully assigned default/vault-0 to ip-192-168-221-250.eu-west-2.compute.internal
  Normal   Pulled     6s    kubelet, ip-192-168-221-250.eu-west-2.compute.internal  Container image "vault:1.4.2" already present on machine
  Normal   Created    6s    kubelet, ip-192-168-221-250.eu-west-2.compute.internal  Created container vault
  Normal   Started    6s    kubelet, ip-192-168-221-250.eu-west-2.compute.internal  Started container vault
  Warning  Unhealthy  0s    kubelet, ip-192-168-221-250.eu-west-2.compute.internal  Readiness probe failed: Error checking seal status: Error making API request.

URL: GET http://127.0.0.1:8200/v1/sys/seal-status
Code: 400. Raw Message:

Client sent an HTTP request to an HTTPS server.

保管库配置文件

# global:
#   tlsDisable: false

injector:
  enabled: false

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

  extraVolumes:
  - type: secret
    name: vault-server-tls # Matches the ${SECRET_NAME} from above
  affinity: ""
  readinessProbe:
    enabled: true
    path: /v1/sys/health
  # # livelinessProbe:
  # #   enabled: true
  # #   path: /v1/sys/health?standbyok=true
  # #   initialDelaySeconds: 60
  ha:
    enabled: true

    config: |
      ui = true

      api_addr = "https://127.0.0.1:8200" # Unsure if this is correct

      storage "dynamodb" {
        ha_enabled = "true"
        region     = "eu-west-2"
        table      = "global-vault-data"
        access_key = "KEY"
        secret_key = "SECRET"
      }

      # listener "tcp" {
      #     address = "0.0.0.0:8200"
      #     tls_disable = "true"
      # }

      listener "tcp" {
        address = "0.0.0.0:8200"
        cluster_address = "0.0.0.0: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"
      }

      seal "awskms" {
        region     = "eu-west-2"
        access_key = "KEY"
        secret_key = "SECRET"
        kms_key_id = "ID"
      }
ui:
  enabled: true
  serviceType: LoadBalancer
里科

在环境变量定义中,您具有:

VAULT_ADDR:           http://127.0.0.1:8200

非TLS在您的保险柜配置中是可行的(启用TLS):

      listener "tcp" {
        address = "0.0.0.0:8200"
        cluster_address = "0.0.0.0: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"
      }

并且您的“就绪”探针正在容器中执行:

vault status -tls-skip-verify

因此,尝试连接到http://127.0.0.1:8200,您可以尝试更改环境变量以使用HTTPS:VAULT_ADDR=https://127.0.0.1:8200

您的配置和env变量可能不匹配,可能还有另一个(不同)问题:

K8清单:

VAULT_API_ADDR:       http://$(POD_IP):8200

保管库配置:

api_addr = "https://127.0.0.1:8200"

✌️

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用kubernetes服务帐户连接到外部hashicorp保险库后登录未授权错误

在Go中模拟Hashicorp保险库

保险柜错误,服务器向HTTPS客户端提供了HTTP响应

Docker存储库服务器向HTTPS客户端提供了HTTP响应

在Win 8.1上使用Docker运行PhpStorm:客户端向HTTPS服务器发送了HTTP请求

带有 Terraform 本地配置器的 Azure 恢复服务保险库

AWS保险库:无法获取凭证-InvalidClientTokenId:请求中包含的安全令牌无效

当创建新的密钥版本或密钥保险库过期时,Azure Functions触发器

如果出现拔出/重新插入或eth0断断续续的情况,是否期望DHCP客户端向服务器发送DHCP请求单播?

使用Echo框架在Go Lang中安装SSL证书时出现问题(客户端向HTTPS服务器发送了HTTP请求。)

在Braintree中,是否可以仅针对一个客户而不是整个保险库验证重复付款方式?

理解问题:为什么要密封/解开hashicorp保险库的存储?

hashicorp保险库能否嵌入Java Web应用程序中

我如何从hashicorp保险库审计中了解一些内容?

在 openshift 中部署没有持久存储的 hashicorp 保险库

如何在企业hashicorp保险库中验证ldap用户的令牌

使用socket.io-client库从客户端向套接字服务器发送数据

Kubernetes的默认活动和准备情况探针

在没有客户端请求的情况下在Web服务器中执行操作

服务器可以在没有客户端请求的情况下处理数据吗?

在Jenkins和hashicorp保险库上的环境文件中获取所有密码并将其保密

如何在不使用不透明响应的情况下使用提取功能从客户端向服务器本地发出请求?

使用 Nginx 推送流混淆 Android 客户端使用库服务器发送的事件

UserPass身份验证保险库

如何从XHR替换JSON保险库?

贝宝保险库-合规

如何使用http4s服务器和客户端库作为代理?

.NET WebSocket客户端和服务器库

ModeShape服务器-客户端存储库同步