AWS Service Broker mengekspos Layanan AWS melalui protokol Open Service Broker (OSB). Dokumen ini didasarkan pada Dokumentasi AWS Service Broker. Dokumen ini membahas dua kemungkinan penginstalan:
- Menginstal AWS Service Broker di Cluster Kubernetes Kf (direkomendasikan)
- Menginstal AWS Service Broker di AWS dan mengekspos API melalui VPC bridge
Prasyarat
Selain cluster Kubernetes dengan Kf dan Katalog Layanan yang diinstal (lihat
petunjuk ini), alat berikut harus diinstal di
workstation tempat Anda akan menggunakan CLI kf
:
helm
: Ikuti petunjuk ini untuk menginstalhelm
CLI.
Metode 1: Menginstal di GKE
AWS Service Broker di-deploy menggunakan diagram Helm dari panduan memulai AWS Service Broker untuk Kubernetes.
Infrastruktur
AWS Service Broker memerlukan tabel DynamoDB dan pengguna IAM untuk mengakses tabel. Metode termudah adalah men-deploy template CloudFormation yang disediakan. Untuk penginstalan manual, lihat dokumen prasyarat.
Helm
Pertama, tambahkan repositori Helm ke komputer Anda:
$ helm repo add aws-sb https://awsservicebroker.s3.amazonaws.com/charts
Kemudian, deploy diagram Helm, dengan menetapkan accesskeyid
dan secretkey
AWS yang benar:
$ helm install aws-sb/aws-servicebroker \
--name aws-servicebroker \
--namespace aws-sb \
--set aws.secretkey=REPLACEME \
--set aws.accesskeyid=REPLACEME
Jika Anda tidak ingin broker diinstal di seluruh cluster, tetapkan tanda
--set deployNamespacedServiceBroker=true
yang akan mendaftarkan broker ke
Namespace yang di-deploy.
Daftar lengkap parameter konfigurasi dapat ditemukan di definisi values.yaml template Helm.
Verifikasi
Setelah diagram Helm di-deploy, resource ClusterServiceBroker
seharusnya telah
dibuat. Anda dapat memeriksanya dengan kubectl
:
$ kubectl get ClusterServiceBroker aws-servicebroker
NAME URL STATUS AGE
aws-servicebroker https://aws-servicebroker-aws-servicebroker.aws-sb.svc.cluster.local Ready 3d
Jika STATUS
belum siap, berarti ada masalah. Beberapa hal yang perlu diperiksa saat memecahkan masalah adalah:
- Infrastruktur DynamoDB sudah aktif
- Pengguna AWS memiliki akses ke tabel DynamoDB melalui Kebijakan atau Grup
- Nilai diagram Helm ditetapkan dengan benar
Mungkin perlu waktu beberapa menit agar broker Anda muncul dan mendaftarkan dirinya ke
Katalog Layanan. Setelah broker terdaftar, Anda dapat melihat layanan yang disediakan
dengan perintah kf marketplace
.
Metode 2: Menginstal di AWS
Kelemahan menginstal AWS Service Broker di cluster GKE adalah kredensial Pengguna AWS yang diperlukan, bukan Peran AWS. Namun, satu-satunya resource Kubernetes yang diperlukan agar AWS Service Broker dapat berfungsi dengan Kf adalah ClusterServiceBroker, dengan asumsi API AWS Service Broker dapat dijangkau dari cluster GKE.
Ada dua metode yang dapat digunakan untuk mengekspos API ke cluster GKE:
- API ini dapat diakses melalui jembatan VPN antara Google Cloud dan AWS
- API dapat diakses secara publik (tidak direkomendasikan)
Dalam kedua kasus tersebut, sebaiknya amankan API Service Broker dengan sertifikat TLS tepercaya dan kredensial akses.
Setelah API dapat diakses, kubectl apply
ClusterServiceBroker
dan
Secret
Kubernetes yang berisi kredensial untuk memberikan otorisasi dengan
Service Broker.
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ClusterServiceBroker
metadata:
name: aws-sb
spec:
# For all configuration options, look at the service catalog's
# type definitions:
# https://github.com/kubernetes-sigs/service-catalog/blob/master/pkg/apis/servicecatalog/v1beta1/types.go#L185
url: https://replace.with.url.to.service.broker
insecureSkipTLSVerify: false # use a trusted TLS certificate
authInfo:
bearer: # or basic
secretRef:
namespace: some-namespace
name: some-secret-name