Kubernetes環境におけるNSX Container plug-inの導入について
NSX Container Plug-inの導入手順
Kubernetes + NSX-T環境におけるPlug-inの導入については
最初にZIPファイルをダウンロードする必要があります。
各種ドキュメントにURLが貼られていないので入手方法に迷われる方も多いと思います(私もその一人でした)。
色々検索ワードを変えてみること15分、アッサリmy vmwareのリンクがHITしましたので同じような方のためにURLを記載しておきます。
(以下はNSX-T 2.5.1用となります。)
NSX Container Plugin
ダウンロードされるファイルについて
上記からダウンロードすると1GB程度のZIPファイルが保存されます。
解凍すると総計2GB弱程度でした。
こちらのファイルを直接k8s nodeへ送ってunzipコマンド叩いてOS上で解凍作業を実行しても問題ないですが
不必要なファイルをmasterへ送りたくない!という方は別途管理端末で解凍し、SCP等でk8s環境へ送付してもいいかと思います。
以下、管理端末で解凍すると...
フォルダをクリックして展開すると以下フォルダが表示されます。
今回はOpenshift環境ではないのでそのまま"Kubernetes" フォルダへ進んでいきましょう。
Kubernetes フォルダ配下は以下。
ここから先はKubernetesがUbuntu / RHELどちらで構成されているかにより使用ファイルが変わります。
先述したようにZIPファイルをそのままk8s環境へ送付すると、必ず半分は不必要なファイルを送ってしまっている...ということになります。
送付先のOS上で不要ファイルを削除しても勿論問題ありませんが、本番環境でのヒューマンエラーに関する芽はできるだけ摘んでおきたいですね。
なおTARファイルはdocker loadコマンドで読み込ませるイメージのため、tarファイルのままk8s環境に送付しましょう。
ちなみにyamlファイルについて、導入前に覗いておくことをお勧めします。
(読まずにkubectl applyする方は稀かと思いますが...)
ドキュメントに導入後の追加項目が詳細に記述されていないですが、yamlファイルがそのまま閲覧可能ですので事前確認しておかない手は無いです。
以下抜粋。
実際は非常に多くのKind定義がされております。
以下公式ドキュメントにも記述がありますが
細かい作業を省いてざっくり手順分けすると以下の作業工程になります。
1. ファイルのダウンロード
2. tarファイルイメージをdocker loadで読み込ませる
3. yamlファイルをapplyする
導入後の状態について
上記のようにClusterRole / ClusterRoleBindなど非常に多数の追加項目があるためすべてご紹介はできませんが、一部導入後の状態について以下のような状態となります。
apparmorのサービス稼働状況:
Namespaceの作成状況:
(nsx-systemが新規作成されています。)
ダウンロードしたyamlファイル103行目で定義されているように、デフォルトでは"nsx-system"固定です。
PodやDeploymentなどの作成状況:
"nsx-ncp" と命名されたDeployment / nsx-node-agentのDaemonsetが確認され、
それぞれPodの形で動作している状態です。
configmapも同様:
なお互換性についてですが、Release Noteに記述がありますのでこちらも必ず事前に確認しておきましょう。
VMware社がProject Pacificに力を入れている事はvmworld / vForumでもひしひしと伝わってきましたので
広く公式ローンチがされるであろう将来のリリースに備えて、NSX-Tそのものの導入だけでなく、on Kubernetesでの各種導入・アップデートについても追いかける必要がありますね。