IP-адрес хоста Kubernetes для аутентификации в хранилище с помощью Kubernetes Engine - PullRequest
0 голосов
/ 06 марта 2020

Я пытался аутентифицировать Kubernetes с помощью External Vault с помощью учебника Hashicorps, https://learn.hashicorp.com/vault/identity-access-management/vault-agent-k8s

В приведенной ниже конфигурации мы должны предоставить END POINT для нашего кластера в K8S_HOST

vault write auth/kubernetes/config \
        token_reviewer_jwt="$SA_JWT_TOKEN" \
        kubernetes_host="https://$K8S_HOST:8443" \
        kubernetes_ca_cert="$SA_CA_CRT"

Я настроил кластер HA Kubernetes для частного su bnet и ALB во внешнем интерфейсе. Мне нужна помощь в настройке K8S_HOST конечной точки.

На данный момент я сгенерировал SSL Certs и пересоздал панель инструментов. Попытался выставить kubernetes-dashboard как node port. Обновлен сертификат в ALB, который прослушивает 443. Но он все еще не подключается к кластеру.

Поэтому я сомневаюсь, что K8S_HOST:8443 - это та же конечная точка для панели управления kubernetes или что-то еще?

Правильный способ получения K8S_HOST подробностей из кластера в частном порядке su bnet.

Может кто-нибудь помочь с этим? Я поражен здесь.

Ответы [ 2 ]

1 голос
/ 06 марта 2020

Используйте команду kubectl config view для просмотра конфигурации кластера:

$ kubectl config view --flatten --minify
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01ETXdOakE0TlRFd05sb1hEVE13TURNd05EQTROVEV3Tmxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTDRlClg5eWZpN0JhVVlUNmhUcEUvNm02WW5HczlZSHY3SmFMOGxsWWsvOENUVjBRcUk4VjBOYnB5V3ByQjBadmV4ZmMKQ0NTQ2hkYWFlcVBQWUJDckxTSGVoVllZcE1PK2UrMVFkTFN2RmpnZUQ1UHY0NFBqTW1MeFAzVkk0MFVZOXVNNwpCcjRueVRPYnJpWXJaSVhTYjdTbWRTdFg5TUgreVVXclNrRllGSEhnREVRdXF0dFRJZ1pjdUh2MzY3Nkpyc1FuCmI1TlM0ZHJyc0U0NVZUcWYrSXR1NzRSa1VkOUsvcTNHMHN1SlVMZ3AxOUZ4ZXorYTNRenJiUTdyWTlGUEhsSG4KVno1N1dWYmt2cjMzOUxnNWd0VzB4am10Q1hJaGgzNFRqRE1OazNza0VvcFBibjJPcER5STVUMUtOL3Vsa0FmTAptcXJ4bU5VNEVVYy9NcWFoVlVrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBL3c0OEFkdFU3Tkx2d0k1S2N4Y3hMMitBT0IKV29nakFKNUMwTlBTN1NDR2tWK2d6dlcrZHZVYWVtYTFHUFlJdUJuajBVR2k2QUF5SStES0tiY01iL2dVVUdKQQp0YVpEcFpidU1lZ1JZOVZ2dlpMZXRZQndESzkvWk9lYnF1MGh6eWo4TzduTnJaM3RIb3h6VW1MaVVIU2Jmc0R1CnkvaE9IM0wvUE1mZ0FFaHF5SVZwWGMvQzZCYWNlOEtRSWJMQ0hYZmZjTGhEWDQ0THZYSXVIL1Y3LzN1cHcxWm8KK05NcFY5Sys4TTExNHV2bWdyOHdTNkZHYlltdXFVZy9CTlpRd2FqKzVWMEZ6azZzeHoySTdZSXI3NHVNK3BLRgpMS3lEQzJnK2NXTU5YZTV0S0YrVG5zUXE1eWtNVEJKeHl1bTh5a3VtZTE4MGcyS1o3NzVTdVF1Ni9kND0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=

    server: https://127.0.0.1:32769 # <<-----------here
  name: kind-kind
contexts:
- context:
    cluster: kind-kind
    user: kind-kind
  name: kind-kind
current-context: kind-kind
kind: Config
preferences: {}
users:
- name: kind-kind
... ... ...

Скопируйте адрес server и используйте его как kubernetes_host при настройке метода аутентификации Vault kubernetes.

$ vault write auth/kubernetes/config \
           token_reviewer_jwt="eyJhbGciOiJSUz....." \
           kubernetes_host="https://127.0.0.1:32769" \
           kubernetes_ca_cert=@examples/guides/vault-server/ca.crt

NB: Если адрес server не содержит номера порта, добавлять их не нужно. Сохраните адрес как есть.

Адрес демонстрационного сервера для GKE:

server: https://35.203.181.169

Адрес демонстрационного сервера для кластера DigitalOcean k8s:

server: https://e8dabcb3-**bb-451e****d5.k8s.ondigitalocean.com
0 голосов
/ 10 марта 2020

Это было решено. Я должен добавить имя alb dns в сертификат сервера api, а затем перезагрузить все узлы. Аутентификация теперь работает нормально.

...