2022年3月29日火曜日

Kubernetes python clientでMicrok8sのnamespaceを列挙する

Kubernetes python clientでMicrok8sのnamespaceを列挙するには、以下の手順を実行します。

実行手順

1.pipenvのインストール
pipenvをインストール済みでない場合は、以下のコマンドでインストールします。
sudo apt-get -y install python3 python3-pip

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. kubernetes clientをインストールした仮想環境の作成
mkdir -p ./kubernetes-client

cd ./kubernetes-client

pipenv --python 3

pipenv install --skip-lock kubernetes

pipenv shell

3. configファイルの準備
microk8s.config > ~/.kube/config

4. サンプルプログラムの作成と実行
以下のサンプルプログラムでnamespaceを列挙することが出来ます。
list-namespace.py
from kubernetes import config, client

# configを読み込み
cfg = config.load_kube_config()

# クライアントを作成
with client.ApiClient(cfg) as api_client:
  api = client.CoreV1Api(api_client)
  # namespaceの列挙
  namespaces = api.list_namespace(watch=False)
  for namespace in namespaces.items:
    # namespaceとstatusを表示
    print("{}:{}".format(namespace.metadata.name, namespace.status.phase))

・実行コマンド
python3 list-namespace.py

関連情報

・Kubernetes Python Clientのリポジトリ
https://github.com/kubernetes-client/python

0 件のコメント:

コメントを投稿