Perantara Layanan AWS

Perantara Layanan AWS mengekspos Layanan AWS melalui protokol Perantara Layanan Terbuka (OSB). Dokumentasi ini didasarkan pada Dokumentasi Broker Layanan AWS. Dokumen ini mencakup dua kemungkinan penginstalan:

  1. Instal Broker Layanan AWS di Cluster Kf Kubernetes (direkomendasikan)
  2. Menginstal Broker Layanan AWS di AWS dan mengekspos API melalui jembatan VPC

Prasyarat

Selain cluster Kubernetes dengan Kf dan Katalog Layanan terinstal (lihat petunjuk ini), alat berikut harus diinstal di workstation tempat Anda akan menggunakan CLI kf:

  1. helm: Ikuti petunjuk ini untuk menginstal helm CLI.

Metode 1: Menginstal di GKE

Perantara Layanan AWS di-deploy menggunakan diagram Helm dari panduan memulai Perantara Layanan AWS untuk Kubernetes.

Infrastruktur

AWS Service Broker memerlukan tabel DynamoDB dan pengguna IAM untuk mengakses tabel tersebut. 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 menyetel 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 menginstal seluruh cluster, tetapkan flag --set deployNamespacedServiceBroker=true yang akan mendaftarkan broker ke dalam 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 sudah 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

Terjadi masalah jika STATUS belum siap. Beberapa hal yang perlu diperiksa saat pemecahan masalah adalah:

  • Infrastruktur DynamoDB aktif
  • Pengguna AWS memiliki akses ke tabel DynamoDB melalui Kebijakan atau Grup
  • Nilai diagram Helm telah ditetapkan dengan benar

Mungkin perlu waktu beberapa menit bagi broker Anda untuk muncul dan mendaftarkan dirinya sendiri ke Katalog Layanan. Setelah broker didaftarkan, Anda dapat melihat layanan yang disediakan dengan perintah kf marketplace.

Metode 2: Menginstal di AWS

Kelemahan dari menginstal AWS Service Broker di cluster GKE adalah penggunaan kredensial AWS User yang diperlukan, bukan Peran AWS. Namun, satu-satunya resource Kubernetes yang diperlukan oleh AWS Service Broker untuk bekerja dengan Kf adalah ClusterServiceBroker, dengan asumsi bahwa API AWS Service Broker dapat dijangkau dari cluster GKE.

Ada dua metode yang dapat digunakan untuk menampilkan API ke cluster GKE:

  1. API dapat diakses melalui perantara VPN antara Google Cloud dan AWS
  2. API dapat diakses secara publik (tidak direkomendasikan)

Dalam kedua kasus tersebut, sangat disarankan untuk mengamankan Service Broker's API dengan sertifikat TLS tepercaya dan kredensial akses.

Setelah API dapat diakses, lakukan kubectl apply ClusterServiceBroker dan Kubernetes Secret yang berisi kredensial untuk memberi 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