2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vSphere with kubernetes 基本機能の確認

Last updated at Posted at 2020-12-23

検証自体は少し前になりますが、vSphere 7.0 GAの環境で、コンテナ基盤のプラットフォームとして登場した、**vSphere with Kubernetesの基本機能**を検証したので、まとめてみました。

検証環境は次の通りです。

  • VMware ESXi 7.0.0.15843807  7.0 GA
  • VMware vCenter Server 7.0.0.15952599  7.0 GA
  • VMware NSX-T Data Center 3.0.0.0.0.15946739  3.0.0

vSphere with Kubernetesとは

vSphere クラスタにてPod作成等のKubernetes ワークロードを実行する事が出来る。vSphere with Kubernetesのコンポーネントは以下の通り。
image.png

  • スーパーバイザークラスタ: vSphere with Kubernetesを有効化したクラスタ(ESXi、NSX-T)
  • 制御プレーン仮想マシン: スーパーバイザークラスタに3台展開され、Podを作成する
  • vSphere Pod: vSphere with Kubernetesで作成されるPod
  • Spherelet: ホストのKubetnetes用の追加プロセス
  • CRX: vSphere Podの実行環境

vSphere with Kubernetes の環境構築

  • スーパーバイザクラスタのシステム要件

  • ワークロード管理の有効化
    上記システム要件を満たしたクラスタを使用して、vSphere Clientホーム より[ワークロード管理] を選択し、[有効化」
    image.png

  • Kubernetes を有効化するクラスタを選択
    image.png

  • 制御プレーン仮想マシンのサイズを選択
    image.png

  • 管理ネットワークの設定

  • ネットワーク:VMkernel アダプタが管理トラフィック用に構成されているネットワークを選択
  • 開始IPアドレス:制御プレーン仮想マシン用に、連続するアドレス(4つ必要)の開始アドレスを指定
    image.png
  • ワークロードネットワークの設定
  • vSphere Distributed Switch:スーパーバイザークラスタのオーバーレイ ネットワーク用
  • ポッド CIDR:vSphere Native Pod の IP アドレス範囲、/21を指定(デフォルト値を利用可能)
  • サービス CIDR:Kubernetes サービスの IP アドレス範囲(デフォルト値を利用可能)
  • 入力/出力方向 CIDR :Kubernetes サービスの入力/出力方向 IP アドレス範囲、/27で外部からアクセス可能なアドレスを指定(Podのデプロイに外部アクセスが必要)
    image.png
  • ワークロード管理の有効化 : 確認
    image.png

名前空間の作成

クラスタでのvSphere with Kubernetesの有効化を確認し、名前空間を作成
名前空間に、CPU、メモリ、ストレージ及び権限を割り当てる事で、開発者によるPodへのアクセスが可能となる
image.png
image.png

Podの作成と確認

CLIにて、スーパーバイザクラスタへのログインを実施

kubectl vsphere login --server=https://<制御プレーンノードのIPアドレス> --vsphere-username <your user account name>
  • 名前空間にPodをデプロイし、確認
# Podのデプロイ
E:\vsphere-plugin\bin> kubectl apply -f E:\vsphere-plugin\bin\application.yaml --namespace=namespace1
pod/nginx created

# Podの確認
E:\vsphere-plugin\bin> kubectl get pods --namespace=namespace1
NAME    READY   STATUS    RESTARTS   AGE
nginx   0/1     Pending   0          12s

E:\vsphere-plugin\bin>kubectl get pods --namespace=namespace1
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          79s
  • Podへのアクセス
E:\vsphere-plugin\bin> kubectl exec -it nginx /bin/bash --namespace=namespace1
root@nginx:/# ls
bin   docker-entrypoint.d   home   media  proc  sbin  tmp
boot  docker-entrypoint.sh  lib    mnt    root  srv   usr
dev   etc                   lib64  opt    run   sys   var

image.png

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?