Невозможно получить доступ к серверу хранилища из разных модулей, работающих в кластере kubernetes - PullRequest
0 голосов
/ 29 января 2019

Я настроил сервер хранилища hashicorp в kubernetes.Сервер Vault работает нормально при доступе через CLI или UI.Я создал еще один модуль, который запускает мое приложение.Но я не могу получить доступ к Vault Server из своего приложения, которое работает на другом модуле.

Я пытался использовать Cluster-IP: Порт, IP: Порт, но всегда вижу ошибку Ошибка соединения.

.yaml

apiVersion: v1
kind: Service
metadata:
  name: vault
  labels:
    run: vault
spec:
  type: ClusterIP
  ports:
    - port: 8080
      targetPort: 8200
      protocol: TCP
      name: vault
  selector:
    run: vault

deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: vault
  labels:
    run: vault
spec:
  replicas: 1
  template:
    metadata:
      labels:
        run: vault
    spec:
      containers:
      - name: vault
        command: ["vault", "server", "-config", "/vault/config/vault.hcl"]
        image: "vault"
        imagePullPolicy: IfNotPresent
        securityContext:
          capabilities:
            add:
              - IPC_LOCK
        volumeMounts:
          - name: configurations
            mountPath: /vault/config/vault.hcl
            subPath: vault.hcl  
      volumes:
        - name: configurations
          configMap:
            name: vault

I need to access vault server from an application running in different pod within same cluster.


1 Ответ

0 голосов
/ 30 января 2019

Пожалуйста, опишите, как вы пытаетесь получить доступ к Vault из разных модулей?

В противном случае, если вы не видите ошибок на ваших модулях, вам необходимо иметь доступ к Vault из других модулей в том же пространстве имен через имя службы или адрес ClusterIP, как вы упомянули.

В целях устранения неполадок я бы посоветовал вам запустить образец модуля Vault для тестирования, как показано ниже:

kubectl run vault-test --image=vault -l "app=vault-test"

Затем запустите exec для оболочки нового модуля через:

kubectl exec -it $(kubectl get pods --namespace default -l "app=vault-test" -o jsonpath="{.items[0].metadata.name}") sh

Затем,Запустите следующие команды, чтобы увидеть тест:

export VAULT_ADDR=http://vault:8080 # "хранилище" - это имя вашей службы

ИЛИ

export VAULT_ADDR=http://<ClusterIP of vault service>:8080

Тогда

vault status

вам нужно увидеть вывод, как показано ниже

Key Value --- ----- Seal Type shamir Initialized true Sealed false Total Shares 1 Threshold 1 Version 1.0.1 Cluster Name vault-cluster-f3e6e68d Cluster ID 0280993f-5aee-4f97-b8e5-53f652fdc5ad HA Enabled false

Пожалуйста, дайте мне знать о состоянии этого устранения неполадок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...