Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Pengantar
Topik ini menjelaskan cara menjalankan Edge Microgateway di cluster Kubernetes sebagai layanan mandiri.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Mengintegrasikan Edge Microgateway dengan Kubernetes.
Sebelum memulai
Selesaikan langkah-langkah yang dijelaskan dalam Prasyarat.
Mengonfigurasi Edge Microgateway
Perintah berikut mengonfigurasi Edge Microgateway untuk organisasi Apigee Anda
dan men-deploy proxy edgemicro-auth
.
Jalankan perintah berikut:
edgemicro configure -o [org] -e [env] -u [username]
Dengan keterangan:
org
: Nama organisasi Edge Anda (Anda harus menjadi administrator org).env
: Lingkungan dalam organisasi Anda (seperti pengujian atau produksi).username
: Alamat email yang dikaitkan dengan akun Apigee Anda.
Contoh
edgemicro configure -o docs -e test -u jdoe@example.com
Output (contoh ditunjukkan di bawah) disimpan ke file:
.$HOME/.edgemicro/org_name-env_name-config.yaml
current nodejs version is v6.9.1 current edgemicro version is 2.5.25 password: file doesn't exist, setting up Give me a minute or two... this can take a while... App edgemicro-auth deployed. checking org for existing KVM KVM already exists in your org configuring host edgemicroservices.apigee.net for region us-west1 saving configuration information to: /Users/jdoe/.edgemicro/myorg-test-config.yaml vault info: -----BEGIN CERTIFICATE----- MIICpDCCAYwCCQCV9eBcO9a5WzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls b2NhbGhvc3QwHhcNMagwODA5MDAzMDEzWhcNMTgwODEwMDAzMDEzWjAUMRIwEAYD VQQDDBlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDh nAHT7JHX/WvWHRFb8FLm53SPIDld5LyPOUfINdEyhSIEeXoOUKg4EPweJPVSC9Vm Hw4ZMtEqWJM/XsQWvLe8ylRJa5wgmzmFCqAsuzs9+rmc9KvJqjpOh2uRTUf7KKfT iXL2UEseprcI5g8zNyqKyEf/ecWIwz3AkkPAZebVTsrdDfIDHvkyhhvlAHZAB9kn GtqP3N8kOlv4KQto9Gr7GYUGUIDugt7gM1F611+RBS+fYRi32GUAq/UQDkhYL8cp oIJiF7UYkk2+9t9CdOCDuIUCvJioHJQd0xvDpkC9f6LvwjwnCwku+4F2Q63+av5I mJoZJQPvW5aP53Qkk+kHAgMBAAEwDKYJKoZIhvcNAQELBQADggEBALyUBolXUFN8 1bf268nR+gS8MOFDTxO1bUz+bKuT/g3K1PuNUJTueT+0L1H2OiZUzazAqwn2sqzN lQuvLg6LjxjlNkqTJGiJvGDcYVq45dv7UyxAZxhqxTxhlQ+Yu5R9pbQnzujezHpH 6gtCoCkSt/QqiJ3YsmsVu5is+HpIJepMt0CyMh5tK9j87hl46QhHklaVfQ3ycMVm /wNPR/pjizg1FDUeq4nj/7DBVbMf9net/BDaZLeSW1HJ1vcsCXIcSZfQd4QymGFn 8ADrND7ydVjwO/s23soPDTy0g4yLIZvky2tpT8d7YahNqSv2n7sXsLxruzcyCoQ4 w+e3Z3F7IKI= -----END CERTIFICATE----- The following credentials are required to start edge micro key: 1a3b2754c7f20614817b86e09895825ecc252d34df6c4be21ae24356f09e6eb4 secret: 16ad2431de73f07f57a6d44048f08d93b63f783bf1f2ac4221182aa7289c7cef edgemicro configuration complete!
Men-deploy Edge Microgateway sebagai layanan
Jalankan perintah berikut untuk men-deploy Edge Microgateway sebagai layanan di Cluster Kubernetes:
kubectl apply -f <(edgemicroctl -org=org -env=env -key=edgemicro-key -sec=edgemicro-secret -conf=file path of org-env-config.yaml)
dalam hal ini:
org
- Organisasi Apigee yang Anda tentukan di perintahedgemicro configure
.env
- Lingkungan yang Anda tentukan di perintahedgemicro configure
.edgemicro-key
- Kunci yang ditampilkan dari perintahedgemicro configure
.edgemicro-secret
- Rahasia yang ditampilkan dari perintahedgemicro configure
.file path of org-env-config.yaml
- Jalur ke file konfigurasi Edge Micro yang ditampilkan dari perintahedgemicro configure
.
Contoh:
kubectl apply -f <(edgemicroctl -org=jdoe -env=test -key=989cce9d41cac94e72626d906562a1d76a19445f8901b3508858bb064988eccb -sec=ec92b793178de7b7e88e346f55a951e3fdae05e700e3ddea7d63977826379784 -conf=/Users/jdoe/.edgemicro/jdoe-test-config.yaml)
Contoh output:
config/myorg-test-config.yaml) service "edge-microgateway" created deployment "edge-microgateway" created secret "mgwsecret" created
Salin dan tempel kode berikut ke terminal Anda. Kode ini mengatur pengontrol Ingress yang memungkinkan akses eksternal ke layanan
edge-microgateway
. Anda mungkin perlu menekan Enter setelah menempelkan perintah ke terminal Anda:cat <<EOF | kubectl apply -f - apiVersion: extensions/v1beta1 kind: Ingress metadata: name: edge-microgateway-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - http: paths: - path: / backend: serviceName: edge-microgateway servicePort: 8000 EOF
Jika berhasil, Anda akan melihat output ini:
ingress "edge-microgateway-ingress" created
Pengontrol Ingress sekarang dikonfigurasi untuk mengizinkan akses eksternal ke Layanan
edge-microgateway
.
Men-deploy layanan pengujian
Langkah-langkah berikut men-deploy layanan pengujian sederhana ke cluster Anda. Tujuan
Pengontrol masuk tidak mengizinkan layanan dipanggil dari luar cluster.
Nantinya, Anda akan mengonfigurasi Edge Microgateway untuk memanggil layanan sebagai targetnya.
Pengontrol Ingress mengizinkan akses luar ke layanan edge-microgateway
.
Deploy contoh layanan
helloworld
. Karena Ingress tidak mengetahui terkait layanan ini, layanan tidak dapat dipanggil dari luar cluster.kubectl apply -f samples/helloworld/helloworld-service.yaml
Contoh output:
service "helloworld" created deployment "helloworld" created
Pastikan deployment berhasil. Perhatikan bahwa tidak ada IP eksternal untuk layanan
helloworld
. Pada langkah-langkah berikut, Anda akan mengonfigurasi Edge Microgateway untuk mengakses IP internal layanan.kubectl get services -n default
Contoh output:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE edge-microgateway NodePort 10.35.247.222 <none> 8000:32000/TCP 12m helloworld NodePort 10.35.245.103 <none> 8081:30294/TCP 47s kubernetes ClusterIP 10.35.240.1 <none> 443/TCP 47m
Mengonfigurasi Edge Microgateway untuk menyediakan proxy layanan
Dapatkan IP internal untuk layanan helloworld
, lalu tambahkan sebagai target
dari "microgateway-aware" {i>proxy<i}. Membuat "microgateway-aware" proxy adalah
persyaratan standar Edge Microgateway.
Lihat juga Yang perlu Anda ketahui tentang Microgateway-aware menggunakan proxy.
Mendapatkan IP internal untuk layanan pengujian
Dapatkan IP Cluster internal dan port untuk layanan
helloworld
:kubectl get services helloworld
Contoh output:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE helloworld NodePort 10.55.254.255 <none> 8081:30329/TCP 3m
Salin nilai
CLUSTER-IP
danPORT
. Misalnya, dalam contoh ini, di atas, nilai tersebut adalah:10.55.254.255
dan8081
. Nilai untuk sistem file akan berbeda.
Membuat proxy berbasis microgateway di Edge
- Login ke UI Edge.
- Pilih organisasi yang sama dengan yang Anda tentukan sebelumnya saat dikonfigurasi Edge Microgateway.
- Pilih Develop > Proxy API di menu navigasi samping.
- Klik + Proxy. Wizard Buat Proxy akan terbuka.
- Di halaman wizard pertama, pilih Reverse proxy (paling umum).
- Klik Berikutnya.
Di halaman Detail wizard, konfigurasikan sebagai berikut. Pastikan untuk mengisi {i>wizard<i} persis seperti yang ditunjukkan. Pastikan nama proxy memiliki awalan
edgemicro_
.- Nama Proxy: edgemicro_hello
Jalur Dasar Proxy: /hello
API yang ada:
http://<cluster_ip>:<port>
Misalnya: http://10.55.254.255:8081
Klik Berikutnya.
Di halaman Security di wizard, pilih Pass through (none).
Klik Berikutnya.
Pada halaman Host Virtual wizard, terima setelan default.
Klik Berikutnya.
Pada halaman Build di wizard, tinjau setelan proxy Anda. Pastikan test dipilih.
Klik Build and Deploy.
Membuat Developer
Anda dapat menggunakan developer yang sudah ada untuk pengujian, atau membuat yang baru dengan cara berikut:
- Pilih Publikasikan > Developer di menu navigasi samping.
- Klik + Developer.
- Isi dialog untuk membuat developer baru. Anda dapat menggunakan developer nama/email yang Anda inginkan.
Membuat Produk API
Buat Produk API seperti yang dijelaskan di bawah ini. Anda akan menambahkan dua {i>proxy<i} ke Produk: edgemicro-auth dan edgemicro_hello.
Anda dapat membaca lebih lanjut tentang Opsi konfigurasi produk di Yang perlu Anda ketahui tentang Produk API konfigurasi.
- Pilih Publikasikan > Produk API di menu navigasi samping.
- Klik + Produk API. Halaman Detail Produk akan muncul.
Isi halaman Detail Produk sebagai berikut. Jangan klik Simpan sampai diinstruksikan untuk melakukannya.
Nama hello-world-product
Display Name Edge Micro hello product
Lingkungan test
Akses Public
Jenis Persetujuan Kunci Automatic
Di bagian bawah halaman, klik + Resource Kustom.
Tetapkan resource ke
/
(garis miring tunggal).Pilih + Custom Resource lagi dan tambahkan jalur
/**
.Di bagian bawah halaman, klik + API Proxy.
Pilih proxy bernama edgemicro-auth.
Klik + API Proxy lagi.
Pilih proxy berbasis microgateway bernama edgemicro_hello.
Klik Simpan.
Membuat Aplikasi Developer
- Pilih Publikasikan > Aplikasi di menu navigasi samping.
- Klik + App. Halaman Detail Aplikasi Developer akan muncul.
Isi halaman Aplikasi Developer sebagai berikut. Jangan Simpan hingga diperintahkan untuk melakukannya.
Nama hello-world-app
Display Name Edge Micro hello app
Developer Pilih developer pengujian yang Anda buat atau developer mana pun tidak masalah. Di bagian Credentials, klik + Product lalu pilih produk yang ingin Anda dibuat:
hello-world-product.
Klik Simpan.
Anda akan kembali ke halaman yang mencantumkan semua aplikasi Developer.
Pilih aplikasi yang baru saja Anda buat,
hello-world-app
.Klik Show di samping Consumer Key.
Salin nilai Kunci Konsumen. Nilai ini adalah Kunci API yang akan Anda gunakan untuk melakukan panggilan API yang aman ke
/hello
.Tunggu beberapa menit. Perlu waktu beberapa menit untuk menerapkan perubahan yang Anda buat di Apigee Edge untuk disinkronkan dengan instance Edge Microgateway yang di-deploy di .
Menguji proxy
Mendapatkan alamat IP Ingress
Dengan IP Eksternal untuk Ingress, Anda dapat memanggil layanan Edge Microgateway dari luar cluster.
Dapatkan alamat IP eksternal dari pengontrol Ingress:
kubectl get ing -o wide
Contoh output:
NAME HOSTS ADDRESS PORTS AGE edge-microgateway-ingress * 35.238.249.62 80 37m
Salin nilai
ADDRESS
untuk Ingress dan ekspor ke variabel. Anda dapat menetapkan variabel secara manual:export GATEWAY_IP=external_ip
Contoh:
export GATEWAY_IP=35.238.249.62
Atau, gunakan perintah ini untuk menetapkannya untuk Anda:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
Pastikan variabel diekspor. Contoh:
echo $GATEWAY_IP
Contoh output:
35.238.249.62
Memanggil API
Setelah perubahan konfigurasi ditarik
ke dalam {i>microgateway<i}, Anda bisa
coba panggil API. Anda menggunakan IP pengontrol Ingress (yang Anda simpan di variabel GATEWAY_IP
untuk memanggil API karena IP ini memungkinkan Anda memanggil proxy dari luar cluster Kubernetes. Tujuan
pemetaan dari Ingress ke Edge Microgateway telah dibuat saat Anda men-deploy Edge Microgateway
ke cluster.
Memanggil API tanpa kunci API. Anda akan mendapatkan pesan error, seperti yang ditunjukkan di bawah ini:
curl $GATEWAY_IP:80/hello/
Output yang diharapkan:
{"error":"missing_authorization","error_description":"Missing Authorization header"}
Jika melihat pesan ini, Anda mungkin perlu menunggu sedikit lebih lama hingga sinkronisasi selesai:
{"message":"no match found for /hello/","status":404}
Agar panggilan API berhasil, Anda memerlukan kunci API.
Dapatkan kunci Konsumen dari aplikasi Developer yang Anda buat. Nilai ini adalah Kunci API yang Anda perlukan untuk memanggil proxy pengujian:
curl -H 'x-api-key:your-edge-api-key' $GATEWAY_IP:80/hello/
Contoh:
curl -H "x-api-key:DeX2eEesYAdRJ5Gdbo77nT9uUfJZql19" $GATEWAY_IP:80/hello/
Output:
Hello world
Jika Anda melihat banner "Hello world" (Halo Dunia) maka Anda telah berhasil mengonfigurasi Edge Microgateway untuk memanggil layanan helloworld di dalam Kubernetes .
Apa langkah selanjutnya?
Lihat bagian Tugas untuk mengetahui informasinya tentang menambahkan plugin kustom, menskalakan deployment, membuat perubahan konfigurasi, dan tugas-tugas lain yang mungkin ingin Anda lakukan.