Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Running Kubernetes on an existing BOSH

Running Kubernetes on an existing BOSH

The core CFCR/Kubo team has been focusing on bringing BOSH to Kubernetes users. In this session we look at helping existing BOSH users to deploy Kubernetes.

Dr Nic Williams

April 19, 2018
Tweet

More Decks by Dr Nic Williams

Other Decks in Technology

Transcript

  1. Title Text Body Level One Body Level Two Body Level

    Three Body Level Four Body Level Five Running Kubernetes 
 with an existing BOSH CF Summit Boston MA April 2018 Dr Nic Williams @drnic
  2. $ bosh instances -d cfcr Instance Process State AZ IPs

    master/a957bed5-8e09-46f5-94a8-ef2964cfebdb running z1 10.10.1.10 worker/169c76e7-76b9-4546-949c-89e7630c9bed running z2 10.10.1.12 worker/2e5a58aa-5e7d-4e8d-9918-a5400cd6f278 running z1 10.10.1.11 worker/e3ad4443-2d67-47ba-b661-5f68929bd711 running z3 10.10.1.13 bosh -d cfcr deploy <(curl -L http://bit.ly/bosh-cfcr) https://github.com/starkandwayne/cfcr-compiled-deployment
  3. Bare bones private subnet BOSH UAA CredHub bosh deploy M

    Wk Wk Wk https://github.com/starkandwayne/cfcr-compiled-deployment
  4. Bare bones BOSH UAA CredHub bosh deploy M Wk Wk

    Wk https://github.com/starkandwayne/cfcr-compiled-deployment
  5. more bones dmz private subnet BOSH UAA CredHub bosh deploy

    M Jumpbox NAT Wk Wk Wk https://github.com/starkandwayne/cfcr-compiled-deployment
  6. HTTP & TCP Routers dmz BOSH M Wk Wk Wk

    Jumpbox NAT Routers LBs https://github.com/starkandwayne/cfcr-compiled-deployment CF
  7. Cloud Provider BOSH UAA CredHub bosh deploy M Wk Wk

    Wk https://github.com/starkandwayne/cfcr-compiled-deployment
  8. Cloud Provider BOSH UAA CredHub bosh deploy M Wk Wk

    Wk https://github.com/starkandwayne/cfcr-compiled-deployment
  9. Our story begins dmz private subnet BOSH UAA CredHub Jumpbox

    NAT https://github.com/starkandwayne/cfcr-compiled-deployment
  10. No access from Internet dmz BOSH UAA CredHub bosh deploy

    M Jumpbox NAT W W W https://github.com/starkandwayne/cfcr-compiled-deployment
  11. git clone https://github.com/kubernetes/examples kubernetes-examples kubectl create -f kubernetes-examples/staging/elasticsearch/service-account.yaml kubectl create

    -f kubernetes-examples/staging/elasticsearch/es-svc.yaml kubectl create -f kubernetes-examples/staging/elasticsearch/es-rc.yaml watch kubectl get pods https://github.com/starkandwayne/cfcr-compiled-deployment
  12. HTTP & TCP Routers dmz BOSH M Wk Wk Wk

    Jumpbox NAT Routers LBs https://github.com/starkandwayne/cfcr-compiled-deployment CF
  13. credhub find -n cfcr/tls-kube # delete them helper/cf-routing-vars.sh > cf-vars.yml

    bosh -d cfcr deploy cfcr.yml \ -o ops-files/allow-privileged-containers.yml \ -o ops-files/cf-routing.yml \ -l cf-vars.yml https://github.com/starkandwayne/cfcr-compiled-deployment
  14. 10:20:46 | Creating missing vms: route-sync/081cdb2c-7784-40e6-a3db-b20690d258fd (0) (00:01:06) 10:21:52 |

    Updating instance master: master/7b900ba9-4546-4946-83e3-520d6f4b8a23 (0) (canary) (00:01:50) 10:23:42 | Updating instance worker: worker/40782c3c-ad4f-4fbf-a03a-4397beec0cbe (0) (canary) (00:00:48) 10:24:30 | Updating instance worker: worker/39764434-dd81-44fb-8754-3a72f8eb3ab9 (1) (00:00:54) 10:25:24 | Updating instance worker: worker/82475150-eabb-47c8-9cd4-2475c0b0e4c2 (2) (00:00:55) 10:26:19 | Updating instance route-sync: route-sync/081cdb2c-7784-40e6-a3db-b20690d258fd (0) (canary) (00:00:59) Task 2006 Duration 00:09:58
  15. HTTP & TCP Routers dmz BOSH M Wk Wk route

    sync Jumpbox NAT Routers LBs https://github.com/starkandwayne/cfcr-compiled-deployment Wk :8443 :8443 :8443
  16. HTTP & TCP Routers dmz BOSH M Wk Wk route

    sync Jumpbox NAT Routers LBs https://github.com/starkandwayne/cfcr-compiled-deployment Wk
  17. $ cf domains name status type your-cf-domain.com shared tcp.your-cf-domain.com shared

    tcp $ kubectl get service frontend NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend NodePort 10.100.200.238 <none> 80:30750/TCP 8h $ kubectl label services frontend http-route-sync=guestbook Now visit https://guestbook.your-cf-domain.com https://github.com/starkandwayne/cfcr-compiled-deployment