PCF等について
こちらに簡単ではありますが、まとめてあるので見ていただけたらと思います。
とても便利なので、使ってみたいって人が増えたら嬉しいです。
§1 Bosh cli
Bosh Directorの登録
# bosh alias-env pks -e <PKS IP> --ca-cert /var/tempest/workspaces/default/root_ca_certificate
Name p-bosh
UUID e81768d8-42d1-40cb-a15b-8d90655bf466
Version 269.0.3 (00000000)
Director Stemcell ubuntu-xenial/315.64
CPI vsphere_cpi
Features compiled_package_cache: disabled
config_server: enabled
local_dns: enabled
power_dns: disabled
snapshots: disabled
User (not logged in)
Succeeded
Login
# bosh -e pks login
Email (): director
Password ():
Successfully authenticated with UAA
Succeeded
※ここは、GUIのBosh Direcoter > Credentials > Director Credentials に記載があります。
環境確認
# bosh envs
URL Alias
192.168.1.2 pks
1 environments
Succeeded
-e
で先ほど登録したDirectorのAliasを指定できます。
# bosh -e pks env
Using environment '192.168.1.2' as user 'director'
Name p-bosh
UUID e81768d8-42d1-40cb-a15b-8d90655bf466
Version 269.0.3 (00000000)
Director Stemcell ubuntu-xenial/315.64
CPI vsphere_cpi
Features compiled_package_cache: disabled
config_server: enabled
local_dns: enabled
power_dns: disabled
snapshots: disabled
User director
Succeeded
--details
でより詳細なものが出ます。
といっても、Bosh Director作成の際に使ったmodule等のexpiration日が増えるだけです。
# bosh -e pks env --details
Using environment '192.168.1.2' as user 'director'
Name p-bosh
UUID e81768d8-42d1-40cb-a15b-8d90655bf466
Version 269.0.3 (00000000)
Director Stemcell ubuntu-xenial/315.64
CPI vsphere_cpi
Features compiled_package_cache: disabled
config_server: enabled
local_dns: enabled
power_dns: disabled
snapshots: disabled
User director
CERTIFICATE EXPIRY DATE INFORMATION
Certificate Expiry Date (UTC) Days Left
director.ssl.cert 2021-07-28T04:04:26Z 724
blobstore.tls.cert.ca 2023-07-26T04:35:44Z 1452
director.config_server.ca_cert 2023-07-26T04:35:44Z 1452
director.config_server.uaa.ca_cert 2023-07-26T04:35:44Z 1452
nats.tls.ca 2023-07-26T04:35:44Z 1452
nats.tls.client_ca.certificate 2023-07-26T04:35:44Z 1452
nats.tls.director.certificate 2021-07-28T03:03:52Z 724
Succeeded
Stemcellsの参照
こちらではss
もしくはstemcells
を用います。
今回は省略形であるss
を使った例です。
# bosh -e pks ss
Using environment '192.168.1.2' as user 'director'
Name Version OS CPI CID
bosh-vsphere-esxi-ubuntu-xenial-go_agent 250.25* ubuntu-xenial d0bce406ebcdd240b825 sc-dad4b118-5375-4de0-99de-c4ca71672f7f
(*) Currently deployed
1 stemcells
Succeeded
起動中のVMの確認
今回、Bosh Director上には現在PKS
, Harbor
, そしてPKSから作成したKubernetes cluster(1master, 4worker)の3つが作られており、それらが表示されています。
PKSで、Kubernetes Clusterを増やしたり、BoshでVMを建てたときに、このコマンドで確認することができます。
# bosh -e pks vms
Using environment '192.168.1.2' as user 'director'
Task 412
Task 413
Task 411
Task 412 done
Task 413 done
Task 411 done
Deployment 'harbor-container-registry-52b31900d96f114fa96b'
Instance Process State AZ IPs VM CID VM Type Active
harbor-app/076fb579-f236-4f57-84e1-790a80faab3a running az 192.168.1.61 vm-9d7d9986-ae33-4707-a09a-5e4c4ec4f3f5 large.disk true
1 vms
Deployment 'pivotal-container-service-db57080f08c546b18a83'
Instance Process State AZ IPs VM CID VM Type Active
pivotal-container-service/9fbaa064-4b1a-49bc-a539-6b0cef512285 running az 192.168.1.4 vm-f09c7356-2d17-493b-84fd-6b483397245b large.disk true
1 vms
Deployment 'service-instance_98c4d605-6646-4702-beba-9f13da740d26'
Instance Process State AZ IPs VM CID VM Type Active
master/9ef8b18d-5f62-42e5-b60d-b081c234e63e running az 172.16.1.2 vm-34cfc2ca-6145-4ad4-8457-0e0ba146b51f large true
worker/92aa10f6-d115-438c-a451-5c47a014b448 running az 172.16.1.3 vm-81e901e0-9513-498f-9d31-36e428dc2fa5 medium.disk true
worker/b5da10f1-f843-4ad0-9631-881bc240a436 running az 172.16.1.4 vm-fce9b31a-4bff-4134-9848-1f6a6408e462 medium.disk true
worker/cd824452-c006-49d9-a499-c406923d33c6 running az 172.16.1.5 vm-8f8a9295-df7e-4216-8e20-e45fba7a3ff8 medium.disk true
worker/f449b911-2ac6-461d-8d1e-2124f6a9d54d running az 172.16.1.6 vm-48c383eb-06aa-4eba-b9ee-b48a37526127 medium.disk true
5 vms
Succeeded
§2 PKS cli
Login
こちらはPKSにログインするコマンドです。
このコマンドを打つと、一定時間はキャッシュに残るので、teratermやputtyを切っても再度接続した際に残っていれば、打たなくてもpksコマンドが指定pksサーバに届きます。
--ca-cert
に関しては、構築環境に合わせて変えてください。
# pks login -a <PKS FQDN> -u <user> -p <password> --ca-cert /usr/pks/root_ca_certificate
ログインされていない状態だと以下のようなErrorがはかれます。
Error: You are not currently authenticated. Please log in to continue.
Kubernetes Cluster作成
# pks create-cluster <Cluster名> --external-hostname <FQDN> --plan large --num-nodes <Node数(worker数)>
Name: <Cluster名>
Plan Name: large
UUID: 09ffbeda-423e-4872-a7d1-73f51a8c6cce
Last Action: CREATE
Last Action State: in progress
Last Action Description: Creating cluster
Kubernetes Master Host: devopscluster.mydom.local
Kubernetes Master Port: 8443
Worker Nodes: 4
Kubernetes Master IP(s): In Progress
Network Profile Name:
Use 'pks cluster <Cluster名>' to monitor the state of your cluster
以下、[Cluster名] はSampleCluster
としていきます。
Cluster情報
まず、PKSから構築したKubernetes Clusterのリストを表示します。
# pks clusters list
Name Plan Name UUID Status Action
SampleCluster large 09ffbeda-423e-4872-a7d1-73f51a8c6cce succeeded CREATE
次は、Cluster名を指定して詳細な情報を得ます。
上はpks clusters
, 下はpks cluster
なのでコマンドを間違えないように。
# pks cluster SampleCluster
Name: SampleCluster
Plan Name: large
UUID: 98c4d605-6646-4702-beba-9f13da740d26
Last Action: CREATE
Last Action State: succeeded
Last Action Description: Instance provisioning completed
Kubernetes Master Host: samplecluster.mydom.local
Kubernetes Master Port: 8443
Worker Nodes: 4
Kubernetes Master IP(s): 172.16.1.2
Network Profile Name:
Credential取得
Kubernetes Clusterを構築したら、Credentialを取得してください。
そうすると、kubectlが取得したClusterに届くようになります。
# pks get-credentials SampleCluster
§3 Harbor
docker loginしようとした時に以下のようなログが表示されるかもしれません。
Error response from daemon: Get https://harbor.testdom.local/v2/: unauthorized: authentication required
これを解決するために、以下のようなことが必要となります。
これは、docker local registoryでも必要だったりしますが
今回は、Ops Manager上に表示されているので、Openssl
を使ったりしません。
Ops Manager GUI上のHarbor > certificate にある ssl証明書を
/etc/docker/certs.d/[Harbor FQDN]/ 下に ca.crt という名前で配置します。
その後、docker を再起動します。
systemctl restart docker
そうすると、ログインができるようになります。
最後に
これ以外は、あとはKubernetesの操作になってくると思います。
これからもどんどんKubernetesの周辺がいろいろなもので便利になっていくと思うと楽しみですね。