現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください。 情報
このトピックでは、Kubernetes クラスタに Edge Microgateway をサービスとしてインストールする前に完了する必要がある手順について説明します。
このトピックの内容は次のとおりです。
- Kubernetes クラスタの最小要件。
- Edge Microgateway をインストールして構成する方法
- Edge Microgateway の基本構成を Kubernetes クラスタにインストールする方法。
Kubernetes クラスタの要件
Kubernetes クラスタには以下が必要です。
- Kubernetes バージョン 1.9 以降。
- Kubernetes CLI kubectl v1.9 以降。
- それぞれ 2 個の vCPU を持つ 3 つ以上のノードを持つクラスタ。
例: Google Kubernetes Engine(GKE)に Kubernetes クラスタを作成する
Kubernetes 管理マシンを設定する
Kubernetes 管理マシンは、Kubernetes クラスタに対してコマンドを実行する際に使用するローカルマシンです。通常、このマシンは Kubernetes VM にアクセスできるデスクトップ マシンです。
Kubernetes 管理マシンに次のユーティリティをインストールする必要があります。
GKE に Kubernetes クラスタを作成する
- Google Cloud Platform(GCP)の Google Kubernetes Engine(GKE)ダッシュボードにログインします。
- [CREATE CLUSTER] をクリックします。
- [Standard クラスタ] を選択します。
- クラスタの名前を入力します。
- ゾーンを選択します。
- [
Cluster Version 1.9.7-gke-*
] を選択します。例:1.9.7-gke.6
- 3 つのノードのサイズを選択します。
- 7.5 GB のメモリを搭載した vCPU を 2 つ選択します。
[作成] をクリックします。
次のスクリーンショットは、前の手順で説明したように入力された GKE ダッシュボードを示しています。
クラスタの認証情報を取得する
GKE プロジェクト名を設定します。
gcloud config set project projectName
GKE プロジェクト ゾーンを設定します。
gcloud config set compute/zone zoneName
gcloud コンテナの認証情報を取得します。
gcloud container clusters get-credentials cluster-name --zone zone --project project-name
ここで
cluster-name
は、作成した Kubernetes クラスタの名前です。zone
は、クラスタが配置されているゾーンです。project-name
は GCP プロジェクト名です。
例:
gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
次のコマンドをそのまま実行します。このコマンドは、現在のユーザーにクラスタ管理者権限を付与します。Edge Microgateway サービスに必要な RBAC ルールを作成するには、管理者権限が必要です。
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
Kubernetes 用の Edge Microgateway をインストールする
Kubernetes 用 Edge Microgateway をダウンロードします。MacOS または Linux マシンを使用している場合は、バージョン名を指定して最新バージョンまたは特定のバージョンをダウンロードできます。
最新バージョンを入手するには:
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -
バージョン番号で特定のバージョンを取得する場合。バージョン番号の前に「v」という文字を付ける必要があります。例: v3.0.2
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s version
例:
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
インストール ディレクトリ
microgateway_Version_OS_ARCH
ディレクトリに移動します。例:cd microgateway_2.5.26_Darwin_x86_64
インストール ディレクトリを調べます。
/install/kubernetes
- Kubernetes にデプロイするための構成.yaml
ファイル。/samples
- インストールをテストするためのサンプル アプリケーション。/bin
-edgemicroctl
実行可能ファイル。edgemicroctl
コマンドは、Edge Microgateway を Kubernetes に挿入します。
edgemicroctl
クライアントをPATH
に追加します。たとえば、MacOS または Linux システムでは次のコマンドを実行します。export PATH=$PWD/bin:$PATH
ベースの Edge Microgateway の設定を Kubernetes クラスタに適用します。次のコマンドは、
edgemicro-system
Namespace とクラスタのロールを作成します。kubectl apply -f install/kubernetes/edgemicro.yaml
NGINX Ingress コントローラをクラスタにインストールします。他の Nginix コントローラが実行されていないことを確認します。これを確認するには、
kubectl get pods
を実行します。kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml
インストールを確認する
Ingress コントローラが起動したかどうかを確認するには、次のコマンドを実行します。
kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch
次のサンプル出力に示すように、プロセスが開始されるまでに 1 ~ 2 分かかります。
STATUS
がRunning
に変わる前に、エラーと再起動のサイクルが複数回発生しますが、これは正常です。NAMESPACE NAME READY STATUS RESTARTS AGE edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 CrashLoopBackOff 1 33s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 Error 2 33s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 CrashLoopBackOff 2 40s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 Running 3 1m edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 1/1 Running 3 1m
Ingress の実行後、「
Ctrl+C
」と入力すると上記のコマンドをキャンセルできます。次のコマンドを実行して、Kubernetes サービスがデプロイされていることを確認します。出力例を以下に示します。
kubectl get svc -n edgemicro-system
出力例:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default-http-backend ClusterIP 10.19.255.106 <none> 80/TCP 2h edgemicro-ingress LoadBalancer 10.19.247.156 35.224.24.13 80:30176/TCP,443:32325/TCP 2h
すべての Pod が実行されていることを確認します。
kubectl get pods -n edgemicro-system
出力例:
NAME READY STATUS RESTARTS AGE default-http-backend-55c6c69b88-2lvtw 1/1 Running 0 4m edgemicro-ingress-controller-64444469bf-wjhrn 1/1 Running 3 4m
Edge Microgateway をインストールする
Edge Microgateway 2.5.26 以降のバージョンがインストールされている必要があります。次のコマンドを入力して確認できます。
edgemicro --version
Edge Microgateway 2.5.26 以降がインストールされていない場合は、インストール スクリプトを実行します。
npm install edgemicro -g
Edge Microgateway を初めてインストールした場合またはアップグレードした場合は、次のコマンドを実行します。
edgemicro init
さらにサポートが必要な場合は、Edge Microgateway のインストールをご覧ください。
次のステップ
これで、Edge Microgateway を Kubernetes にデプロイする準備が整いました。
- Edge Microgateway をサービスとしてデプロイするをご覧ください。