Para configurar o Terraform no seu ambiente isolado do Google Distributed Cloud (GDC), tem de o transferir e configurá-lo para processar recursos do Kubernetes.
Este documento destina-se a todos os grupos de públicos-alvo que precisam de configurar o Terraform para gerir os respetivos fluxos de trabalho de hardware e software isolados. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.
Antes de começar
Transfira o Terraform para a sua estação de trabalho seguindo a documentação fornecida pela HashiCorp: https://developer.hashicorp.com/terraform/install.
Verifique se tem um contentor de armazenamento do GDC existente. Se não tiver um contentor de armazenamento, crie um. Para mais informações, consulte o artigo Crie contentores de armazenamento.
Instale a CLI gcloud. Para mais informações, consulte o artigo Use a CLI gdcloud.
Gere o ficheiro kubeconfig para o servidor de API ou o cluster que está a alojar os recursos que quer gerir com o Terraform. Para mais informações, consulte o artigo Obtenha um ficheiro kubeconfig.
Configure o Terraform
Para configurar o Terraform no seu ambiente do GDC, conclua o seguinte:
No seu módulo do Terraform ou na coleção de ficheiros do Terraform na sua estação de trabalho, crie o ficheiro
main.tfe adicione a seguinte configuração:terraform { backend "s3" { bucket = "BUCKET_FQN" key = "TF_STATE_PATH" endpoint = "BUCKET_ENDPOINT" skip_credentials_validation = true force_path_style = true access_key = "ACCESS_KEY" secret_key = "SECRET_KEY" } }Substitua o seguinte:
BUCKET_FQN: o nome totalmente qualificado do recurso personalizadoBucket.TF_STATE_PATH: o caminho do ficheiro de estado do Terraform a armazenar no contentor de armazenamento.BUCKET_ENDPOINT: o ponto final do recurso personalizadoBucket.ACCESS_KEY: a chave de acesso adquirida a partir do segredo que contém as suas credenciais de acesso. Para mais informações sobre como adquirir a chave de acesso, consulte o artigo Obtenha credenciais de acesso ao contentor.SECRET_KEY: a chave secreta adquirida a partir do segredo que contém as suas credenciais de acesso. Para mais informações sobre como adquirir a chave secreta, consulte o artigo Obtenha credenciais de acesso ao contentor.
Inicialize o ficheiro de estado do Terraform no contentor de armazenamento que especificou no passo anterior:
terraform initO Terraform pode pedir uma região da AWS como entrada obrigatória, mas o valor não é usado, uma vez que está a usar o armazenamento de objetos do GDC. Introduza qualquer região da AWS para satisfazer o requisito.
Implemente o recurso de função de cluster
crd-viewere associe-o à sua conta de utilizador:kubectl apply --kubeconfig KUBECONFIG -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: crd-viewer rules: - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: crd-viewer-binding subjects: - kind: User name: USER_EMAIL roleRef: kind: ClusterRole name: crd-viewer apiGroup: rbac.authorization.k8s.io EOFSubstitua o seguinte:
KUBECONFIG: o ficheiro kubeconfig do servidor de API ou do cluster que aloja os recursos que está a gerir com o Terraform.USER_EMAIL: o email do utilizador ao qual o papel deve ser associado.
Implemente a função
crd-viewerem cada servidor ou cluster de API que quer usar para o Terraform.No ficheiro
main.tf, insira o seguinte blocorequired_providers:terraform { required_providers { kubernetes = { source = "hashicorp/kubernetes" version = ">=2.24.0" } } }Esta configuração instala o fornecedor do Kubernetes para aprovisionar e gerir recursos do Kubernetes no seu ambiente do GDC.
Inicialize o diretório de trabalho do Terraform para instalar o fornecedor:
terraform init
O que se segue?
- Aceda a zonas com as suas ferramentas
- Hierarquia de recursos
- Estabeleça ligação a um fornecedor de identidade