job The concept is a little bit too complicated Engineers switch around namespaces Automatic namespace management is required Operation without knowing Kubernetes Tool to reduce operation mistakes
RBAC!! genmon TokenReview Results Token Authentication is automatically managed HR team assigns people to correct team Infrastructure team manages only RBAC config
name $ kube prod deploy bebb47 # any commit hash $ kube prod deploy -c # current branch $ kube prod lock # lock deployment $ kube prod canary start release-1 Deploy $ kube rollback # undo last deploy $ kube reload # renew replica sets Deploy support [~/.go/src/github.com/wantedly/visit-recommendation] $ kube sandbox deploy master Wait for all commit status checks have passed with interval 10s Note: status check [codecov/patch codecov/project] ignored. ready to deploy. deploy to (deployment: "visit-recommendation", container: "visit-recommendation") before: quay.io/wantedly/visit-recommendation:b5290905664257de9ebf21a29ac07287c13aea6e after: quay.io/wantedly/visit-recommendation:b5290905664257de9ebf21a29ac07287c13aea6e deploy to (deployment: "visit-recommendation-newrelic", container: "visit-recommendation") before: quay.io/wantedly/visit-recommendation:b5290905664257de9ebf21a29ac07287c13aea6e after: quay.io/wantedly/visit-recommendation:b5290905664257de9ebf21a29ac07287c13aea6e deploy to (deployment: "worker", container: "visit-recommendation") before: quay.io/wantedly/visit-recommendation:b5290905664257de9ebf21a29ac07287c13aea6e after: quay.io/wantedly/visit-recommendation:b5290905664257de9ebf21a29ac07287c13aea6e deployments successfully updated! check rollout status by `kubectl rollout status deployment/DEPLOYMENT --namespace visit-recommendation` Executing "kubectl rollout status deployment/visit-recommendation --namespace visit-recommendation" Executing "kubectl rollout status deployment/worker --namespace visit-recommendation" Executing "kubectl rollout status deployment/visit-recommendation-newrelic --namespace visit-recommendation" 2019/07/23 16:43:09 visit-recommendation-newrelic Waiting for deployment "visit-recommendation-newrelic" rollout to finish: 1 old replicas are pending termination... 2019/07/23 16:43:09 worker Waiting for deployment "worker" rollout to finish: 0 out of 3 new replicas have been updated... 2019/07/23 16:43:09 visit-recommendation Waiting for deployment "visit-recommendation" rollout to finish: 2 out of 3 new replicas have been updated... 2019/07/23 16:43:10 worker Waiting for deployment "worker" rollout to finish: 3 old replicas are pending termination... 2019/07/23 16:43:14 worker Waiting for deployment "worker" rollout to finish: 3 old replicas are pending termination... 2019/07/23 16:43:14 worker Waiting for deployment "worker" rollout to finish: 3 old replicas are pending termination... 2019/07/23 16:43:14 worker Waiting for deployment "worker" rollout to finish: 2 old replicas are pending termination... 2019/07/23 16:43:16 worker Waiting for deployment "worker" rollout to finish: 2 old replicas are pending termination... 2019/07/23 16:43:16 worker Waiting for deployment "worker" rollout to finish: 2 old replicas are pending termination... 2019/07/23 16:43:16 worker Waiting for deployment "worker" rollout to finish: 1 old replicas are pending termination... 2019/07/23 16:43:19 worker Waiting for deployment "worker" rollout to finish: 1 old replicas are pending termination... 2019/07/23 16:43:19 worker deployment "worker" successfully rolled out 2019/07/23 16:43:33 visit-recommendation-newrelic Waiting for deployment "visit-recommendation-newrelic" rollout to finish: 1 old replicas are pending termination... 2019/07/23 16:43:34 visit-recommendation-newrelic deployment "visit-recommendation-newrelic" successfully rolled out 2019/07/23 16:44:05 visit-recommendation Waiting for deployment "visit-recommendation" rollout to finish: 2 out of 3 new replicas have been updated... 2019/07/23 16:44:06 visit-recommendation Waiting for deployment "visit-recommendation" rollout to finish: 2 out of 3 new replicas have been updated... 2019/07/23 16:44:07 visit-recommendation Waiting for deployment "visit-recommendation" rollout to finish: 2 old replicas are pending termination... 2019/07/23 16:44:07 visit-recommendation Waiting for deployment "visit-recommendation" rollout to finish: 2 old replicas are pending termination... 2019/07/23 16:44:08 visit-recommendation Waiting for deployment "visit-recommendation" rollout to finish: 1 old replicas are pending termination... 2019/07/23 16:44:32 visit-recommendation deployment "visit-recommendation" successfully rolled out Manages authentication GitHub Status check Update deployment Rollout status simultaneously Handy Commands to Deploy Resolves docker tag List target deployments Update GitHub Deployment Check deploy lock
master bash $ kube sandbox sh c62bbc --port-forward 3000:3000 rails s $ kube prod tail # run k8stail similar to stern $ kube sandbox dotenv set FOO=bar # Set env vars $ kube prod argo list # Use the same config Run any command inside the cluster $ kube prod bash # run in simplified docker image Use cluster resource to check your commit Other support command
configuration Create kubeconfig.yml in tmp dir Execute bin with KUBECONFIG=/path/to/the/dir/kubeconfig.yml Run set-cluster / set-credentials / set-context / use-context Export command exports the config to the default path $ kube prod export Engineers can use any tool they want
Let engineers focus on their products Engineers don’t have to know Docker or Kubernetes Add ours to your case studies Many ways to create tools like k tool