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 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 organisasi).env
: Lingkungan di organisasi Anda (seperti pengujian atau produksi).username
: Alamat email yang terkait dengan akun Apigee Anda.
Contoh
edgemicro configure -o docs -e test -u jdoe@example.com
Output (contoh ditampilkan 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 Anda:
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 dalam perintahedgemicro configure
.env
- Lingkungan yang Anda tentukan dalam perintahedgemicro configure
.edgemicro-key
- Kunci yang ditampilkan dari perintahedgemicro configure
.edgemicro-secret
- Secret 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 menyiapkan pengontrol Ingress untuk mengizinkan akses eksternal ke layanan
edge-microgateway
. Anda mungkin perlu menekan Enter setelah menempelkan perintah ke terminal: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 kini dikonfigurasi untuk mengizinkan akses eksternal ke layanan
edge-microgateway
.
Men-deploy layanan pengujian
Langkah-langkah berikut men-deploy layanan pengujian sederhana ke cluster Anda. Pengontrol
Ingress tidak mengizinkan layanan dipanggil dari luar cluster.
Kemudian, Anda akan mengonfigurasi Edge Microgateway untuk memanggil layanan sebagai targetnya.
Pengontrol Ingress mengizinkan akses dari luar ke layanan edge-microgateway
.
Men-deploy layanan
helloworld
contoh. Karena Ingress tidak mengetahui 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
Verifikasi bahwa 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 membuat proxy layanan
Dapatkan IP internal untuk layanan helloworld
, dan tambahkan sebagai target
proxy "yang mengetahui microgateway". Membuat proxy "yang mendukung microgateway" adalah
persyaratan Edge Microgateway standar.
Lihat juga Yang perlu Anda ketahui tentang proxy yang mendukung Microgateway.
Mendapatkan IP internal untuk layanan pengujian
Dapatkan IP dan port Cluster internal 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 di atas, nilai ini adalah:10.55.254.255
dan8081
. Nilai untuk sistem Anda akan berbeda.
Membuat proxy yang mendukung microgateway di Edge
- Login ke UI Edge.
- Pilih organisasi yang sama dengan yang Anda tentukan sebelumnya saat mengonfigurasi Edge Microgateway.
- Pilih Develop > API Proxies di menu navigasi samping.
- Klik + Proxy. Wizard Build a Proxy akan terbuka.
- Di halaman wizard pertama, pilih Reverse proxy (most common).
- Klik Berikutnya.
Di halaman Detail wizard, konfigurasi sebagai berikut. Pastikan untuk mengisi wizard persis seperti yang ditampilkan. 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 Keamanan pada wizard, pilih Teruskan (tidak ada).
Klik Berikutnya.
Di halaman Virtual Hosts pada wizard, setujui setelan default.
Klik Berikutnya.
Di halaman Build pada wizard, tinjau setelan proxy Anda. Pastikan lingkungan pengujian dipilih.
Klik Build and Deploy.
Membuat Developer
Anda dapat menggunakan developer yang ada untuk pengujian, atau membuat developer baru sebagai berikut:
- Pilih Publikasi > Developer di menu navigasi samping.
- Klik + Developer.
- Isi dialog untuk membuat developer baru. Anda dapat menggunakan nama/email developer apa pun yang Anda inginkan.
Membuat Produk API
Buat Produk API seperti yang dijelaskan di bawah. Anda akan menambahkan dua proxy ke Produk: edgemicro-auth dan edgemicro_hello.
Anda dapat membaca lebih lanjut Opsi konfigurasi produk di Yang perlu Anda ketahui tentang konfigurasi Produk API.
- Pilih Publikasi > Produk API di menu navigasi samping.
- Klik + API Product. Halaman Detail Produk akan muncul.
Isi halaman Detail Produk sebagai berikut. Jangan klik Simpan hingga diberi petunjuk 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
/
(satu garis miring).Pilih + Resource Kustom lagi dan tambahkan jalur
/**
.Di bagian bawah halaman, klik + API Proxy.
Pilih proxy bernama edgemicro-auth.
Klik + API Proxy lagi.
Pilih proxy yang mendukung microgateway bernama edgemicro_hello.
Klik Simpan.
Membuat Aplikasi Developer
- Pilih Publikasi > Aplikasi di menu navigasi samping.
- Klik + Aplikasi. Halaman Detail Aplikasi Developer akan muncul.
Isi halaman Aplikasi Developer sebagai berikut. Jangan Simpan hingga Anda diminta untuk melakukannya.
Nama hello-world-app
Display Name Edge Micro hello app
Developer Pilih developer pengujian yang Anda buat atau developer mana pun. Di bagian Kredensial, klik + Produk dan pilih produk yang Anda buat:
hello-world-product.
Klik Simpan.
Anda kembali ke halaman yang mencantumkan semua aplikasi Developer.
Pilih aplikasi yang baru saja Anda buat,
hello-world-app
.Klik Tampilkan di samping Kunci Konsumen.
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 agar perubahan yang Anda buat di Apigee Edge disinkronkan dengan instance Edge Microgateway yang di-deploy di cluster.
Menguji proxy
Mendapatkan alamat IP Ingress
Dengan IP Eksternal untuk Ingress, Anda dapat memanggil layanan Edge Microgateway dari luar cluster.
Dapatkan alamat IP eksternal 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 menyetelnya:
export GATEWAY_IP=$(kubectl describe ing edge-microgateway --namespace default | grep "Address" | cut -d ':' -f2 | tr -d "[:space:]")
Pastikan variabel telah diekspor. Contoh:
echo $GATEWAY_IP
Contoh output:
35.238.249.62
Memanggil API
Setelah perubahan konfigurasi ditarik ke dalam microgateway, Anda dapat
mencoba memanggil API. Anda menggunakan IP pengontrol Ingress (yang Anda simpan dalam variabel GATEWAY_IP
untuk memanggil API karena IP ini memungkinkan Anda memanggil proxy dari luar cluster Kubernetes. Pemetaan dari Ingress ke Edge Microgateway dibuat saat Anda men-deploy Edge Microgateway ke cluster.
Panggil API tanpa kunci API. Anda akan mendapatkan pesan error, seperti yang ditunjukkan di bawah:
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}
Untuk membuat panggilan API yang 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 respons "Hello world", berarti Anda telah berhasil mengonfigurasi Edge Microgateway untuk memanggil layanan helloworld di dalam cluster Kubernetes.
Apa langkah selanjutnya?
Lihat bagian Tugas untuk mengetahui informasi tentang cara menambahkan plugin kustom, menskalakan deployment, membuat perubahan konfigurasi, dan tugas lainnya yang mungkin ingin Anda lakukan.