デュアルティアまたはサービスメッシュ Lite トポロジを設定するための詳細な手順
デュアルティアまたはサービスメッシュライトトポロジを導入するための前提条件は、「 サービスグラフの設定」で確認できます。
NetScaler エージェントを構成する
KubernetesクラスターとNetScaler Console間の通信を有効にするには、エージェントをインストールして構成する必要があります。ハイパーバイザー、パブリッククラウドサービス(Microsoft Azure、AWS など)、または NetScaler インスタンスで利用可能な組み込みエージェント(高可用性デプロイに最適)を使用してエージェントを構成できます。
注
既存のエージェントを使用することもできます。
デフォルトでは、エージェントはNetScaler Consoleの最新ビルドに自動的にアップグレードされます。エージェントの詳細は、[ インフラストラクチャ] > [インスタンス] > [エージェント ] ページで確認できます。また、エージェントのアップグレードを実行する時刻を指定することもできます。詳細については、「 エージェントアップグレード設定の指定」を参照してください。
エージェントのスタティックルートを設定
Kubernetes クラスター内では、コンテナー化されたすべての Pod はオーバーレイネットワークを使用します。これらのプライベート IP アドレスを直接使用して通信を確立することはできません。NetScaler ConsoleからKubernetesクラスターへの通信を有効にするには、エージェントで静的ルーティングを構成する必要があります。
Kubernetes クラスターの次の IP アドレスがあるとします。
-
Kubernetes master – 101.xx.xx.112
-
Kubernetes worker 1 – 101.xx.xx.111
-
Kubernetes worker 2 – 101.xx.xx.110
Kubernetes マスターで、次のコマンドを実行して、静的ルーティングを行う Pod ネットワークを特定します。
kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"
コマンドの実行後の出力例を次に示します。
エージェントを正常に設定したら:
-
SSH クライアントを使用して、エージェントにログオンします。
-
shell
を入力して Enter キーを押してbash
に切り替えます -
コマンド
route add -net <public IP address range> <Kubernetes IP address>
を使用して、静的ルーティングを設定します。例:
route add -net 192.168.0.0/24 101.xx.xx.112
route add -net 192.168.1.0/24 101.xx.xx.111
route add -net 192.168.2.0/24 101.xx.xx.110
-
netstat -rn
を使用して構成を検証します -
これらのルートコマンドを
/mpsconfig/svm.conf
ファイルに追加します。-
NetScaler エージェントで、次のコマンドを使用して svm.conf ファイルにアクセスします。
vim /mpsconfig/svm.conf
-
静的ルートを svm.conf ファイルに追加します。
例:
route add -net 192.168.0.0/24 101.xx.xx.112
。
-
GitHub からサンプルデプロイファイルをダウンロードする
-
git clone
https://github.com/citrix/citrix-k8s-ingress-controller.git
コマンドを使用して、マスターノードの git hub リポジトリをクローンします。 -
YAML にアクセスするには:
cd citrix-k8s-ingress-controller/example/servicegraph-demo/
CPX YAMLファイルにパラメータを追加する
注
CPX 58.x以降を使用している場合は、エージェントへの登録時に非nsrootパスワードを使用する必要があります。セキュリティを確保するために、NetScaler agent 61.x以降のリリースでは、必須のパスワード変更が必要です。NetScalerエージェントを61.xまたは最新バージョンにアップグレードする場合は、 CPX 58.x以降のビルドを使用する必要があります 。
CPXをNetScaler Consoleに登録するにはcpx.yaml
、 ファイルに次のパラメーターを含める必要があります。
- name: "NS_MGMT_SERVER"
value: "xx.xx.xx.xx"
- name: "NS_MGMT_FINGER_PRINT"
value: "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
- name: "NS_HTTP_PORT"
value: "9080"
- name: "NS_HTTPS_PORT"
value: 9443"
- name: "NS_MGMT_USER"
value: "nsroot"
- name: "NS_MGMT_PASS"
value: <your password>
- name: "LOGSTREAM_COLLECTOR_IP"
value: "xx.xx.xx.xx"
<!--NeedCopy-->
-
NS_MGMT_SERVER— エージェントの IP アドレスを示します
-
NS_MGMT_FINGER_PRINT— エージェントでの CPX の認証を示します。指紋を取得するには:
-
NetScaler コンソールで、[ インフラストラクチャ] > [インスタンス] [エージェント] に移動します。
-
エージェントを選択し、[ フィンガープリントの表示] をクリックします。
-
-
NS_HTTP_POR T:通信用のHTTPポートを示します。
-
NS_HTTPS_PORT :通信用のHTTPSポートを示します。
-
NS_MGMT_USER -ユーザー名を示します
-
NS_MGMT_PASS -パスワードを示します。お好みのパスワードを指定してください
-
LOGSTREAM_COLLECTOR_IP— CPXからNetScalerコンソールにログデータを転送するには、ログストリームプロトコルを有効にする必要があるエージェントのIPアドレスを示します
VPX、SDX、MPX、または BLX インスタンスをNetScaler コンソールに追加する
サービスグラフでティア1のNetScalerインスタンス分析を取得するには、VPX/SDX/MPX/BLXインスタンスをNetScalerコンソールに追加し、Web Insightを有効にする必要があります。 VPX/SDX/MPX/BLXインスタンスからのウェブトランザクションの詳細を表示するには、NetScaler コンソール用ウェブインサイトを有効にする必要があります 。
-
インフラストラクチャ > インスタンス > NetScalerに移動します。
-
[ Add ] オプションをクリックして、インスタンスを追加します。詳しくは、「 NetScaler コンソールでのインスタンスの追加」を参照してください。
-
インスタンスを追加したら、仮想サーバーを選択し、 Web Insightを有効にします。詳しくは、「 仮想サーバーでのライセンスの管理と分析の有効化」を参照してください。
NetScaler コンソールにKubernetesクラスターを追加します
Kubernetesクラスタを追加するには、次の手順に従います。
-
管理者の資格情報を使用してNetScalerコンソールにログオンします。
-
インフラストラクチャ > オーケストレーション > Kubernetes > クラスタに移動します。 [クラスタ] ページが表示されます。
-
[追加] をクリックします。
-
[クラスタの追加 ] ページで、次のパラメータを指定します。
-
[名前]: 任意の名前を指定します。
-
API サーバー URL -Kubernetes マスターノードから API サーバー URL の詳細を取得できます。
-
Kubernetes マスターノードで、コマンド
kubectl cluster-info
を実行します。 -
「Kubernetes マスターが実行中です」と表示される URL を入力します。
-
-
認証トークン -認証トークンを指定します。認証トークンは、KubernetesクラスターとNetScalerコンソール間の通信へのアクセスを検証するために必要です。認証トークンを生成する手順は、次のとおりです。
Kubernetes マスターノードで、次の操作を行います。
-
次の YAML を使用してサービスアカウントを作成します。
apiVersion: v1 kind: ServiceAccount metadata: name: <name> namespace: <namespace> <!--NeedCopy-->
-
kubectl create -f <yaml file>
を実行します。サービスアカウントが作成されます。
-
kubectl create clusterrolebinding <name> --clusterrole=cluster-admin --serviceaccount=<namespace>:<name>
を実行してクラスターロールをサービスアカウントにバインドします。これで、サービスアカウントはクラスター全体にアクセスできるようになりました。
トークンは、サービスアカウントの作成中に自動的に生成されます。
-
kubectl describe sa <name>
を実行してトークンを確認してください。 -
シークレット文字列を取得するには、
kubectl describe secret <token-name>
を実行してください。
-
-
リストからエージェントを選択します。
注
CPX YAMLで追加したのと同じエージェントを選択してください。
-
[作成] をクリックします。
-
サンプルのマイクロサービスアプリケーションのデプロイ
マスターノードの場合:
-
kubectl create -f namespace.yaml
を実行して名前空間を作成します。 -
次のコマンドを使用して、
hotdrink
マイクロサービス、入力、およびシークレットを展開します。kubectl create -f team_hotdrink.yaml -n sg-demo
kubectl create -f hotdrink-secret.yaml -n sg-demo
CPXを導入してNetScaler コンソールにCPXを登録する
-
kubectl create -f rbac.yaml
を実行してクラスターロールとクラスターバインディングをデプロイします。 -
kubectl create -f cpx.yaml -n sg-demo
を実行してCPXをデプロイします。
展開後、CPX 登録は自動的に行われます。
ライセンス用の仮想サーバの自動選択を有効にする
注
十分な仮想サーバライセンスがあることを確認してください。詳細については、「 ライセンス」を参照してください。
NetScaler ConsoleにKubernetesクラスターを追加したら、ライセンス対象として仮想サーバーを必ず自動選択する必要があります。サービスグラフにデータを表示するには、CPX仮想サーバのライセンスが必要です。仮想サーバを自動選択するには、次の手順で行います。
-
[ 設定]>[NetScaler コンソールのライセンスと分析設定]に移動します。
-
[ 仮想サーバーライセンスの概要] で、 [仮想サーバーの自動選択] と [アドレス指定できない仮想サーバーの自動選択] を有効にします。
WebトランザクションとTCPトランザクション設定を有効にする
Kubernetes クラスターを追加し、自動選択仮想サーバーを有効にした後、[ Web トランザクション設定] と [ TCP トランザクション設定 ]を [ すべて] に変更します。
-
[ 設定] > [アナリティクス設定]に移動します。
「 設定 」ページが表示されます。
-
[ 分析機能の有効化] をクリックします。
-
「 Webトランザクション設定」で、「 すべて」を選択します。
-
[ TCP トランザクションの設定]で、[ すべて] を選択します。
-
「 OK」をクリックします。
マイクロサービスへのトラフィックの送信
次に、トラフィックをマイクロサービスに送信して、NetScaler Consoleにサービスグラフを入力する必要があります。
-
kubectl get svc -n sg-demo
を実行して NodePort から CPX を公開します。 -
etc/host ファイルを編集し、
hotdrink.beverages.com
のドメイン IP エントリを作成しますこれで、
https://hotdrink.beverages.com
を使用してマイクロサービスにアクセスできるようになりました
この記事の概要
- NetScaler エージェントを構成する
- エージェントのスタティックルートを設定
- GitHub からサンプルデプロイファイルをダウンロードする
- CPX YAMLファイルにパラメータを追加する
- VPX、SDX、MPX、または BLX インスタンスをNetScaler コンソールに追加する
- NetScaler コンソールにKubernetesクラスターを追加します
- サンプルのマイクロサービスアプリケーションのデプロイ
- CPXを導入してNetScaler コンソールにCPXを登録する
- ライセンス用の仮想サーバの自動選択を有効にする
- WebトランザクションとTCPトランザクション設定を有効にする
- マイクロサービスへのトラフィックの送信