--- title: Cloud Foundry Container Runtime 0.16.0を0.17.0にアップデート tags: ["Kubo", "BOSH", "Kubernetes", "AWS", "CFCR"] categories: ["Dev", "CaaS", "Kubernetes", "CFCR"] date: 2018-05-31T18:34:52Z updated: 2018-05-31T18:46:32Z --- Kubernetes 1.10.0およびMulti-Masterに対応した[CFCR 0.17.0](https://docs-cfcr.cfapps.io/overview/release-notes/#v0170)がリリースされたので、 [前回](https://blog.ik.am/entries/451)作成したCFCR 0.16.0の環境を0.17.0にアップデートします。 ### CFCR 0.17.0にアップデート まずはBastion serverにログイン。 ``` ./ssh-bastion.sh ``` BOSH用の環境変数を読み込みます。 ``` cd cfcr-manifests source bosh-aws-env.sh ``` `v0.17.0`のタグを使ってmanifestを更新します。 ``` cd kubo-deployment git fetch origin --tag git checkout v0.17.0 cd .. ``` CFCR v0.17.0用にStemcellをアップデートします。 ``` STEMCELL_VERSION=$(bosh int kubo-deployment/manifests/cfcr.yml --path /stemcells/0/version) bosh upload-stemcell https://s3.amazonaws.com/bosh-aws-light-stemcells/light-bosh-stemcell-${STEMCELL_VERSION}-aws-xen-hvm-ubuntu-trusty-go_agent.tgz ``` CFCR v0.17.0を指定するops-fileを作成します。 ```yaml cat < ops-files/kubernetes-kubo-0.17.0.yml - type: replace path: /releases/name=kubo? value: name: kubo version: 0.17.0 url: https://bosh.io/d/github.com/cloudfoundry-incubator/kubo-release?v=0.17.0 sha1: 0ab676b9f6f5363377498e93487e8ba31622768e EOF ``` `deploy-kubernetes.sh`を更新して、作成したops-fileを使います。 Masterは引き続き1インスタンスにするため、`ops-files/misc/single-master.yml`も使います。 ```bash cat <<'EOF' > deploy-kubernetes.sh #!/bin/bash bosh deploy -d cfcr kubo-deployment/manifests/cfcr.yml \ -o kubo-deployment/manifests/ops-files/misc/single-master.yml \ -o kubo-deployment/manifests/ops-files/addons-spec.yml \ -o kubo-deployment/manifests/ops-files/iaas/aws/lb.yml \ -o kubo-deployment/manifests/ops-files/iaas/aws/cloud-provider.yml \ -o ops-files/kubernetes-kubo-0.17.0.yml \ -o ops-files/kubernetes-worker.yml \ -o ops-files/kubernetes-master-lb.yml \ --var-file addons-spec=<(for f in `ls specs/*.yml`;do cat $f;echo;echo "---";done) \ -v kubernetes_cluster_tag=${kubernetes_cluster_tag} \ -v kubernetes_master_host=${master_lb_ip_address} \ --no-redact EOF chmod +x deploy-kubernetes.sh ``` CFCR 0.17.0をデプロイします。 0.16.0から0.17.0の[差分](https://gist.github.com/making/adc8726fdef94671259ac43a18429d45)。 ```bash ./deploy-kubernetes.sh ``` Addonを更新します。 ```bash bosh -d cfcr run-errand apply-addons ``` k8s 1.10のクラスタが手に入りました! ``` $ kubectl get node -o wide NAME STATUS ROLES AGE VERSION EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-10-0-2-5.ap-northeast-1.compute.internal Ready 45m v1.10.3 Ubuntu 14.04.5 LTS 4.4.0-127-generic docker://17.12.1-ce ``` ### クラスタのスケールアウト Workerを2インスタンス、Masterを3インスタンスにスケールアウトしましょう。 ```yaml cat < ops-files/kubernetes-worker.yml - type: replace path: /instance_groups/name=worker/instances value: 2 EOF ``` ```bash cat <<'EOF' > deploy-kubernetes.sh #!/bin/bash bosh deploy -d cfcr kubo-deployment/manifests/cfcr.yml \ -o kubo-deployment/manifests/ops-files/addons-spec.yml \ -o kubo-deployment/manifests/ops-files/iaas/aws/lb.yml \ -o kubo-deployment/manifests/ops-files/iaas/aws/cloud-provider.yml \ -o ops-files/kubernetes-kubo-0.17.0.yml \ -o ops-files/kubernetes-worker.yml \ -o ops-files/kubernetes-master-lb.yml \ --var-file addons-spec=<(for f in `ls specs/*.yml`;do cat $f;echo;echo "---";done) \ -v kubernetes_cluster_tag=${kubernetes_cluster_tag} \ -v kubernetes_master_host=${master_lb_ip_address} \ --no-redact EOF ``` ``` ./deploy-kubernetes.sh ``` `bosh vms`でVM一覧を確認。 ``` $ bosh -d cfcr vms Using environment '10.0.2.252' as client 'admin' Task 61. Done Deployment 'cfcr' Instance Process State AZ IPs VM CID VM Type Active master/485d11d9-6390-40d7-97dd-b6f92b3148c6 running z2 10.0.2.7 i-0f6a5ceca5c869797 small - master/7e776fbe-ea80-499c-b1d6-9f1aa8af29bc running z3 10.0.2.8 i-01ef1a2a6b0e38f84 small - master/bc14d482-2481-4cd4-ab61-f8998959befe running z1 10.0.2.4 i-0e0c6b90f7b2ee10d small - worker/9a57034a-99a5-48cb-9db0-59841e083a8c running z1 10.0.2.5 i-03d3204bfe5f4ba1f small-highmem - worker/ac71f182-ce0b-4c6d-8811-2605c3248121 running z2 10.0.2.9 i-0412554a975042d05 small-highmem - 5 vms Succeeded ``` EC2コンソールは次のようになります。 ![image](https://user-images.githubusercontent.com/106908/40799521-c1c855c4-6548-11e8-9745-4abadb9680b4.png)