Jak używać Kubernetes External Secrets Operator z Secret Manager
Skonfiguruj External Secrets Operator, aby przechowywać sekrety Kubernetes w OVHcloud Secret Manager
Wprowadzenie
Ten przewodnik wyjaśnia, jak skonfigurować Kubernetes External Secrets Operator, aby używać OVHcloud Secret Manager jako dostawcy.
Ten przewodnik opisuje korzystanie z External Secrets Operator z dostawcą HashiCorp Vault, aby uzyskać dostęp do OVHcloud Secret Manager za pośrednictwem API zgodnego z HashiCorp Vault KV2.
OVHcloud udostępnia teraz natywnego dostawcę External Secrets Operator. Zalecamy korzystanie z niego w nowych wdrożeniach. Zobacz dokumentację dostawcy OVHcloud.
Wymagania początkowe
- Konto klienta OVHcloud.
- Musisz zamówić domenę OKMS lub utworzyć pierwszy sekret.
- Skonfigurowana metoda uwierzytelniania dla płaszczyzny danych OKMS (ten przewodnik używa Personal Access Token).
- Klaster Managed Kubernetes.
W praktyce
Konfiguracja Secret Manager
Aby umożliwić dostęp do Secret Manager, potrzebujesz token, region oraz okms-id swojego Secret Manager.
Tworzenie danych uwierzytelniających
Utwórz lokalnego użytkownika IAM z prawami dostępu do Twojej domeny lub użyj konta serwisowego. Zapoznaj się z przewodnikiem Metody uwierzytelniania OKMS, aby poznać pełną konfigurację oraz szablony polityk IAM.
Użytkownik powinien należeć do grupy z rolą ADMIN. Jeśli zamiast tego używasz polityk IAM, użytkownik powinien mieć co najmniej następujące uprawnienia do domeny OKMS:
okms:apikms:secret/createokms:apikms:secret/version/getDataokms:apikms:secret/getokms:apiovh:secret/get
Alternatywnie można utworzyć użytkownika za pomocą CLI OVHcloud:
Następnie utwórz Personal Access Token (PAT) user_pat:
Użyj następującego wywołania API:
Z następującym ładunkiem (uzupełnij go własnymi wartościami):
API odpowie:
Zachowaj wartość pola token, ponieważ nie zostanie ona ponownie wyświetlona i będzie używana do uwierzytelniania w Secret Manager jako user_pat.
Informacje o Secret Manager
Będziesz również potrzebować region oraz okms-id domeny OKMS, której chcesz użyć. Ten identyfikator i ten region znajdziesz w lub za pomocą CLI OVHcloud:
Konfiguracja Secret Provider w Kubernetes
Instalacja External Secrets Operator (ESO) na klastrze Kubernetes
Sprawdź, czy ESO działa:
Tworzenie sekretu zawierającego PAT
Zacznij od zakodowania swojego user_pat w formacie base64, aby można było go przechowywać w sekrecie Kubernetes.
Alternatywnie, jeśli user_pat został zapisany w zmiennej środowiskowej:
Następnie utwórz plik secret.yaml:
Następnie zastosuj go za pomocą polecenia kubectl apply -f secret.yaml.
Alternatywnie, jeśli używasz zmiennej środowiskowej:
Sekret powinien zostać utworzony:
Konfiguracja External Secrets Operator
Najpierw skonfiguruj ClusterSecretStore, który odpowiada za synchronizację z Secret Manager.
Konfigurujemy SecretStore przy użyciu HashiCorp Vault z uwierzytelnianiem za pomocą tokena oraz z endpointem OKMS jako backendem.
Dodaj user_pat jako sekret, aby móc go używać w chartach.
Aby zdefiniować nowy zasób ClusterSecretStore, utwórz plik clustersecretstore.yaml o następującej treści:
Obsługiwane jest wyłącznie uwierzytelnianie za pomocą tokena.
Ta integracja działa również z SecretStore.
Nazwę regionu można ustalić na podstawie lokalizacji regionu za pomocą:
Na przykład dla Europe (France - Paris) endpoint OKMS to eu-west-par.okms.ovh.net.
Wdróż zasób w swoim klastrze:
Korzystanie z External Secrets Operator
Po skonfigurowaniu ClusterSecretStore możesz zdefiniować ExternalSecret pochodzący z Secret Manager.
Utwórz plik externalsecret.yaml o następującej treści:
Zastosuj zasób w swoim klastrze:
Spowoduje to utworzenie obiektu Secret Kubernetes.
Więcej informacji na temat zarządzania External Secrets Operator znajdziesz w dedykowanej dokumentacji, korzystając z dostawcy HashiCorp Vault: https://external-secrets.io/latest/.
Sprawdź również
Korzystanie z Secret Manager za pomocą API REST
Dołącz do grona naszych użytkowników.