You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Quick Boot K8s

  1. Get a free trial https://console.developers.google.com/billing/freetrial?hl=en
    1. $300 over 12 months
  2. In dashboard Enable compute engine API
    1. Go to API manager
    2. top-bar "+ ENABLE API"
    3. Select anhd enable Google Container Engine API, other dependent API's will be enable automatically
  3. From the dashboard select "container engine"
  4. Press "Create a Cluster" or QuickStart for guided instructions
  5. Choose defaults - results in a 3 node k8s cluster
    1. skip the optional parts (notes later)
  6. When cluster is up, go to container engine dashboard and get a google cloud shell:
    1. in top bar use the >_ icon to activate in-browser cloud shell to spin up a pre-configured VM in your GKE space with gcloud tooling.
    2. Copy the configuration command for your cluster - Press connect button on the cluster status line, select and copy the top access information with the copy icon, dismiss the popup.
      Looks something like:  gcloud container clusters get-credentials cluster-1 \ --zone us-central1-a --project confident-facet-616015
    3.  Paste the command into the shell prompt
  7. Kubectl should be operational - check with kubectl get pods --all-ns

Out of the Box features and tools

  1. heapster
  2. fluentd
  3. DNS
  4. Dashboard
  5. privileged containers enabled
  6. ingress
  7. Oauth 2.0 integration, RBAC-ready (see optional)
  8. Status/performance/state/info configurable dashboard

Optional Features

  1. Federation - federation of multiple clusters in GKE and other providers is available
  2. Multi-zone clusters - nodes across failure-domains and regions
  3. registry - private local docker registry with code repository integration build triggering
  4. Logging via StackDriver  - Enable when provisioning, access via main menu under stackdriver
  5. Monitoring via StackDriver - Enable when provisioning, access via main menu under stackdriver
  6. preemptible nodes can be used for parts of the cluster - but they are preemptible so can evaporate, so if there is preemptible workload,
    save cost by allocating some preempitble nodes and place preemptible work there via labels, taints, or schduling affinity
  7. IAM Oauth2.0 RBAC cluster access managemement - fine grained configuration of accounts→roles managed via GKE dashboard
  8. Auto-upgrade will keep bump k8's versions on masters automatically.   Nodes can also be set to auto-upgrade or can be upgraded by hand.
    1. Master must be >= nodes always and version(master)-version(nodes) <= 2.x.x.    A 1.5.3 master is compatible with (1.{3,4}.X,  1.5.3-)
    2. Must have enough capacity in cluster to evacuate pods from the node to other while a node is rolled to avoid unschedulable pods.
    3. Auto-upgrade can be rolled-back if necessary
  9. Auto cluster-scale - will automatically scale up/down the number of nodes in the cluster based on CPU/memory
  10. Node Auto-repair - will rebuild a node that has failed, does not become ready, or becomes unready due to crash.

 

Tested

  • No labels