LoginSignup
7
0

More than 1 year has passed since last update.

TKGv1.6 をvSphere環境にインストールしてみた

Last updated at Posted at 2022-12-12

Tanzu KubernetesGrid(TKG)v1.6をvSphere環境にインストールしてみました。

TKGv1.6の公式ドキュメントを参照しながら作業を進めました。

作業中詰まったときに助けになったのが、TUNA-JPのコミュニティ上での質問でした。
Tanzu の OSS を利用しようと考えた際には是非ご参加ください。

各バージョンについてインストールしてみた記事は末尾の参考記事に記載しますので、
合わせてご確認ください。

目次

  1. Tanzu CLI、docker、kubectl等のツールのインストール
  2. マネジメントクラスタをインストールする
  3. ワークロードクラスタをインストールする
  4. 詰まったポイント
  5. 参考記事

Tanzu CLI、docker、kubectl等のツールのインストール

以下のドキュメントを参考に作業を進めて行きます。

今回はubuntu 22.04を立てて、そこにインストールしました。
Dockerのインストールにおいては、公式ドキュメントとブログ等を参照して
インストールしました。

それ以外はドキュメントの指示に従えば、淡々と必要なパッケージをインストールできます。

マネジメントクラスタをインストールする

準備

以下のドキュメントを参考に作業を進めて行きます。

ドキュメントを開いて要件について確認を進めながら、
準備を進めるのですが、以下の要件を読み飛ばしていて

  • Traffic allowed out to vCenter Server from the network on which clusters will run

マネジメントクラスタがインターネットに接続できずデプロイに失敗することで、
詰まってしまう状況になったりしました。

最終的にはマネジメント、ワークロードクラスタで特に設定について触らない場合各2つずつ計4つ外部インターネットに
出れるアドレスが必要になりましたので、準備しておきましょう。(会社の検証環境で作業していたので、インターネットに接続できませんでした。。)
screenshot.369.jpg

またKub-Vipを利用する場合、マネジメントクラスタ、ワークロードクラスタ共に、クラスターAPIサーバーからのリクエストを受けるために性的なアドレスが必要になります。こちらも各1つずつ計2つ用意しておきましょう。

外部インターネットへのアクセスができない環境の場合、
以下のドキュメントを参考にして準備を進める必要があります。

その他要件についてはドキュメントの通り進めます。

デプロイする

以下のドキュメントを参考に作業を進めて行きます。

踏み台サーバーで以下のコマンドを実行してインストールするGUIを立ち上げます。

$ tanzu management-cluster create --ui

そのままでは手元の環境からアクセスできないので、
踏み台サーバーにSSH接続する際にポートフォワードの設定をします。

手元で使用しているのがwindows環境だったのでputtyを利用して、
putty Configuration -> Connection -> SSH -> Tunnelsから例えば以下のように設定します。
Source port:800 <--手元の環境で接続するポート
Destination:127.0.0.1:8080, Local <-- 踏み台サーバーでGUIが上がっているhttp://127.0.0.1:8080 にアクセスしたいため

screenshot.358.jpg

手元の環境がLinux等の場合は、以下のようなコマンドで同じことができます。
ssh <踏み台サーバーのIPアドレス> -L 800:localhost:8080

設定後手元の環境でブラウザーから、http://127.0.0.1:<設定したポート>でアクセスできます。
(毎回ポートフォワードどうやるんだっけ?となるので備忘録的に詳しめに書いときます。)

GUIで必要な内容について入力していきます。
成功した場合は以下のような画面になります。
screenshot.351.jpg

screenshot.367.jpg

入力時のMetadataセクションにおいて、Lableの項目に適当なKey:valueを設定しない場合、以下のようなエラーでマネジメントクラスターのデプロイに失敗するバグが存在します。適当な値を設定しましょう。
screenshot.366.jpg

ワークロードクラスタをインストールする

以下のドキュメントを参考に作業を進めて行きます。
https://docs.vmware.com/en/VMware-Tanzu-Kubernetes-Grid/1.6/vmware-tanzu-kubernetes-grid-16/GUID-tanzu-k8s-clusters-index.html#deploy

GUIでマネジメントクラスタをデプロイするときに画面下部に、
CLIでインストールするときのコマンドが表示されます。
tanzu management-cluster create --file /home//.config/tanzu/tkg/clusterconfigs/z40ywhax64.yaml -v 6

設定ファイル:/home//.config/tanzu/tkg/clusterconfigs/z40ywhax64.yamlをコピーし、
必要な設定値について変更して、tanzu cluster create --file .config/tanzu/tkg/clusterconfigs/my-vsphere-tkc.yaml
のようなコマンドでデプロイします。

変えた設定値は以下の通りです。

  • CLUSTER_NAMEの追加 - 設定されていなかったので追加しました。
  • VSPHERE_CONTROL_PLANE_ENDPOINT - ワークロードクラスタ用のエンドポイントIPアドレス

設定ファイルを渡して、コマンドからさくっとデプロイできるのは便利だなと思いました。
デプロイが終わると、vSphereの画面に対応する仮想マシンがデプロイされています。
screenshot.369.jpg

詰まったポイント

  1. ワークロードクラスタをデプロイする際に、インターネット接続ができずデプロイに失敗する
    screenshot.363.jpg
    デプロイされるワークロードクラスタのIPアドレスからインターネット接続できるように設定して解消

  2. 入力時のMetadataセクションにおいて、Lableの項目に適当なKey:valueを設定しない場合、以下のようなエラーでマネジメントクラスターのデプロイに失敗するバグに遭遇した

  3. 何回かデプロイに失敗したワークロードクラスタを削除していたら、削除に失敗する事象に遭遇した

$ tanzu management-cluster delete
Deleting management cluster 'tkg-mgmt-vsphere-20230106020419'. Are you sure? [y/N]: y
Verifying management cluster...
Setting up cleanup cluster...
Error: unable to delete management cluster: unable to create cleanup cluster: failed to create kind cluster tkg-kind-cerohqveb64pi7c0smf0: failed to generate kubeadm config content: failed to get kubernetes version from node: failed to get file: command "docker exec --privileged tkg-kind-cerohqveb64pi7c0smf0-control-plane cat /kind/version" failed with error: exit status 126
Error: exit status 1

vSphereからデプロイされている仮想マシンの削除&以下のドキュメントの「Clean Up After an Unsuccessful Management Cluster Deployment」に従って、kindクラスタを削除した

参考記事

雑感

デプロイしてみた系の記事はたくさんあがっているので、
すぐデプロイできるでしょと思っていたら、
思いのほか詰まってしまい手こずりました。。

ただ一度手順を分かってしまえばお手軽にkubernetes環境を様々な環境にデプロイできるのは
便利だなと思いました。

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0