Skip to content

Instantly share code, notes, and snippets.

@anfernee
Last active March 16, 2021 19:22
Show Gist options
  • Save anfernee/0320ff8d1150e4386a743ab0f33a1d34 to your computer and use it in GitHub Desktop.
Save anfernee/0320ff8d1150e4386a743ab0f33a1d34 to your computer and use it in GitHub Desktop.
  • create-master

    • echo "Starting master and configuring firewalls"
    • create firewall, disk, ip
    • create certs
    • create-master-instance
  • create-nodes-template # gce/util.sh

    • echo "Creating nodes."
    • write-linux-node-env
      • construct-linux-kubelet-flags "heapster" and "node"
      • build-linux-kube-env "heapster-kube-env.yaml" and "node-kube-env.yaml"
      • build-kubelet-config
    • write-windows-node-env
      • construct-windows-kubelet-flags
      • construct-windows-kubeproxy-flags
      • build-windows-kube-env "windows-node-kube-env.yaml"
      • build-kubelet-config "windows-node-kubelet-config.yaml"
    • create-linux-node-instance-template "$linux_template_name" # gce//node-helpers.sh
      • create-node-template # gce/util.sh
        • gcloud compute instance-templates create
    • create-windows-node-instance-template "$windows_template_name" "${scope_flags[*]}"
      • get-windows-node-instance-metadata-from-file
      • get-windows-node-instance-metadata

NETWORK_POLICY_PROVIDER affects:

  • construct-linux-kubelet-flags
  • build-linux-kube-env
  • start-kube-addons gce/ubuntu/configure-helper.sh
    • setup-addon-manifests
      • src_dir="${KUBE_HOME}/kube-manifests/kubernetes/gci-trusty"
    • setup-addon-custom-yaml

Manifest

kube-manifests is downloaded by install-kube-manifests in gce/ubuntu/configure.sh controlled by KUBE_MANIFESTS_TAR_URL and KUBE_MANIFESTS_TAR_HASH

It's uploaded by upload-tars in gce/util.sh

  • tars_from_version
    • find_release_tars
      • SERVER_BINARY_TAR=$(find-tar kubernetes-server-linux-amd64.tar.gz)
      • NODE_BINARY_TAR=$(find-tar kubernetes-node-windows-amd64.tar.gz)
    • upload-tars
  • copy-to-staging

main # in configure-helper.sh

  • start-kubelet
  • if master
    • start-kube-controller-manager
    • start-kube-scheduler
    • wait-till-apiserver-ready
    • start-kube-addons
    • start-cluster-autoscaler
    • start-lb-controller
  • else
    • start-kube-proxy
    • start-node-problem-detector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment