良く利用する bx cs
コマンドのチートシートです。 全部を網羅するのは無理なので、私が普段から良く利用するものです。
k8sが利用できるリージョンの表示
$ bx cs regions
Region Name Region Alias
ap-north jp-tok
ap-south au-syd
eu-central eu-de
uk-south eu-gb
us-east us-east
us-south us-south
リージョン選択とDCロケーション(米国南部)
$ bx cs region-set us-south
OK
$ bx cs locations
OK
Location
dal10
dal12
dal13
リージョン選択とDCロケーション(アジア・パシフィック)
$ bx cs region-set ap-north
OK
$ bx cs locations
OK
Location
hkg02
sng01
tok02
マシンタイプ
統一アーキテクチャですが、在庫の関係でDCロケーションで選択できるモデルに差が出る事もあるから注意
$ bx cs machine-types tok02
OK
Name Cores Memory Network Speed OS Server Type Storage Secondary Storage
u2c.2x4 2 4GB 1000Mbps UBUNTU_16_64 virtual 25GB 100GB
b2c.4x16 4 16GB 1000Mbps UBUNTU_16_64 virtual 25GB 100GB
b2c.16x64 16 64GB 1000Mbps UBUNTU_16_64 virtual 25GB 100GB
b2c.32x128 32 128GB 1000Mbps UBUNTU_16_64 virtual 25GB 100GB
b2c.56x242 56 242GB 1000Mbps UBUNTU_16_64 virtual 25GB 100GB
VLANのリスト
DCロケーションを指定して、自己のユーザーIDのVLAN番号と管理IDが表示される。
$ bx cs vlans tok02
OK
ID Name Number Type Router
978115 1707 private bcr01a.tok02
978113 1649 public fcr01a.tok02
利用できるKubenetesのバージョンのリスト
$ bx cs kube-versions
OK
Version
1.5.6
1.7.4
1.8.6 (default)
1.9.2
クラスタの作成実行
注意点としては、vlanは IDの方をセットする事、それから、--hardware は shared と dedicated が選択できるが、ノードの仮想サーバーをホストしている物理サーバーが、共有型か専用型かの事で、仮想サーバーのノードとして分離されているので、他のユーザーのファイルが見える事はない。
$ bx cs cluster-create ¥
--name mycluster5 ¥
--kube-version 1.9.2 ¥
--location tok02
--public-vlan 978113 ¥
--private-vlan 978115 ¥
--workers 3
--machine-type u2c.2x4 ¥
--hardware shared
Creating cluster...
OK
クラスタのリスト表示
$ bx cs clusters
OK
Name ID State Created Workers Location Version
mycluster5 18e851dced6240f5bdf76f8f34bb60a0 deploying 50 seconds ago 3 tok02 1.9.2_1501
参考までに、クラスタの構成が完了するまでの時間を計ってみたところ、約20分だった。 最初の頃からすると、相当改良された感がある。
$ while true; do bx cs clusters; sleep 60; done
OK
Name ID State Created Workers Location Version
mycluster5 18e851dced6240f5bdf76f8f34bb60a0 pending 17 minutes ago 3 tok02 1.9.2_1501
OK
Name ID State Created Workers Location Version
mycluster5 18e851dced6240f5bdf76f8f34bb60a0 normal 19 minutes ago 3 tok02 1.9.2_1501
環境設定
kubectlを利用するための認証情報のダウンロードと格納先環境変数表示のコマンドです。 環境変数は、.bash_profileとかに仕込んで置くと便利かも。 管理対象のk8sクラスタが複数の時は使えないが…
$ bx cs cluster-config mycluster5
OK
mycluster5 の構成は正常にダウンロードされました。 環境変数をエクスポートして Kubernetes の使用を開始してください。
export KUBECONFIG=/Users/maho/.bluemix/plugins/container-service/clusters/mycluster5/kube-config-tok02-mycluster5.yml
bx コマンドと kubectlコマンドでの node表示
ポッドが動作するサーバーを Google や Kuberntestプロジェクトの言い方だとノード、IBM流の言い方はワーカー、なんでかね・・・ ノードといっても、何指しているか判らんと言うのはあるが、言い方変えてもね、まったく面倒だね。
Bluemixコマンドでノードを表示したケース
$ bx cs workers mycluster5
OK
ID Public IP Private IP Machine Type State Status Zone Version
kube-tok02-cr18e851dced6240f5bdf76f8f34bb60a0-w1 161.***.***.*** 10.132.253.38 u2c.2x4.encrypted normal Ready tok02 1.9.2_1501
kube-tok02-cr18e851dced6240f5bdf76f8f34bb60a0-w2 161.***.***.*** 10.132.253.30 u2c.2x4.encrypted normal Ready tok02 1.9.2_1501
kube-tok02-cr18e851dced6240f5bdf76f8f34bb60a0-w3 161.***.***.*** 10.132.253.17 u2c.2x4.encrypted normal Ready tok02 1.9.2_1501
kubecltでノードを表示したケース
$ kubectl get node
NAME STATUS AGE VERSION
10.132.253.17 Ready 10m v1.9.2-4+819981a2462d38
10.132.253.30 Ready 10m v1.9.2-4+819981a2462d38
10.132.253.38 Ready 10m v1.9.2-4+819981a2462d38
k8sクラスタに関連するサブネットをリスト
$ bx cs subnets
OK
ID Network Gateway VLAN ID Type Bound Cluster
1571901 10.93.66.128/26 10.93.66.129 2151537 private
1321303 10.171.107.192/26 10.171.107.193 2246737 private
1568799 169.**.**.***/28 169.**.**.*** 2246735 public
1511861 169.**.***.***/28 169.**.***.*** 2151535 public
999167 161.***.***.**/28 161.***.***.** 978113 public
1038815 161.***.***.***/28 161.***.***.*** 978113 public
1038857 10.132.253.0/26 10.132.253.1 978115 private
1038909 161.***.***.***/28 161.***.***.*** 978113 public
1072373 2401:c900:1001:0150:0000:0000:0000:0000/64 2401:c900:1001:0150:0000:0000:0000:0001 978113 public
k8sのロードバランサーに指定できるパブリックのIPアドレスのリスト
$ bx sl subnet list -d tok02 --network-space PUBLIC --subnet-type SECONDARY_ON_VLAN
ID identifier タイプ network_space datacenter vlan_id IP hardware virtual_servers
999167 161.***.***.** SECONDARY_ON_VLAN PUBLIC tok02 978113 16 0 0
1038815 161.***.***.*** SECONDARY_ON_VLAN PUBLIC tok02 978113 16 0 0
VLANのID番号で抜き出す方法
$ bx cs subnets |grep -e 999167 -e 1038815
999167 161.***.***.**/28 ***.***.***.** 978113 public
1038815 161.***.***.***/28 ***.***.***.*** 978113 public
k8sの管理対象のサブネットに指定する。 これにより、YAMLファイルでIPアドレスを指定できる様になる。
$ bx cs cluster-subnet-add mycluster5 999167
OK
$ bx cs cluster-subnet-add mycluster5 1038815
OK