Topik ini menunjukkan cara menginstal Cloud Service Mesh, yang sudah diinstal sebelumnya dengan Ingress Gateway. Dengan Cloud Service Mesh, Anda dapat mengonfigurasi resource Ingress Kubernetes untuk Deployment jika Anda memerlukan pengontrol Ingress. Topik ini memberikan contoh yang menunjukkan cara mengonfigurasi contoh resource Deployment dan Ingress.
Penginstalan Cloud Service Mesh terdiri dari dua bagian utama:
- Menginstal versi tertentu dari bidang kontrol yang dikelola pelanggan Cloud Service Mesh dan Ingress Gateway.
- Melabeli namespace dengan label revisi dan men-deploy ulang workload untuk memasukkan proxy sidecar.
Jika hanya perlu menggunakan objek Ingress menggunakan pengontrol Ingress, Anda tidak perlu memasukkan proxy sidecar ke dalam Pod workload. Namun, jika Anda menginginkan manfaat keamanan yang disediakan Cloud Service Mesh, dan jika Anda ingin memanfaatkan kemampuan perutean traffic, Anda harus menyuntikkan proxy sidecar.
Sebelum memulai
Sebelum Anda mulai menggunakan GKE di AWS, pastikan Anda telah melakukan tugas berikut:
- Selesaikan Prasyarat.
- Instal layanan pengelolaan.
- Buat cluster pengguna.
- Daftarkan cluster Anda dengan Connect dengan mengikuti langkah-langkah di Menghubungkan ke cluster Anda dengan Konsol Cloud.
- Konfigurasi cluster Anda untuk Menggunakan workload identity dengan Google Cloud.
Jika cluster pengguna Anda memiliki akses keluar yang terbatas ke internet, izinkan akses ke domain repositori penampung berikut:
docker.io
quay.io
Dari direktori
anthos-aws
, gunakananthos-gke
untuk beralih konteks ke cluster pengguna Anda. Ganti CLUSTER_NAME dengan nama cluster pengguna Anda.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Menginstal Anthos Service Mesh
Ikuti langkah-langkah di Menginstal Cloud Service Mesh.
Membuat contoh Deployment
Di bagian ini, Anda akan menginstal aplikasi contoh dan membuat endpoint Ingress untuknya.
Buat Deployment
hello-app
dan ClusterIP untuk deployment. Salin YAML berikut ke dalam file bernamahello-app.yaml
.apiVersion: apps/v1 kind: Deployment metadata: labels: app: hello-app name: hello-app spec: selector: matchLabels: app: hello-app replicas: 3 template: metadata: labels: app: hello-app spec: containers: - name: hello image: "gcr.io/google-samples/hello-app:2.0" --- apiVersion: v1 kind: Service metadata: labels: app: hello-app name: hello-app spec: type: ClusterIP selector: app: hello-app ports: - protocol: TCP port: 8080 targetPort: 8080
Terapkan YAML ke cluster Anda dengan
kubectl apply
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app.yaml
Buat Kubernetes Ingress untuk aplikasi contoh. Salin YAML berikut ke dalam file bernama
hello-app-ingress.yaml
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: istio labels: app: hello-app name: hello-app spec: rules: - host: http: paths: - backend: serviceName: hello-app servicePort: 8080
Buat Ingress dengan menerapkan konfigurasi dengan
kubectl apply
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app-ingress.yaml
Periksa status gateway Anda dengan
kubectl get svc
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-app
Kolom
ADDRESS
harus memiliki nama domain ELB. JikaADDRESS
tetappending
, konfirmasi pelabelan VPC dan Subnet Anda.Anda dapat memeriksa URL gateway Ingress dengan menyusun host dan port. Untuk mendapatkan URL gateway, jalankan perintah berikut:
export INGRESS_URL=$(env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-app -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') echo "Your hello-app Ingress URL is: http://"$INGRESS_URL
Perintah terakhir mencetak endpoint Ingress Anda.
Jika Anda membuat Ingress publik, Anda dapat melihat halaman web default
hello-app
dicurl
dengan membukahttp://$INGRESS_URL/
.curl $INGRESS_URL/
Pembersihan
Anda menghapus komponen hello-app
dengan kubectl delete
.
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete -f hello-app.yaml &&\
kubectl delete -f hello-app-ingress.yaml
Jika Anda ingin menghapus Cloud Service Mesh, lihat Menghapus Cloud Service Mesh.
Langkah berikutnya
Pelajari lebih lanjut: