Este documento é uma versão modificada da documentação encontrada no repositório do GitHub para o GCP Service Broker.
Pré-requisitos
- Um cluster com Kf instalado.
gcloud
: siga estas instruções (em inglês) para instalar a gcloud CLI.kubectl
: depois quegcloud
for instalado, executegcloud components install kubectl
.helm
: siga estas instruções (em inglês) para instalar a CLIhelm
.git
: o Git é necessário para clonar um repositório.
Configuração
Selecione um projeto
Escolha o projeto do Google Cloud que você quer usar no restante deste tutorial. Ele precisa ser o mesmo projeto usado pelo cluster Kf.
Você precisa ser o proprietário do projeto escolhido. Se necessário, altere os valores abaixo para refletir seu ambiente e defina essas variáveis de ambiente no seu terminal:
export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME=kf-gcp-broker
Criar uma conta de serviço para o agente
Crie a conta de serviço:
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME
Crie novas credenciais para permitir que o agente seja autenticado e faça o download da credencial para
key.json
:gcloud iam service-accounts keys create key.json --iam-account $SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
Conceda permissões de proprietário do projeto ao agente:
gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --role "roles/owner"
Ativar APIs obrigatórias
Agora você precisa ativar as APIs para permitir que o agente provisione recursos.
O agente tem algumas APIs necessárias para ser executada e algumas opcionais, mas que precisam estar ativadas para provisionar recursos de um tipo específico.
As APIs Cloud Resource Manager e Identity and Access Management são necessárias para a execução do agente. Para ativá-las:
gcloud services enable cloudresourcemanager.googleapis.com iam.googleapis.com --project $PROJECT_ID
Ativar APIs
Para provisionar os serviços do Cloud no seu projeto, o Kf recomenda ativar pelo menos as seguintes APIs:
O agente de serviços do GCP também é compatível com vários outros serviços aos quais você pode adicionar suporte ativando as APIs listadas aqui.
Instalar o agente de serviços
Clone o GCP Service Broker na estação de trabalho local e
cd
em:git clone --depth=1 "https://github.com/GoogleCloudPlatform/gcp-service-broker"
cd gcp-service-broker/deployments/helm/gcp-service-broker
Atualize as dependências do gráfico do Helm:
helm dependency update
Edite o arquivo
values.yaml
e defina o valor debroker.service_account_json
como uma string com todo o conteúdo dekey.json
.Opcional: leia as demais propriedades e altere as que forem necessárias para se ajustar ao ambiente.
# ... broker: # ... service_account_json: "contents of key.json go here" # ...
Se estiver em execução em um ambiente de produção, defina
mysql.embedded
como falso e forneça credenciais para um banco de dados MySQL externo que tenha backups automáticos e failover.Crie um namespace do Kubernetes para o GCP Service Broker:
kubectl create namespace gcp-service-broker
Instale o agente:
helm install gcp-service-broker --set svccat.register=false --namespace gcp-service-broker .
Registre o agente no Kf:
kf create-service-broker gcp-service-broker \ "$(kubectl get secret gcp-service-broker-auth -n gcp-service-broker -o jsonpath='{.data.username}' | base64 --decode)" \ "$(kubectl get secret gcp-service-broker-auth -n gcp-service-broker -o jsonpath='{.data.password}' | base64 --decode)" \ "http://gcp-service-broker.gcp-service-broker.svc.cluster.local"
Confirmar a instalação do agente
Execute kf marketplace
. Você verá uma resposta similar a:
Broker Name Space Status Description
gcp-service-broker google-stackdriver-profiler Active Continuous CPU and heap profiling to improve performance and reduce costs.
gcp-service-broker google-stackdriver-monitoring Active Stackdriver Monitoring provides visibility into the performance, uptime, and overall health of cloud
gcp-service-broker google-dataflow Active A managed service for executing a wide variety of data processing patterns built on Apache Beam.
gcp-service-broker google-cloudsql-mysql Active Google CloudSQL for MySQL is a fully-managed MySQL database service.
gcp-service-broker google-spanner Active The first horizontally scalable, globally consistent, relational database service.
gcp-service-broker google-ml-apis Active Machine Learning APIs including Vision, Translate, Speech, and Natural Language.
gcp-service-broker google-pubsub Active A global service for real-time and reliable messaging and streaming data.
gcp-service-broker google-datastore Active Google Cloud Datastore is a NoSQL document database service.
gcp-service-broker google-stackdriver-debugger Active Stackdriver Debugger is a feature of the Google Cloud Platform that lets you inspect the state of an
gcp-service-broker google-firestore Active Cloud Firestore is a fast, fully managed, serverless, cloud-native NoSQL document database that simp
gcp-service-broker google-bigtable Active A high performance NoSQL database service for large analytical and operational workloads.
gcp-service-broker google-storage Active Unified object storage for developers and enterprises. Cloud Storage allows world-wide storage and r
gcp-service-broker google-stackdriver-trace Active Stackdriver Trace is a distributed tracing system that collects latency data from your applications
gcp-service-broker google-cloudsql-postgres Active Google CloudSQL for PostgreSQL is a fully-managed PostgreSQL database service.
gcp-service-broker google-dialogflow Active Dialogflow is an end-to-end, build-once deploy-everywhere development suite for creating conversatio
gcp-service-broker google-bigquery Active A fast, economical and fully managed data warehouse for large-scale data analytics.
O GCP Service broker está instalado e pode ser usado para criar serviços e vinculá-los a aplicativos implantados com o Kf.