From 5fdb1d1bca79eaca628b905163462567d69da2df Mon Sep 17 00:00:00 2001 From: "Brandon B. Jozsa" Date: Thu, 20 Apr 2017 06:41:05 -0400 Subject: [PATCH] initial commit --- .gitignore | 2 + README.md | 239 ++++++++++++- docs/README.md | 2 + hosts.yaml | 38 +++ img/self-hosted-moving-parts.png | Bin 0 -> 36201 bytes img/self-hosted.png | Bin 0 -> 229962 bytes roles/deploy-addons/tasks/addon-ceph.yaml | 26 ++ .../deploy-addons/tasks/addon-dashboard.yaml | 10 + roles/deploy-addons/tasks/addon-helm.yaml | 20 ++ roles/deploy-addons/tasks/addon-maas.yaml | 59 ++++ roles/deploy-addons/tasks/addon-osh.yaml | 39 +++ roles/deploy-addons/tasks/main.yaml | 6 + .../templates/kube-controller-manager.json.j2 | 75 ++++ .../tasks/deploy-bootkube.yaml | 15 + roles/deploy-bootstrap/tasks/main.yaml | 6 + .../deploy-bootstrap/tasks/prep-bootkube.yaml | 22 ++ roles/deploy-bootstrap/tasks/prep-host.yaml | 23 ++ .../tasks/prep-kubernetes.yaml | 29 ++ .../deploy-bootstrap/tasks/prep-network.yaml | 14 + .../templates/bootkube.service | 10 + roles/deploy-bootstrap/templates/calico.yaml | 267 +++++++++++++++ .../templates/kube-calico-cfg.yaml.j2 | 144 ++++++++ .../templates/kube-calico.yaml.j2 | 1 + .../templates/kube-controller-manager.json | 75 ++++ .../templates/kube-controller-manager.yaml | 45 +++ roles/deploy-kubelet/handlers/main.yaml | 3 + .../tasks/deploy-cluster-ha.yaml | 95 ++++++ .../tasks/deploy-kubernetes.yaml | 64 ++++ roles/deploy-kubelet/tasks/main.yaml | 6 + roles/deploy-kubelet/tasks/prep-cni.yaml | 11 + roles/deploy-kubelet/tasks/prep-host.yaml | 19 ++ .../deploy-kubelet/tasks/prep-hyperkube.yaml | 10 + .../deploy-kubelet/templates/calico-peer.yaml | 8 + .../templates/calico-peer2.yaml | 8 + roles/deploy-kubelet/templates/calico.yaml | 323 ++++++++++++++++++ roles/deploy-kubelet/templates/cluster-ha.j2 | 23 ++ .../templates/kube-calico-cfg.yaml.j2 | 53 +++ .../templates/kube-calico.yaml.j2 | 286 ++++++++++++++++ .../deploy-kubelet/templates/kubelet.service | 27 ++ roles/group_vars/all.yaml | 26 ++ site.retry | 1 + site.yaml | 27 ++ 42 files changed, 2155 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 docs/README.md create mode 100644 hosts.yaml create mode 100644 img/self-hosted-moving-parts.png create mode 100644 img/self-hosted.png create mode 100644 roles/deploy-addons/tasks/addon-ceph.yaml create mode 100644 roles/deploy-addons/tasks/addon-dashboard.yaml create mode 100644 roles/deploy-addons/tasks/addon-helm.yaml create mode 100644 roles/deploy-addons/tasks/addon-maas.yaml create mode 100644 roles/deploy-addons/tasks/addon-osh.yaml create mode 100644 roles/deploy-addons/tasks/main.yaml create mode 100644 roles/deploy-addons/templates/kube-controller-manager.json.j2 create mode 100644 roles/deploy-bootstrap/tasks/deploy-bootkube.yaml create mode 100644 roles/deploy-bootstrap/tasks/main.yaml create mode 100644 roles/deploy-bootstrap/tasks/prep-bootkube.yaml create mode 100644 roles/deploy-bootstrap/tasks/prep-host.yaml create mode 100644 roles/deploy-bootstrap/tasks/prep-kubernetes.yaml create mode 100644 roles/deploy-bootstrap/tasks/prep-network.yaml create mode 100644 roles/deploy-bootstrap/templates/bootkube.service create mode 100644 roles/deploy-bootstrap/templates/calico.yaml create mode 100644 roles/deploy-bootstrap/templates/kube-calico-cfg.yaml.j2 create mode 100644 roles/deploy-bootstrap/templates/kube-calico.yaml.j2 create mode 100644 roles/deploy-bootstrap/templates/kube-controller-manager.json create mode 100644 roles/deploy-bootstrap/templates/kube-controller-manager.yaml create mode 100644 roles/deploy-kubelet/handlers/main.yaml create mode 100644 roles/deploy-kubelet/tasks/deploy-cluster-ha.yaml create mode 100644 roles/deploy-kubelet/tasks/deploy-kubernetes.yaml create mode 100644 roles/deploy-kubelet/tasks/main.yaml create mode 100644 roles/deploy-kubelet/tasks/prep-cni.yaml create mode 100644 roles/deploy-kubelet/tasks/prep-host.yaml create mode 100644 roles/deploy-kubelet/tasks/prep-hyperkube.yaml create mode 100644 roles/deploy-kubelet/templates/calico-peer.yaml create mode 100644 roles/deploy-kubelet/templates/calico-peer2.yaml create mode 100644 roles/deploy-kubelet/templates/calico.yaml create mode 100644 roles/deploy-kubelet/templates/cluster-ha.j2 create mode 100644 roles/deploy-kubelet/templates/kube-calico-cfg.yaml.j2 create mode 100644 roles/deploy-kubelet/templates/kube-calico.yaml.j2 create mode 100644 roles/deploy-kubelet/templates/kubelet.service create mode 100644 roles/group_vars/all.yaml create mode 100644 site.retry create mode 100644 site.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..0020c249 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +hosts-deploy.yaml +roles/deploy-kubelet/templates/kubeconfig diff --git a/README.md b/README.md index 087535e7..5d8d8fb3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,237 @@ -# promenade -A kubeadm based Kubernetes installation framework to handle resilient and highly available installations of Kubernetes. +# Promenade: Manually Self-hosted Kubernetes via Bootkube +A small howto on how to bring up a self-hosted kubernetes cluster + +We'll use [bootkube](https://github.com/kubernetes-incubator/bootkube) to initiate the master-components. First we'll render the assets necessary for bringing up the control plane (apiserver, controller-manger, scheduler, etc). Then we'll start the kubelets which job is it to start the assets but can't do much, because there's no API-server yet. Running `bootkube` once will kick things off then. At a high-level the bootstrapping process looks like this: + +![Self-Hosted](./img/self-hosted-moving-parts.png?raw=true "Self-hosted-moving-parts") + +Image taken from the [self-hosted proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/self-hosted-kubernetes.md). + + +This is how the final cluster looks like from a `kubectl` perspective: + +![Screenshot](./img/self-hosted.png?raw=true "Screenshot") + +Let's start! +## Temporary apiserver: `bootkube` +### Download +``` +wget https://github.com/kubernetes-incubator/bootkube/releases/download/v0.3.9/bootkube.tar.gz +tar xvzf bootkube.tar.gz +sudo cp bin/linux/bootkube /usr/bin/ +``` + +### Render the Assets +Exchange `10.7.183.59` with the node you are working on. If you have DNS available group all master node IP addresses behind a CNAME Record and provide this insted. +``` +bootkube render --asset-dir=assets --experimental-self-hosted-etcd --etcd-servers=http://10.3.0.15:2379 --api-servers=https://10.7.183.59:443 +``` +This will generate several things: +- manifests for running apiserver, controller-manager, scheduler, flannel, etcd, dns and kube-proxy +- a `kubeconfig` file for connecting to and authenticating with the apiserver +- TLS assets + +## Start the Master Kubelet +### Download `hyperkube` +``` +wget http://storage.googleapis.com/kubernetes-release/release/v1.5.3/bin/linux/amd64/hyperkube -O ./hyperkube +sudo mv hyperkube /usr/bin/hyperkube +sudo chmod 755 /usr/bin/hyperkube +``` + +### Install CNI +``` +sudo mkdir -p /opt/cni/bin +wget https://github.com/containernetworking/cni/releases/download/v0.4.0/cni-amd64-v0.4.0.tbz2 +sudo tar xjf cni-amd64-v0.4.0.tbz2 -C /opt/cni/bin/ +``` + +### Copy Configuration Files +``` +sudo cp assets/auth/kubeconfig /etc/kubernetes/ +sudo cp -a assets/manifests /etc/kubernetes/ +``` +### Start the Kubelet +``` +sudo hyperkube kubelet --kubeconfig=/etc/kubernetes/kubeconfig \ + --require-kubeconfig \ + --cni-conf-dir=/etc/kubernetes/cni/net.d \ + --network-plugin=cni \ + --lock-file=/var/run/lock/kubelet.lock \ + --exit-on-lock-contention \ + --pod-manifest-path=/etc/kubernetes/manifests \ + --allow-privileged \ + --node-labels=master=true \ + --minimum-container-ttl-duration=6m0s \ + --cluster_dns=10.3.0.10 \ + --cluster_domain=cluster.local \ + --hostname-override=10.7.183.59 +``` +The TLS credentials generated by `bootkube render` in assets/tls/ are copied to a secret: assets/manifests/kube-apiserver-secret.yaml. + +### Start the Temporary API Server +bootkube will serve as the temporary apiserver so the kubelet from above can start the real apiserver in a pod +``` +sudo bootkube start --asset-dir=./assets --experimental-self-hosted-etcd --etcd-server=http://127.0.0.1:12379 +``` +bootkube should exit itself after successfully bootstrapping the master components. It's only needed for the very first bootstrapping + +### Check the Output +``` +watch hyperkube kubectl get pods -o wide --all-namespaces +``` + +## Join Nodes to the Cluster +Copy the information where to find the apiserver and how to authenticate: +``` +scp 10.7.183.59:assets/auth/kubeconfig . +sudo mkdir -p /etc/kubernetes +sudo mv kubeconfig /etc/kubernetes/ +``` +install cni binaries and download hyperkube +``` +sudo mkdir -p /opt/cni/bin +wget https://github.com/containernetworking/cni/releases/download/v0.4.0/cni-amd64-v0.4.0.tbz2 +sudo tar xjf cni-amd64-v0.4.0.tbz2 -C /opt/cni/bin/ +wget http://storage.googleapis.com/kubernetes-release/release/v1.5.3/bin/linux/amd64/hyperkube -O ./hyperkube +sudo mv hyperkube /usr/bin/hyperkube +sudo chmod 755 /usr/bin/hyperkube +``` +### Master Nodes +Start the kubelet: +``` +sudo hyperkube kubelet --kubeconfig=/etc/kubernetes/kubeconfig \ + --require-kubeconfig \ + --cni-conf-dir=/etc/kubernetes/cni/net.d \ + --network-plugin=cni \ + --lock-file=/var/run/lock/kubelet.lock \ + --exit-on-lock-contention \ + --pod-manifest-path=/etc/kubernetes/manifests \ + --allow-privileged \ + --node-labels=master=true \ + --minimum-container-ttl-duration=6m0s \ + --cluster_dns=10.3.0.10 \ + --cluster_domain=cluster.local \ + --hostname-override=10.7.183.60 +``` + +### Worker Nodes + +Note the only difference is the removal of `--node-labels=master=true`: +``` +sudo hyperkube kubelet --kubeconfig=/etc/kubernetes/kubeconfig \ + --require-kubeconfig \ + --cni-conf-dir=/etc/kubernetes/cni/net.d \ + --network-plugin=cni \ + --lock-file=/var/run/lock/kubelet.lock \ + --exit-on-lock-contention \ + --pod-manifest-path=/etc/kubernetes/manifests \ + --allow-privileged \ + --minimum-container-ttl-duration=6m0s \ + --cluster_dns=10.3.0.10 \ + --cluster_domain=cluster.local\ + --hostname-override=10.7.183.60 +``` + +## Scale Etcd +kubectl apply doesn't work for TPR at the moment. See https://github.com/kubernetes/kubernetes/issues/29542. As a workaround, we use cURL to resize the cluster. + +``` +hyperkube kubectl --namespace=kube-system get cluster.etcd kube-etcd -o json > etcd.json && \ +vim etcd.json && \ +curl -H 'Content-Type: application/json' -X PUT --data @etcd.json http://127.0.0.1:8080/apis/etcd.coreos.com/v1beta1/namespaces/kube-system/clusters/kube-etcd +``` +If that doesn't work, re-run until it does. See https://github.com/kubernetes-incubator/bootkube/issues/346#issuecomment-283526930 + +## Challenges + +### Node setup +Some Broadcom NICs panic'ed with the default Ubuntu kernel +- upgrade kernel to >`4.8` because of brcm nic failure +- move to `--storage-driver=overlay2` instead of `aufs` as docker driver +- disable swap on the node (will be a fatal error in kube-1.6) + + +## ToDo Items: +### apiserver resiliance +the master apiservers need to have a single address only. Possible solutions: +- use LB from the DC +- use DNS from the DC with programmable API (e.g. powerdns) +- use something like kube-keepalive-vip? +- bootstrap DNS itself (skydns, coredns) + +### Etcd Challenges +- backup strategies (https://github.com/coreos/etcd-operator/blob/master/doc/user/spec_examples.md#three-members-cluster-that-restores-from-previous-pv-backup) +- etcd-operator failures (e.g. https://github.com/coreos/etcd-operator/issues/851) +- partial failure (loosing quorum) +- permament failure (state gone completely) +- etcd needs ntp available (or another mechanism so that every node is in sync) + + +## Notes +### clean up docker +``` +sudo su - +docker rm -f $(docker ps -a -q) +exit +``` + +### Compile Bootkube +``` +sudo docker run --rm -it -v $(pwd)/golang/src:/go/src/ -w /go/src golang:1.7 bash +go get -u github.com/kubernetes-incubator/bootkube +cd $GOPATH/src/github.com/kubernetes-incubator/bootkube +make +``` + +### RBAC +``` +./bootkube-rbac render --asset-dir assets-rbac --experimental-self-hosted-etcd --etcd-servers=http://10.3.0.15:2379 --api-servers=https://10.7.183.59:443 +sudo rm -rf /etc/kubernetes/* +sudo cp -a assets-rbac/manifests /etc/kubernetes/ +sudo cp assets-rbac/auth/kubeconfig /etc/kubernetes/ +sudo ./bootkube-rbac start --asset-dir=./assets-rbac --experimental-self-hosted-etcd --etcd-server=http://127.0.0.1:12379 +``` + +### Containerized Kubelet +The benefit here is using a docker container instead of a kubelet binary. Also the hyperkube docker image packages and installs the cni binaries. The downside would be that in either case something needs to start the container upon a reboot of the node. Usually the something is systemd and systemd is better managing binaries than docker containers. Either way, this is how you would run a containerized kubelet: +``` +sudo docker run \ + --rm \ + -it \ + --privileged \ + -v /dev:/dev \ + -v /run:/run \ + -v /sys:/sys \ + -v /etc/kubernetes:/etc/kubernetes \ + -v /usr/share/ca-certificates:/etc/ssl/certs \ + -v /var/lib/docker:/var/lib/docker \ + -v /var/lib/kubelet:/var/lib/kubelet \ + -v /:/rootfs \ + quay.io/coreos/hyperkube:v1.5.3_coreos.0 \ + ./hyperkube \ + kubelet \ + --network-plugin=cni \ + --cni-conf-dir=/etc/kubernetes/cni/net.d \ + --cni-bin-dir=/opt/cni/bin \ + --pod-manifest-path=/etc/kubernetes/manifests \ + --allow-privileged \ + --hostname-override=10.7.183.60 \ + --cluster-dns=10.3.0.10 \ + --cluster-domain=cluster.local \ + --kubeconfig=/etc/kubernetes/kubeconfig \ + --require-kubeconfig \ + --lock-file=/var/run/lock/kubelet.lock \ + --containerized +``` +Not quite working yet though. The node comes up, registeres successfully with the master and starts daemonsets. Everything comes up except flannel: +``` +main.go:127] Failed to create SubnetManager: unable to initialize inclusterconfig: open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory +``` + +## Resources and References +- https://github.com/kubernetes/community/blob/master/contributors/design-proposals/self-hosted-kubernetes.md +- https://github.com/kubernetes-incubator/bootkube +- https://github.com/coreos/etcd-operator/ +- http://blog.kubernetes.io/2017/01/stronger-foundation-for-creating-and-managing-kubernetes-clusters.html +- https://github.com/kubernetes/kubeadm/issues/127 diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..563ada3c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,2 @@ +## Instructions: +ansible-playbook -e bootstrap_enabled=true -i hosts-deploy.yaml site.yaml diff --git a/hosts.yaml b/hosts.yaml new file mode 100644 index 00000000..45032e48 --- /dev/null +++ b/hosts.yaml @@ -0,0 +1,38 @@ +#Sample Hosts File with variables + +#For Single node deployments, make sure that the bootstrap node is listed as a master and worker node as well. +[bootstrap] +192.168.0.1 + +[master] +#Make sure bootstrap node is first master node +192.168.0.1 +192.168.0.2 + +[workers] +192.168.0.3 + + +[bootstrap:vars] +node_master=true +bootstrap_enabled=false +boot_kube_version="v0.3.12" + + +[master:vars] +node_master=true +cni_version="v0.5.1" +hyperkube_version="v1.5.6" +kubelet_version="v1.5.6" +calicoctl_version="v1.1.0" +calico_peer1="192.168.0.4" +calico_peer2="192.168.0.5" +deploy_pods_master=true + +[all:vars] +ansible_user="ubuntu" +ansible_ssh_pass="password" +#API Server FQDN is required for SkyDNS to resolve +api_server_fqdn="cluster-ha.default.svc.cluster.local" +kube_labels="openstack-control-plane" +kube_controller_manager_version="v1.5.6" diff --git a/img/self-hosted-moving-parts.png b/img/self-hosted-moving-parts.png new file mode 100644 index 0000000000000000000000000000000000000000..423add2e196bd712d3ff76ed1a9d214037fd650a GIT binary patch literal 36201 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 literal 0 HcmV?d00001 diff --git a/img/self-hosted.png b/img/self-hosted.png new file mode 100644 index 0000000000000000000000000000000000000000..5446d6bfb27cf1cce0f3e8d3c6f67b51beca63a7 GIT binary patch literal 229962 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 m;$ukl0Ir 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 aj`)9w*-h|-uXZ&60000 /root/get_helm.sh + when: addons_enabled and "{{addons.ceph is defined}}" and helm_installed.stat.exists == False + +- name: Set file properties + file: + path: /root/get_helm.sh + mode: 0700 + when: addons_enabled and "{{addons.ceph is defined}}" and helm_installed.stat.exists == False + +- name: Install helm + shell: sh /root/get_helm.sh + when: addons_enabled and "{{addons.ceph is defined}}" and helm_installed.stat.exists == False diff --git a/roles/deploy-addons/tasks/addon-maas.yaml b/roles/deploy-addons/tasks/addon-maas.yaml new file mode 100644 index 00000000..7070dc43 --- /dev/null +++ b/roles/deploy-addons/tasks/addon-maas.yaml @@ -0,0 +1,59 @@ +--- +- name: Check if MAAS is Running + shell: hyperkube kubectl describe pod maas-region --namespace=maas + ignore_errors: true + register: maas_deployed + when: addons_enabled and "{{addons.maas is defined}}" + +- name: Check if Postgres is Running + shell: hyperkube kubectl describe pod postgresql-0 --namespace=maas + ignore_errors: true + register: postgres_deployed + when: addons_enabled and "{{addons.maas is defined}}" + +#Check every 15 seconds to make sure the tiller pod has fully come up. +- action: shell hyperkube kubectl get pods --all-namespaces | grep tiller + register: tiller_output + until: tiller_output.stdout.find("Running") != -1 + retries: 20 + delay: 15 + when: addons_enabled and "{{addons.maas is defined}}" + +- name: Run Make on all Helm charts + shell: make + environment: + HELM_HOME: /opt/openstack-helm/repos/openstack-helm/.helm + args: + chdir: /opt/openstack-helm/repos/openstack-helm/ + when: addons_enabled and "{{addons.maas is defined}}" and maas_deployed | failed + +- name: Deploy Postgres + shell: helm install postgresql --namespace=maas + environment: + HELM_HOME: /opt/openstack-helm/repos/openstack-helm/.helm + args: + chdir: /opt/openstack-helm/repos/openstack-helm/ + when: addons_enabled and "{{addons.maas is defined}}" and postgres_deployed | failed + +- action: shell hyperkube kubectl get pods --namespace maas + register: postgres_output + until: postgres_output.stdout.find("Running") != -1 + retries: 20 + delay: 15 + when: addons_enabled and "{{addons.maas is defined}}" + +- name: Deploy MaaS + shell: helm install maas --namespace=maas + environment: + HELM_HOME: /opt/openstack-helm/repos/openstack-helm/.helm + args: + chdir: /opt/openstack-helm/repos/openstack-helm/ + when: addons_enabled and "{{addons.maas is defined}}" and maas_deployed | failed + +#Check every 15 seconds until MaaS comes up +- action: shell hyperkube kubectl get pods --namespace maas + register: maas_output + until: maas_output.stdout.find("Running") != -1 + retries: 20 + delay: 15 + when: addons_enabled and "{{addons.maas is defined}}" diff --git a/roles/deploy-addons/tasks/addon-osh.yaml b/roles/deploy-addons/tasks/addon-osh.yaml new file mode 100644 index 00000000..bec2f24f --- /dev/null +++ b/roles/deploy-addons/tasks/addon-osh.yaml @@ -0,0 +1,39 @@ +--- +- name: Create directories for OpenStack Helm + file: + path: /opt/openstack-helm/repos/openstack-helm + state: directory + when: addons_enabled and "{{addons.osh is defined}}" + +- name: Checkout OpenStack-Helm + git: + repo: https://github.com/att-comdev/openstack-helm.git + dest: /opt/openstack-helm/repos/openstack-helm + update: true + when: addons_enabled and "{{addons.osh is defined}}" + +- name: Check for Helm/Tiller + shell: hyperkube kubectl get pods --namespace kube-system | grep tiller + ignore_errors: true + register: helm_running + when: addons_enabled and "{{addons.osh is defined}}" + +- name: Initialize Helm/Tiller + shell: helm init --home /opt/openstack-helm/repos/openstack-helm/.helm + environment: + HELM_HOME: /opt/openstack-helm/repos/openstack-helm/.helm + when: addons_enabled and "{{addons.osh is defined}}" and helm_running | failed + +- name: Helm Serve + shell: nohup helm serve --repo-path /opt/openstack-helm/repos/openstack-helm/.helm/repository/local & + environment: + HELM_HOME: /opt/openstack-helm/repos/openstack-helm/.helm + args: + chdir: /opt/openstack-helm/repos/openstack-helm/.helm + when: addons_enabled and "{{addons.osh is defined}}" and helm_running | failed + +- name: Add helm repositories + shell: helm repo add local http://localhost:8879/charts --home /opt/openstack-helm/repos/openstack-helm/.helm + args: + chdir: /opt/openstack-helm/repos/openstack-helm/.helm + when: addons_enabled and "{{addons.osh is defined}}" and helm_running | failed diff --git a/roles/deploy-addons/tasks/main.yaml b/roles/deploy-addons/tasks/main.yaml new file mode 100644 index 00000000..488c7f09 --- /dev/null +++ b/roles/deploy-addons/tasks/main.yaml @@ -0,0 +1,6 @@ +--- +- include: addon-dashboard.yaml +- include: addon-helm.yaml +- include: addon-osh.yaml +- include: addon-ceph.yaml +- include: addon-maas.yaml diff --git a/roles/deploy-addons/templates/kube-controller-manager.json.j2 b/roles/deploy-addons/templates/kube-controller-manager.json.j2 new file mode 100644 index 00000000..9e8b4c56 --- /dev/null +++ b/roles/deploy-addons/templates/kube-controller-manager.json.j2 @@ -0,0 +1,75 @@ +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "kube-controller-manager", + "namespace": "kube-system", + "creationTimestamp": null, + "labels": { + "component": "kube-controller-manager", + "tier": "control-plane" + } + }, + "spec": { + "volumes": [ + { + "name": "k8s", + "hostPath": { + "path": "/etc/kubernetes" + } + }, + { + "name": "certs", + "hostPath": { + "path": "/etc/ssl/certs" + } + } + ], + "containers": [ + { + "name": "kube-controller-manager", + "image": "quay.io/attcomdev/kube-controller-manager:{{ kube_controller_manager_version }}", + "command": [ + "kube-controller-manager", + "--address=127.0.0.1", + "--leader-elect", + "--master=127.0.0.1:8080", + "--cluster-name=kubernetes", + "--root-ca-file=/etc/kubernetes/pki/ca.pem", + "--service-account-private-key-file=/etc/kubernetes/pki/apiserver-key.pem", + "--cluster-signing-cert-file=/etc/kubernetes/pki/ca.pem", + "--cluster-signing-key-file=/etc/kubernetes/pki/ca-key.pem", + "--insecure-experimental-approve-all-kubelet-csrs-for-group=system:kubelet-bootstrap" + ], + "resources": { + "requests": { + "cpu": "200m" + } + }, + "volumeMounts": [ + { + "name": "k8s", + "readOnly": true, + "mountPath": "/etc/kubernetes/" + }, + { + "name": "certs", + "mountPath": "/etc/ssl/certs" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/healthz", + "port": 10252, + "host": "127.0.0.1" + }, + "initialDelaySeconds": 15, + "timeoutSeconds": 15, + "failureThreshold": 8 + } + } + ], + "hostNetwork": true + }, + "status": {} +} diff --git a/roles/deploy-bootstrap/tasks/deploy-bootkube.yaml b/roles/deploy-bootstrap/tasks/deploy-bootkube.yaml new file mode 100644 index 00000000..f13307e0 --- /dev/null +++ b/roles/deploy-bootstrap/tasks/deploy-bootkube.yaml @@ -0,0 +1,15 @@ +--- +- name: Setup bootkube.service + when: + bootstrap_enabled + template: + src: bootkube.service + dest: /etc/systemd/system/bootkube.service + +- name: Run bootkube + when: + bootstrap_enabled + systemd: + name: bootkube + state: started + daemon_reload: yes diff --git a/roles/deploy-bootstrap/tasks/main.yaml b/roles/deploy-bootstrap/tasks/main.yaml new file mode 100644 index 00000000..3b2db9d4 --- /dev/null +++ b/roles/deploy-bootstrap/tasks/main.yaml @@ -0,0 +1,6 @@ +--- +- include: prep-host.yaml +- include: prep-bootkube.yaml +- include: prep-network.yaml +- include: prep-kubernetes.yaml +- include: deploy-bootkube.yaml diff --git a/roles/deploy-bootstrap/tasks/prep-bootkube.yaml b/roles/deploy-bootstrap/tasks/prep-bootkube.yaml new file mode 100644 index 00000000..ee5b1ab7 --- /dev/null +++ b/roles/deploy-bootstrap/tasks/prep-bootkube.yaml @@ -0,0 +1,22 @@ +--- +- name: Ensures bootkube dir exists + when: + bootstrap_enabled + file: + path: /tmp/bootkube + state: directory + +- name: Extract bootkube binaries + when: + bootstrap_enabled + unarchive: + src: "https://github.com/kubernetes-incubator/bootkube/releases/download/{{ boot_kube_version }}/bootkube.tar.gz" + dest: /tmp/bootkube + remote_src: True + +- name: Render bootkube manifests + when: + bootstrap_enabled + command: "/tmp/bootkube/bin/linux/bootkube render --asset-dir=/tmp/bootkube/assets --experimental-self-hosted-etcd --etcd-servers=http://10.3.0.15:2379 --api-servers=https://{{ api_server_fqdn }}:443" + args: + creates: /etc/kubernetes/kubeconfig diff --git a/roles/deploy-bootstrap/tasks/prep-host.yaml b/roles/deploy-bootstrap/tasks/prep-host.yaml new file mode 100644 index 00000000..01a816c8 --- /dev/null +++ b/roles/deploy-bootstrap/tasks/prep-host.yaml @@ -0,0 +1,23 @@ +--- +- name: Install base packages + when: + bootstrap_enabled + apt: + name: "{{ item }}" + state: present + with_items: + - "docker.io" + - "vim" + - "ethtool" + - "traceroute" + - "git" + - "build-essential" + - "lldpd" + +- name: Insert Temporary Hosts File Entry for FQDN Resolution + when: + bootstrap_enabled + lineinfile: + dest: /etc/hosts + line: "{{ hostvars[groups['master'][0]]['ansible_default_ipv4']['address'] }} {{ api_server_fqdn }}" + state: present diff --git a/roles/deploy-bootstrap/tasks/prep-kubernetes.yaml b/roles/deploy-bootstrap/tasks/prep-kubernetes.yaml new file mode 100644 index 00000000..d28d5fc9 --- /dev/null +++ b/roles/deploy-bootstrap/tasks/prep-kubernetes.yaml @@ -0,0 +1,29 @@ +--- +- name: Ensures /etc/kubernetes dir exists + when: + bootstrap_enabled + file: + path: /etc/kubernetes + state: directory + +- name: copy kubeconfig credentials + when: + bootstrap_enabled + command: cp /tmp/bootkube/assets/auth/kubeconfig /etc/kubernetes/kubeconfig + args: + creates: /etc/kubernetes/kubeconfig + +- name: copy kubernetes manifests + when: + bootstrap_enabled + command: cp -a /tmp/bootkube/assets/manifests /etc/kubernetes/ + args: + creates: /etc/kubernetes/manifests + +- name: fetch kubeconfig + when: + bootstrap_enabled + fetch: + src: /etc/kubernetes/kubeconfig + dest: roles/deploy-kubelet/templates/kubeconfig + flat: yes diff --git a/roles/deploy-bootstrap/tasks/prep-network.yaml b/roles/deploy-bootstrap/tasks/prep-network.yaml new file mode 100644 index 00000000..77c977d0 --- /dev/null +++ b/roles/deploy-bootstrap/tasks/prep-network.yaml @@ -0,0 +1,14 @@ +--- +- name: Inject Custom manifests - kube-calico.yaml + when: + bootstrap_enabled + template: + src: kube-calico.yaml.j2 + dest: "/tmp/bootkube/assets/manifests/kube-flannel.yaml" + +- name: Inject Custom manifests - kube-calico-cfg.yaml + when: + bootstrap_enabled + template: + src: kube-calico-cfg.yaml.j2 + dest: "/tmp/bootkube/assets/manifests/kube-flannel-cfg.yaml" diff --git a/roles/deploy-bootstrap/templates/bootkube.service b/roles/deploy-bootstrap/templates/bootkube.service new file mode 100644 index 00000000..2f5dc7b6 --- /dev/null +++ b/roles/deploy-bootstrap/templates/bootkube.service @@ -0,0 +1,10 @@ +[Unit] +Description=Kubernetes Control Plane Bootstrapping +Documentation=https://github.com/kubernetes-incubator/bootkube + +[Service] +ExecStart=/tmp/bootkube/bin/linux/bootkube start --asset-dir=/tmp/bootkube/assets/ --experimental-self-hosted-etcd --etcd-server=http://127.0.0.1:12379 +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/roles/deploy-bootstrap/templates/calico.yaml b/roles/deploy-bootstrap/templates/calico.yaml new file mode 100644 index 00000000..61371f0a --- /dev/null +++ b/roles/deploy-bootstrap/templates/calico.yaml @@ -0,0 +1,267 @@ +# This ConfigMap is used to configure a self-hosted Calico installation. +kind: ConfigMap +apiVersion: v1 +metadata: + name: calico-config + namespace: kube-system +data: + # The location of your etcd cluster. This uses the Service clusterIP + # defined below. + etcd_endpoints: "http://10.96.232.136:6666" + + # Configure the Calico backend to use. + calico_backend: "bird" + + # The CNI network configuration to install on each node. + cni_network_config: |- + { + "name": "k8s-pod-network", + "type": "calico", + "etcd_endpoints": "__ETCD_ENDPOINTS__", + "log_level": "info", + "ipam": { + "type": "calico-ipam" + }, + "policy": { + "type": "k8s", + "k8s_api_root": "https://__KUBERNETES_SERVICE_HOST__:__KUBERNETES_SERVICE_PORT__", + "k8s_auth_token": "__SERVICEACCOUNT_TOKEN__" + }, + "kubernetes": { + "kubeconfig": "/etc/cni/net.d/__KUBECONFIG_FILENAME__" + } + } + +--- + +# This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet +# to force it to run on the master even when the master isn't schedulable, and uses +# nodeSelector to ensure it only runs on the master. +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: calico-etcd + namespace: kube-system + labels: + k8s-app: calico-etcd +spec: + template: + metadata: + labels: + k8s-app: calico-etcd + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + # Only run this pod on the master. + nodeSelector: + kubeadm.alpha.kubernetes.io/role: master + hostNetwork: true + containers: + - name: calico-etcd + image: gcr.io/google_containers/etcd:2.2.1 + env: + - name: CALICO_ETCD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + command: ["/bin/sh","-c"] + args: ["/usr/local/bin/etcd --name=calico --data-dir=/var/etcd/calico-data --advertise-client-urls=http://$CALICO_ETCD_IP:6666 --listen-client-urls=http://0.0.0.0:6666 --listen-peer-urls=http://0.0.0.0:6667"] + volumeMounts: + - name: var-etcd + mountPath: /var/etcd + volumes: + - name: var-etcd + hostPath: + path: /var/etcd + +--- + +# This manfiest installs the Service which gets traffic to the Calico +# etcd. +apiVersion: v1 +kind: Service +metadata: + labels: + k8s-app: calico-etcd + name: calico-etcd + namespace: kube-system +spec: + # Select the calico-etcd pod running on the master. + selector: + k8s-app: calico-etcd + # This ClusterIP needs to be known in advance, since we cannot rely + # on DNS to get access to etcd. + clusterIP: 10.96.232.136 + ports: + - port: 6666 + +--- + +# This manifest installs the calico/node container, as well +# as the Calico CNI plugins and network config on +# each master and worker node in a Kubernetes cluster. +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: calico-node + namespace: kube-system + labels: + k8s-app: calico-node +spec: + selector: + matchLabels: + k8s-app: calico-node + template: + metadata: + labels: + k8s-app: calico-node + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + hostNetwork: true + containers: + # Runs calico/node container on each Kubernetes node. This + # container programs network policy and routes on each + # host. + - name: calico-node + image: quay.io/calico/node:v1.1.0 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # Enable BGP. Disable to enforce policy only. + - name: CALICO_NETWORKING_BACKEND + valueFrom: + configMapKeyRef: + name: calico-config + key: calico_backend + # Disable file logging so `kubectl logs` works. + - name: CALICO_DISABLE_FILE_LOGGING + value: "true" + # Set Felix endpoint to host default action to ACCEPT. + - name: FELIX_DEFAULTENDPOINTTOHOSTACTION + value: "ACCEPT" + # Configure the IP Pool from which Pod IPs will be chosen. + - name: CALICO_IPV4POOL_CIDR + value: "192.168.0.0/16" + - name: CALICO_IPV4POOL_IPIP + value: "always" + # Disable IPv6 on Kubernetes. + - name: FELIX_IPV6SUPPORT + value: "false" + # Set Felix logging to "info" + - name: FELIX_LOGSEVERITYSCREEN + value: "info" + # Auto-detect the BGP IP address. + - name: IP + value: "" + securityContext: + privileged: true + resources: + requests: + cpu: 250m + volumeMounts: + - mountPath: /lib/modules + name: lib-modules + readOnly: true + - mountPath: /var/run/calico + name: var-run-calico + readOnly: false + # This container installs the Calico CNI binaries + # and CNI network config file on each node. + - name: install-cni + image: quay.io/calico/cni:v1.6.1 + command: ["/install-cni.sh"] + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The CNI network config to install on each node. + - name: CNI_NETWORK_CONFIG + valueFrom: + configMapKeyRef: + name: calico-config + key: cni_network_config + volumeMounts: + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-net-dir + volumes: + # Used by calico/node. + - name: lib-modules + hostPath: + path: /lib/modules + - name: var-run-calico + hostPath: + path: /var/run/calico + # Used to install CNI. + - name: cni-bin-dir + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d + +--- + +# This manifest deploys the Calico policy controller on Kubernetes. +# See https://github.com/projectcalico/k8s-policy +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: calico-policy-controller + namespace: kube-system + labels: + k8s-app: calico-policy +spec: + # The policy controller can only have a single active instance. + replicas: 1 + strategy: + type: Recreate + template: + metadata: + name: calico-policy-controller + namespace: kube-system + labels: + k8s-app: calico-policy-controller + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + # The policy controller must run in the host network namespace so that + # it isn't governed by policy that would prevent it from working. + hostNetwork: true + containers: + - name: calico-policy-controller + image: quay.io/calico/kube-policy-controller:v0.5.4 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The location of the Kubernetes API. Use the default Kubernetes + # service for API access. + - name: K8S_API + value: "https://kubernetes.default:443" + # Since we're running in the host namespace and might not have KubeDNS + # access, configure the container's /etc/hosts to resolve + # kubernetes.default to the correct service clusterIP. + - name: CONFIGURE_ETC_HOSTS + value: "true" diff --git a/roles/deploy-bootstrap/templates/kube-calico-cfg.yaml.j2 b/roles/deploy-bootstrap/templates/kube-calico-cfg.yaml.j2 new file mode 100644 index 00000000..45850e3e --- /dev/null +++ b/roles/deploy-bootstrap/templates/kube-calico-cfg.yaml.j2 @@ -0,0 +1,144 @@ +# This ConfigMap is used to configure a self-hosted Calico installation without ETCD +kind: ConfigMap +apiVersion: v1 +metadata: + name: calico-config + namespace: kube-system +data: + # The CNI network configuration to install on each node. + cni_network_config: |- + { + "name": "k8s-pod-network", + "type": "calico", + "log_level": "debug", + "datastore_type": "kubernetes", + "hostname": "__KUBERNETES_NODE_NAME__", + "ipam": { + "type": "host-local", + "subnet": "usePodCidr" + }, + "policy": { + "type": "k8s", + "k8s_auth_token": "__SERVICEACCOUNT_TOKEN__" + }, + "kubernetes": { + "k8s_api_root": "https://__KUBERNETES_SERVICE_HOST__:__KUBERNETES_SERVICE_PORT__", + "kubeconfig": "__KUBECONFIG_FILEPATH__" + } + } + +--- + +# This manifest installs the calico/node container, as well +# as the Calico CNI plugins and network config on +# each master and worker node in a Kubernetes cluster. +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: calico-node + namespace: kube-system + labels: + k8s-app: calico-node +spec: + selector: + matchLabels: + k8s-app: calico-node + template: + metadata: + labels: + k8s-app: calico-node + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + hostNetwork: true + containers: + # Runs calico/node container on each Kubernetes node. This + # container programs network policy and routes on each + # host. + - name: calico-node + image: quay.io/calico/node:v1.1.0 + env: + # Use Kubernetes API as the backing datastore. + - name: DATASTORE_TYPE + value: "kubernetes" + # Enable felix debug logging. + - name: FELIX_LOGSEVERITYSCREEN + value: "debug" + # Don't enable BGP. + - name: CALICO_NETWORKING_BACKEND + value: "none" + # Disable file logging so `kubectl logs` works. + - name: CALICO_DISABLE_FILE_LOGGING + value: "true" + # Set Felix endpoint to host default action to ACCEPT. + - name: FELIX_DEFAULTENDPOINTTOHOSTACTION + value: "ACCEPT" + # Disable IPV6 on Kubernetes. + - name: FELIX_IPV6SUPPORT + value: "false" + # Wait for the datastore. + - name: WAIT_FOR_DATASTORE + value: "true" + # The Calico IPv4 pool to use. This should match `--cluster-cidr` + - name: CALICO_IPV4POOL_CIDR + value: "10.244.0.0/16" + # Set based on the k8s node name. + - name: NODENAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + # No IP address needed. + - name: IP + value: "" + securityContext: + privileged: true + resources: + requests: + cpu: 250m + volumeMounts: + - mountPath: /lib/modules + name: lib-modules + readOnly: true + - mountPath: /var/run/calico + name: var-run-calico + readOnly: false + # This container installs the Calico CNI binaries + # and CNI network config file on each node. + - name: install-cni + image: quay.io/calico/cni:v1.6.1 + command: ["/install-cni.sh"] + env: + # The CNI network config to install on each node. + - name: CNI_NETWORK_CONFIG + valueFrom: + configMapKeyRef: + name: calico-config + key: cni_network_config + # Set the hostname based on the k8s node name. + - name: KUBERNETES_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + volumeMounts: + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-net-dir + volumes: + # Used by calico/node. + - name: lib-modules + hostPath: + path: /lib/modules + - name: var-run-calico + hostPath: + path: /var/run/calico + # Used to install CNI. + - name: cni-bin-dir + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d diff --git a/roles/deploy-bootstrap/templates/kube-calico.yaml.j2 b/roles/deploy-bootstrap/templates/kube-calico.yaml.j2 new file mode 100644 index 00000000..a9c0abcc --- /dev/null +++ b/roles/deploy-bootstrap/templates/kube-calico.yaml.j2 @@ -0,0 +1 @@ +#Nothing To Be Seen Here. Prevents Bootkube from coming up diff --git a/roles/deploy-bootstrap/templates/kube-controller-manager.json b/roles/deploy-bootstrap/templates/kube-controller-manager.json new file mode 100644 index 00000000..9e8b4c56 --- /dev/null +++ b/roles/deploy-bootstrap/templates/kube-controller-manager.json @@ -0,0 +1,75 @@ +{ + "kind": "Pod", + "apiVersion": "v1", + "metadata": { + "name": "kube-controller-manager", + "namespace": "kube-system", + "creationTimestamp": null, + "labels": { + "component": "kube-controller-manager", + "tier": "control-plane" + } + }, + "spec": { + "volumes": [ + { + "name": "k8s", + "hostPath": { + "path": "/etc/kubernetes" + } + }, + { + "name": "certs", + "hostPath": { + "path": "/etc/ssl/certs" + } + } + ], + "containers": [ + { + "name": "kube-controller-manager", + "image": "quay.io/attcomdev/kube-controller-manager:{{ kube_controller_manager_version }}", + "command": [ + "kube-controller-manager", + "--address=127.0.0.1", + "--leader-elect", + "--master=127.0.0.1:8080", + "--cluster-name=kubernetes", + "--root-ca-file=/etc/kubernetes/pki/ca.pem", + "--service-account-private-key-file=/etc/kubernetes/pki/apiserver-key.pem", + "--cluster-signing-cert-file=/etc/kubernetes/pki/ca.pem", + "--cluster-signing-key-file=/etc/kubernetes/pki/ca-key.pem", + "--insecure-experimental-approve-all-kubelet-csrs-for-group=system:kubelet-bootstrap" + ], + "resources": { + "requests": { + "cpu": "200m" + } + }, + "volumeMounts": [ + { + "name": "k8s", + "readOnly": true, + "mountPath": "/etc/kubernetes/" + }, + { + "name": "certs", + "mountPath": "/etc/ssl/certs" + } + ], + "livenessProbe": { + "httpGet": { + "path": "/healthz", + "port": 10252, + "host": "127.0.0.1" + }, + "initialDelaySeconds": 15, + "timeoutSeconds": 15, + "failureThreshold": 8 + } + } + ], + "hostNetwork": true + }, + "status": {} +} diff --git a/roles/deploy-bootstrap/templates/kube-controller-manager.yaml b/roles/deploy-bootstrap/templates/kube-controller-manager.yaml new file mode 100644 index 00000000..49f6673d --- /dev/null +++ b/roles/deploy-bootstrap/templates/kube-controller-manager.yaml @@ -0,0 +1,45 @@ +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: kube-controller-manager + namespace: kube-system + labels: + k8s-app: kube-controller-manager +spec: + replicas: 2 + template: + metadata: + labels: + k8s-app: kube-controller-manager + spec: + nodeSelector: + master: "true" + containers: + - name: kube-controller-manager + image: quay.io/attcomdev/kube-controller-manager:{{ kube_controller_manager_version }} + command: + - ./hyperkube + - controller-manager + - --allocate-node-cidrs=true + - --configure-cloud-routes=false + - --cluster-cidr=10.2.0.0/16 + - --root-ca-file=/etc/kubernetes/secrets/ca.crt + - --service-account-private-key-file=/etc/kubernetes/secrets/service-account.key + - --leader-elect=true + - --cloud-provider= + volumeMounts: + - name: secrets + mountPath: /etc/kubernetes/secrets + readOnly: true + - name: ssl-host + mountPath: /etc/ssl/certs + readOnly: true + volumes: + - name: secrets + secret: + secretName: kube-controller-manager + - name: ssl-host + hostPath: + path: /usr/share/ca-certificates + dnsPolicy: Default # Don't use cluster DNS. diff --git a/roles/deploy-kubelet/handlers/main.yaml b/roles/deploy-kubelet/handlers/main.yaml new file mode 100644 index 00000000..ebdb9576 --- /dev/null +++ b/roles/deploy-kubelet/handlers/main.yaml @@ -0,0 +1,3 @@ +--- +- name: restart kubelet + service: name=kubelet state=restarted diff --git a/roles/deploy-kubelet/tasks/deploy-cluster-ha.yaml b/roles/deploy-kubelet/tasks/deploy-cluster-ha.yaml new file mode 100644 index 00000000..5d7241db --- /dev/null +++ b/roles/deploy-kubelet/tasks/deploy-cluster-ha.yaml @@ -0,0 +1,95 @@ +--- +- name: Grab the ETCD IP + shell: hyperkube kubectl get services --all-namespaces | grep "etcd-service" | awk '{ print $3 }' + register: etcd_service_ip + +# - name: Deploy Calico manifest template +# template: +# src: calico.yaml +# dest: /opt/openstack-helm/manifests/calico.yaml +# register: calico_changed +# +# - name: Install calicoctl tool +# get_url: +# url: "https://github.com/projectcalico/calicoctl/releases/download/{{ calicoctl_version }}/calicoctl" +# dest: /usr/bin/calicoctl +# validate_certs: false +# mode: 0755 +# +# - name: Check for Calico deployment +# shell: hyperkube kubectl get services --all-namespaces | grep calico +# ignore_errors: True +# register: calico_deployed +# +# - name: Deploy BGP Peer Manifest (1) +# template: +# src: calico-peer.yaml +# dest: /opt/openstack-helm/manifests/calico-peer.yaml +# +# - name: Deploy BGP Peer Manifest (2) +# template: +# src: calico-peer2.yaml +# dest: /opt/openstack-helm/manifests/calico-peer2.yaml +# +# - name: Create Calico Pods +# shell: hyperkube kubectl create -f /opt/openstack-helm/manifests/calico.yaml +# when: calico_deployed | failed and "{{ inventory_hostname }} in groups['bootstrap']" +# +# - action: shell hyperkube kubectl get pods --all-namespaces | grep calico +# register: calico_output +# until: calico_output.stdout.find("Running") != -1 +# retries: 20 +# delay: 15 +# +# - name: Create BGP Peering(1) +# shell: calicoctl create -f /opt/openstack-helm/manifests/calico-peer.yaml --skip-exists +# environment: +# ETCD_ENDPOINTS: "http://{{ etcd_service_ip.stdout }}:2379" +# when: calico_deployed | failed and "{{ inventory_hostname }} in groups['bootstrap']" +# +# - name: Create BGP Peering(2) +# shell: calicoctl create -f /opt/openstack-helm/manifests/calico-peer2.yaml --skip-exists +# environment: +# ETCD_ENDPOINTS: "http://{{ etcd_service_ip.stdout }}:2379" +# when: calico_deployed | failed and "{{ inventory_hostname }} in groups['bootstrap']" + +- name: Check ClusterHA in KubeDNS + shell: hyperkube kubectl get services --all-namespaces | grep cluster-ha + ignore_errors: true + register: cluster_ha_present + +- name: Install ClusterHA ConfigMaps + template: + src: cluster-ha.j2 + dest: /opt/openstack-helm/manifests/cluster-ha.yaml + register: cluster_ha_configmaps + +- name: Delete ClusterHA if present + shell: hyperkube kubectl delete -f /opt/openstack-helm/manifests/cluster-ha.yaml + when: cluster_ha_present | succeeded and cluster_ha_configmaps | changed + ignore_errors: true + +- name: Deploy ClusterHA ConfigMaps + shell: hyperkube kubectl create -f /opt/openstack-helm/manifests/cluster-ha.yaml + when: cluster_ha_configmaps | changed + +- name: Determine KubeDNS Server + shell: hyperkube kubectl get svc kube-dns --namespace=kube-system | awk '{print $2}' | sed -n '$p' + register: kube_dns_server + +- name: Add KubeDNS to /etc/resolv.conf + lineinfile: + dest: /etc/resolv.conf + insertafter: "^# DO" + line: "nameserver {{ kube_dns_server.stdout }}" + state: present + backup: true + +- name: Remove /etc/hosts entry if present + lineinfile: + dest: /etc/hosts + line: "{{ hostvars[groups['master'][0]]['ansible_default_ipv4']['address'] }} {{ api_server_fqdn }}" + state: absent + +- name: Test Kubernetes cluster + shell: hyperkube kubectl get nodes diff --git a/roles/deploy-kubelet/tasks/deploy-kubernetes.yaml b/roles/deploy-kubelet/tasks/deploy-kubernetes.yaml new file mode 100644 index 00000000..b3781e22 --- /dev/null +++ b/roles/deploy-kubelet/tasks/deploy-kubernetes.yaml @@ -0,0 +1,64 @@ +--- +#TODO: Version kubelet, with checksum +- name: Install kubelet + get_url: + url: "http://storage.googleapis.com/kubernetes-release/release/{{ kubelet_version }}/bin/linux/amd64/kubelet" + dest: /usr/bin/kubelet +# checksum: md5:33af080e876b1f3d481b0ff1ceec3ab8 + mode: 0755 + +- name: Ensures /etc/kubernetes dir exists + file: + path: /etc/kubernetes + state: directory + +#Gets Kubeconfig from the bootstrap node. See roles/bootstrap/tasks/main.yml +- name: Install kubeconfig + template: + src: kubeconfig + dest: /etc/kubernetes/kubeconfig + +- name: Setup kubelet.service + template: + src: kubelet.service + dest: /etc/systemd/system/kubelet.service + notify: restart kubelet + +- name: Enable Kubelet to be started on boot + systemd: + name: kubelet + state: started + enabled: yes + daemon_reload: yes + +- name: Create Directories for Kubernetes manifests + file: + path: /opt/openstack-helm/manifests + state: directory + +#Wait for Kubeapi Server to come up +- action: shell hyperkube kubectl get pods --all-namespaces | grep kube-apiserver + register: kubeapi_output + until: kubeapi_output.stdout.find("Running") != -1 + retries: 40 + delay: 15 + +#Wait for cluster to stabilize across all nodes +- action: shell hyperkube kubectl get pods --all-namespaces + register: cluster_stable + until: '"ContainerCreating" not in cluster_stable.stdout' + retries: 40 + delay: 15 + +#Re-Deploy Calico with ETCD +- name: Inject Custom manifests - kube-calico.yaml + template: + src: kube-calico.yaml.j2 + dest: "/tmp/bootkube/assets/manifests/kube-flannel.yaml" + notify: restart kubelet + +- name: Inject Custom manifests - kube-calico-cfg.yaml + template: + src: kube-calico-cfg.yaml.j2 + dest: "/tmp/bootkube/assets/manifests/kube-flannel-cfg.yaml" + notify: restart kubelet diff --git a/roles/deploy-kubelet/tasks/main.yaml b/roles/deploy-kubelet/tasks/main.yaml new file mode 100644 index 00000000..5707a6be --- /dev/null +++ b/roles/deploy-kubelet/tasks/main.yaml @@ -0,0 +1,6 @@ +#Deploys Kubelet +--- +- include: prep-host.yaml +- include: prep-hyperkube.yaml +- include: prep-cni.yaml +- include: deploy-kubernetes.yaml diff --git a/roles/deploy-kubelet/tasks/prep-cni.yaml b/roles/deploy-kubelet/tasks/prep-cni.yaml new file mode 100644 index 00000000..db2ad063 --- /dev/null +++ b/roles/deploy-kubelet/tasks/prep-cni.yaml @@ -0,0 +1,11 @@ +--- +- name: Ensures CNI dir exists + file: + path: /opt/cni/bin + state: directory + +- name: Install CNI binaries + unarchive: + src: "https://github.com/containernetworking/cni/releases/download/{{ cni_version }}/cni-amd64-{{ cni_version }}.tgz" + dest: /opt/cni/bin + remote_src: True diff --git a/roles/deploy-kubelet/tasks/prep-host.yaml b/roles/deploy-kubelet/tasks/prep-host.yaml new file mode 100644 index 00000000..ee7e4bb8 --- /dev/null +++ b/roles/deploy-kubelet/tasks/prep-host.yaml @@ -0,0 +1,19 @@ +--- +- name: Install base packages + apt: + name: "{{ item }}" + state: present + with_items: + - "docker.io" + - "vim" + - "ethtool" + - "traceroute" + - "git" + - "build-essential" + - "lldpd" + +- name: Insert Temporary Hosts File Entry for FQDN Resolution + lineinfile: + dest: /etc/hosts + line: "{{ hostvars[groups['master'][0]]['ansible_default_ipv4']['address'] }} {{ api_server_fqdn }}" + state: present diff --git a/roles/deploy-kubelet/tasks/prep-hyperkube.yaml b/roles/deploy-kubelet/tasks/prep-hyperkube.yaml new file mode 100644 index 00000000..25b11dea --- /dev/null +++ b/roles/deploy-kubelet/tasks/prep-hyperkube.yaml @@ -0,0 +1,10 @@ +--- +- name: Downloads Hyperkube + get_url: + url: "http://storage.googleapis.com/kubernetes-release/release/{{ hyperkube_version }}/bin/linux/amd64/hyperkube" + dest: /usr/bin/hyperkube + +- name: Set hyperkube permissions + file: + path: /usr/bin/hyperkube + mode: 0755 diff --git a/roles/deploy-kubelet/templates/calico-peer.yaml b/roles/deploy-kubelet/templates/calico-peer.yaml new file mode 100644 index 00000000..d95cdf74 --- /dev/null +++ b/roles/deploy-kubelet/templates/calico-peer.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: bgpPeer +metadata: + peerIP: {{ calico_peer1 }} + scope: node + node: {{ ansible_hostname }} +spec: + asNumber: 64686 diff --git a/roles/deploy-kubelet/templates/calico-peer2.yaml b/roles/deploy-kubelet/templates/calico-peer2.yaml new file mode 100644 index 00000000..1ff5b4d1 --- /dev/null +++ b/roles/deploy-kubelet/templates/calico-peer2.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: bgpPeer +metadata: + peerIP: {{ calico_peer2 }} + scope: node + node: {{ ansible_hostname }} +spec: + asNumber: 64686 diff --git a/roles/deploy-kubelet/templates/calico.yaml b/roles/deploy-kubelet/templates/calico.yaml new file mode 100644 index 00000000..57a61bc3 --- /dev/null +++ b/roles/deploy-kubelet/templates/calico.yaml @@ -0,0 +1,323 @@ +# This ConfigMap is used to configure a self-hosted Calico installation. +# This ConfigMap is used to configure a self-hosted Calico installation. +kind: ConfigMap +apiVersion: v1 +metadata: + name: calico-config + namespace: kube-system +data: + # The location of your etcd cluster. This uses the Service clusterIP + # defined below. + #etcd_endpoints: "http://10.96.232.136:6666" + #etcd_endpoints: "http://10.200.232.136:6666" + etcd_endpoints: "http://{{ etcd_service_ip.stdout }}:2379" + + # True enables BGP networking, false tells Calico to enforce + # policy only, using native networking. + enable_bgp: "true" + + # The CNI network configuration to install on each node. + cni_network_config: |- + { + "name": "k8s-pod-network", + "type": "calico", + "etcd_endpoints": "__ETCD_ENDPOINTS__", + "log_level": "info", + "ipam": { + "type": "calico-ipam" + }, + "policy": { + "type": "k8s", + "k8s_api_root": "https://__KUBERNETES_SERVICE_HOST__:__KUBERNETES_SERVICE_PORT__", + "k8s_auth_token": "__SERVICEACCOUNT_TOKEN__" + }, + "kubernetes": { + "kubeconfig": "/etc/cni/net.d/__KUBECONFIG_FILENAME__" + } + } + + # The default IP Pool to be created for the cluster. + # Pod IP addresses will be assigned from this pool. + ippool.yaml: | + apiVersion: v1 + kind: ipPool + metadata: + cidr: 10.200.0.0/16 + spec: + ipip: + enabled: true + nat-outgoing: true + +--- + +# This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet +# to force it to run on the master even when the master isn't schedulable, and uses +# nodeSelector to ensure it only runs on the master. +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: calico-etcd + namespace: kube-system + labels: + k8s-app: calico-etcd +spec: + template: + metadata: + labels: + k8s-app: calico-etcd + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + # Only run this pod on the master. + nodeSelector: + kubeadm.alpha.kubernetes.io/role: master + hostNetwork: true + containers: + - name: calico-etcd + image: gcr.io/google_containers/etcd:2.2.1 + env: + - name: CALICO_ETCD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + command: ["/bin/sh","-c"] + args: ["/usr/local/bin/etcd --name=calico --data-dir=/var/etcd/calico-data --advertise-client-urls=http://$CALICO_ETCD_IP:6666 --listen-client-urls=http://0.0.0.0:6666 --listen-peer-urls=http://0.0.0.0:6667"] + volumeMounts: + - name: var-etcd + mountPath: /var/etcd + volumes: + - name: var-etcd + hostPath: + path: /var/etcd + +--- + +# This manfiest installs the Service which gets traffic to the Calico +# etcd. +apiVersion: v1 +kind: Service +metadata: + labels: + k8s-app: calico-etcd + name: calico-etcd + namespace: kube-system +spec: + # Select the calico-etcd pod running on the master. + selector: + k8s-app: calico-etcd + # This ClusterIP needs to be known in advance, since we cannot rely + # on DNS to get access to etcd. + #clusterIP: 10.96.232.136 + clusterIP: 10.3.0.190 + ports: + - port: 6666 + +--- + +# This manifest installs the calico/node container, as well +# as the Calico CNI plugins and network config on +# each master and worker node in a Kubernetes cluster. +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: calico-node + namespace: kube-system + labels: + k8s-app: calico-node +spec: + selector: + matchLabels: + k8s-app: calico-node + template: + metadata: + labels: + k8s-app: calico-node + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + hostNetwork: true + containers: + # Runs calico/node container on each Kubernetes node. This + # container programs network policy and routes on each + # host. + - name: calico-node + image: quay.io/calico/node:v1.0.2 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # Enable BGP. Disable to enforce policy only. + - name: CALICO_NETWORKING + valueFrom: + configMapKeyRef: + name: calico-config + key: enable_bgp + # Disable file logging so `kubectl logs` works. + - name: CALICO_DISABLE_FILE_LOGGING + value: "true" + # Set Felix endpoint to host default action to ACCEPT. + - name: FELIX_DEFAULTENDPOINTTOHOSTACTION + value: "ACCEPT" + # Don't configure a default pool. This is done by the Job + # below. + - name: NO_DEFAULT_POOLS + value: "true" + # Auto-detect the BGP IP address. + - name: IP + value: "" + securityContext: + privileged: true + volumeMounts: + - mountPath: /lib/modules + name: lib-modules + readOnly: true + - mountPath: /var/run/calico + name: var-run-calico + readOnly: false + # This container installs the Calico CNI binaries + # and CNI network config file on each node. + - name: install-cni + image: calico/cni:v1.5.6 + command: ["/install-cni.sh"] + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The CNI network config to install on each node. + - name: CNI_NETWORK_CONFIG + valueFrom: + configMapKeyRef: + name: calico-config + key: cni_network_config + volumeMounts: + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-net-dir + volumes: + # Used by calico/node. + - name: lib-modules + hostPath: + path: /lib/modules + - name: var-run-calico + hostPath: + path: /var/run/calico + # Used to install CNI. + - name: cni-bin-dir + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d + +--- + +# This manifest deploys the Calico policy controller on Kubernetes. +# See https://github.com/projectcalico/k8s-policy +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: calico-policy-controller + namespace: kube-system + labels: + k8s-app: calico-policy +spec: + # The policy controller can only have a single active instance. + replicas: 1 + strategy: + type: Recreate + template: + metadata: + name: calico-policy-controller + namespace: kube-system + labels: + k8s-app: calico-policy-controller + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + # The policy controller must run in the host network namespace so that + # it isn't governed by policy that would prevent it from working. + hostNetwork: true + containers: + - name: calico-policy-controller + image: calico/kube-policy-controller:v0.5.2 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The location of the Kubernetes API. Use the default Kubernetes + # service for API access. + - name: K8S_API + value: "https://kubernetes.default:443" + # Since we're running in the host namespace and might not have KubeDNS + # access, configure the container's /etc/hosts to resolve + # kubernetes.default to the correct service clusterIP. + - name: CONFIGURE_ETC_HOSTS + value: "true" + +--- + +## This manifest deploys a Job which performs one time +# configuration of Calico +apiVersion: batch/v1 +kind: Job +metadata: + name: configure-calico + namespace: kube-system + labels: + k8s-app: calico +spec: + template: + metadata: + name: configure-calico + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + hostNetwork: true + restartPolicy: OnFailure + containers: + # Writes basic configuration to datastore. + - name: configure-calico + image: calico/ctl:v1.0.2 + args: + - apply + - -f + - /etc/config/calico/ippool.yaml + volumeMounts: + - name: config-volume + mountPath: /etc/config + env: + # The location of the etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + volumes: + - name: config-volume + configMap: + name: calico-config + items: + - key: ippool.yaml + path: calico/ippool.yaml diff --git a/roles/deploy-kubelet/templates/cluster-ha.j2 b/roles/deploy-kubelet/templates/cluster-ha.j2 new file mode 100644 index 00000000..8ce9b834 --- /dev/null +++ b/roles/deploy-kubelet/templates/cluster-ha.j2 @@ -0,0 +1,23 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: cluster-ha +spec: + clusterIP: None + ports: + - protocol: TCP + port: 443 + targetPort: 443 +--- +kind: Endpoints +apiVersion: v1 +metadata: + name: cluster-ha +subsets: +- addresses: +{% for node in groups['master'] %} + - ip: {{ hostvars[node]['ansible_default_ipv4']['address'] }} +{% endfor %} + ports: + - port: 443 diff --git a/roles/deploy-kubelet/templates/kube-calico-cfg.yaml.j2 b/roles/deploy-kubelet/templates/kube-calico-cfg.yaml.j2 new file mode 100644 index 00000000..96f94933 --- /dev/null +++ b/roles/deploy-kubelet/templates/kube-calico-cfg.yaml.j2 @@ -0,0 +1,53 @@ +# This ConfigMap is used to configure a self-hosted Calico installation. +# Becomes kube-flannel-cfg.yaml once deployed on target host +kind: ConfigMap +apiVersion: v1 +metadata: + name: calico-config + namespace: kube-system +data: + # Configure this with the location of your etcd cluster. + etcd_endpoints: "http://10.23.19.16:2379" + #etcd_endpoints: "http://127.0.0.1:2379" + + # Configure the Calico backend to use. + calico_backend: "bird" + + # The CNI network configuration to install on each node. + cni_network_config: |- + { + "name": "k8s-pod-network", + "type": "calico", + "etcd_endpoints": "__ETCD_ENDPOINTS__", + "etcd_key_file": "__ETCD_KEY_FILE__", + "etcd_cert_file": "__ETCD_CERT_FILE__", + "etcd_ca_cert_file": "__ETCD_CA_CERT_FILE__", + "log_level": "info", + "ipam": { + "type": "calico-ipam" + }, + "policy": { + "type": "k8s", + "k8s_api_root": "https://__KUBERNETES_SERVICE_HOST__:__KUBERNETES_SERVICE_PORT__", + "k8s_auth_token": "__SERVICEACCOUNT_TOKEN__" + }, + "kubernetes": { + "kubeconfig": "__KUBECONFIG_FILEPATH__" + } + } + + # The default IP Pool to be created for the cluster. + # Pod IP addresses will be assigned from this pool. + ippool.yaml: | + apiVersion: v1 + kind: ipPool + metadata: + cidr: 10.2.0.0/16 + spec: + nat-outgoing: true + + # If you're using TLS enabled etcd uncomment the following. + # You must also populate the Secret below with these files. + etcd_ca: "" # "/calico-secrets/etcd-ca" + etcd_cert: "" # "/calico-secrets/etcd-cert" + etcd_key: "" # "/calico-secrets/etcd-key" diff --git a/roles/deploy-kubelet/templates/kube-calico.yaml.j2 b/roles/deploy-kubelet/templates/kube-calico.yaml.j2 new file mode 100644 index 00000000..b2bb8f54 --- /dev/null +++ b/roles/deploy-kubelet/templates/kube-calico.yaml.j2 @@ -0,0 +1,286 @@ +# This manifest installs the calico/node container, as well +# as the Calico CNI plugins and network config on +# each master and worker node in a Kubernetes cluster. +# This file becomes kube-flannel.yaml once deployed to overwrite the default bootkube deployment +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: calico-node + namespace: kube-system + labels: + k8s-app: calico-node +spec: + selector: + matchLabels: + k8s-app: calico-node + template: + metadata: + labels: + k8s-app: calico-node + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + hostNetwork: true + containers: + # Runs calico/node container on each Kubernetes node. This + # container programs network policy and routes on each + # host. + - name: calico-node + image: quay.io/calico/node:v1.1.1 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # Choose the backend to use. + - name: CALICO_NETWORKING_BACKEND + valueFrom: + configMapKeyRef: + name: calico-config + key: calico_backend + # Disable file logging so `kubectl logs` works. + - name: CALICO_DISABLE_FILE_LOGGING + value: "true" + # Set Felix endpoint to host default action to ACCEPT. + - name: FELIX_DEFAULTENDPOINTTOHOSTACTION + value: "ACCEPT" + # Don't configure a default pool. This is done by the Job + # below. + - name: NO_DEFAULT_POOLS + value: "true" + - name: FELIX_LOGSEVERITYSCREEN + value: "info" + # Location of the CA certificate for etcd. + - name: ETCD_CA_CERT_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_ca + # Location of the client key for etcd. + - name: ETCD_KEY_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_key + # Location of the client certificate for etcd. + - name: ETCD_CERT_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_cert + # Auto-detect the BGP IP address. + - name: IP + value: "" + securityContext: + privileged: true + volumeMounts: + - mountPath: /lib/modules + name: lib-modules + readOnly: true + - mountPath: /var/run/calico + name: var-run-calico + readOnly: false + # - mountPath: /calico-secrets + # name: etcd-certs + # This container installs the Calico CNI binaries + # and CNI network config file on each node. + - name: install-cni + image: quay.io/calico/cni:v1.6.2 + command: ["/install-cni.sh"] + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # The CNI network config to install on each node. + - name: CNI_NETWORK_CONFIG + valueFrom: + configMapKeyRef: + name: calico-config + key: cni_network_config + volumeMounts: + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-net-dir + # - mountPath: /calico-secrets + # name: etcd-certs + volumes: + # Used by calico/node. + - name: lib-modules + hostPath: + path: /lib/modules + - name: var-run-calico + hostPath: + path: /var/run/calico + # Used to install CNI. + - name: cni-bin-dir + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d + # Mount in the etcd TLS secrets. + # - name: etcd-certs + # secret: + # secretName: calico-etcd-secrets + + +--- + +# This manifest deploys the Calico policy controller on Kubernetes. +# See https://github.com/projectcalico/k8s-policy +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: calico-policy-controller + namespace: kube-system + labels: + k8s-app: calico-policy + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] +spec: + # The policy controller can only have a single active instance. + replicas: 1 + strategy: + type: Recreate + template: + metadata: + name: calico-policy-controller + namespace: kube-system + labels: + k8s-app: calico-policy + spec: + # The policy controller must run in the host network namespace so that + # it isn't governed by policy that would prevent it from working. + hostNetwork: true + containers: + - name: calico-policy-controller + image: quay.io/calico/kube-policy-controller:v0.5.4 + env: + # The location of the Calico etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # Location of the CA certificate for etcd. + - name: ETCD_CA_CERT_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_ca + # Location of the client key for etcd. + - name: ETCD_KEY_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_key + # Location of the client certificate for etcd. + - name: ETCD_CERT_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_cert + # The location of the Kubernetes API. Use the default Kubernetes + # service for API access. + - name: K8S_API + value: "https://kubernetes.default:443" + # Since we're running in the host namespace and might not have KubeDNS + # access, configure the container's /etc/hosts to resolve + # kubernetes.default to the correct service clusterIP. + - name: CONFIGURE_ETC_HOSTS + value: "true" + # volumeMounts: + # # Mount in the etcd TLS secrets. + # - mountPath: /calico-secrets + # name: etcd-certs + # volumes: + # Mount in the etcd TLS secrets. + # - name: etcd-certs + # secret: + # secretName: calico-etcd-secrets + +--- + +## This manifest deploys a Job which performs one time +# configuration of Calico +apiVersion: batch/v1 +kind: Job +metadata: + name: configure-calico + namespace: kube-system + labels: + k8s-app: calico +spec: + template: + metadata: + name: configure-calico + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [{"key": "dedicated", "value": "master", "effect": "NoSchedule" }, + {"key":"CriticalAddonsOnly", "operator":"Exists"}] + spec: + hostNetwork: true + restartPolicy: OnFailure + containers: + # Writes basic configuration to datastore. + - name: configure-calico + image: calico/ctl:v1.1.1 + args: + - apply + - -f + - /etc/config/calico/ippool.yaml + volumeMounts: + - name: config-volume + mountPath: /etc/config + # Mount in the etcd TLS secrets. + # - mountPath: /calico-secrets + # name: etcd-certs + env: + # The location of the etcd cluster. + - name: ETCD_ENDPOINTS + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_endpoints + # Location of the CA certificate for etcd. + - name: ETCD_CA_CERT_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_ca + # Location of the client key for etcd. + - name: ETCD_KEY_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_key + # Location of the client certificate for etcd. + - name: ETCD_CERT_FILE + valueFrom: + configMapKeyRef: + name: calico-config + key: etcd_cert + volumes: + - name: config-volume + configMap: + name: calico-config + items: + - key: ippool.yaml + path: calico/ippool.yaml + # Mount in the etcd TLS secrets. + # - name: etcd-certs + # secret: + # secretName: calico-etcd-secrets diff --git a/roles/deploy-kubelet/templates/kubelet.service b/roles/deploy-kubelet/templates/kubelet.service new file mode 100644 index 00000000..248012c1 --- /dev/null +++ b/roles/deploy-kubelet/templates/kubelet.service @@ -0,0 +1,27 @@ +[Unit] +Description=Kubernetes Kubelet +Documentation=https://github.com/kubernetes/kubernetes + +[Service] +ExecStartPre=/bin/mkdir -p /etc/kubernetes/manifests +ExecStart=/usr/bin/kubelet \ + --kubeconfig=/etc/kubernetes/kubeconfig \ + --require-kubeconfig \ + --cni-conf-dir=/etc/cni/net.d \ + --cni-bin-dir=/opt/cni/bin \ + --network-plugin=cni \ + --lock-file=/var/run/lock/kubelet.lock \ + --exit-on-lock-contention \ + --pod-manifest-path=/etc/kubernetes/manifests \ + --allow-privileged \ + --minimum-container-ttl-duration=6m0s \ + --cluster_dns=10.3.0.10 \ + --cluster_domain=cluster.local \ + --node-labels=master={{ node_master|default('false') }} \ + --hostname-override={{ inventory_hostname }} \ + --v=2 +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/roles/group_vars/all.yaml b/roles/group_vars/all.yaml new file mode 100644 index 00000000..62a835f1 --- /dev/null +++ b/roles/group_vars/all.yaml @@ -0,0 +1,26 @@ +#Default Override-able variables for bootstrap role +boot_kube_version: "v0.3.13" +bootstrap_enabled: "true" + +#For DNS Resilliency, override this with FQDN in your environment which resolves to all "master" servers +api_server_fqdn: "kubeapi.test.local" + +#Default Override-able variables for the Kubelet role +cni_version: "v0.5.2" +hyperkube_version: "v1.5.6" +kubelet_version: "v1.5.6" +calicoctl_version: "v1.1.0" + +#Calico Peering - Physical Switch Fabric IPs +calico_peer1: 10.23.21.2 +calico_peer2: 10.23.21.3 + +## Kubernetes Add-Ons: +# Optional Items: kube_dashboard, kube_helm (more to come). +addons_enabled: false +addons: + - dashboard + - helm + - osh + - ceph + - maas diff --git a/site.retry b/site.retry new file mode 100644 index 00000000..2905d764 --- /dev/null +++ b/site.retry @@ -0,0 +1 @@ +192.168.4.64 diff --git a/site.yaml b/site.yaml new file mode 100644 index 00000000..a17996e6 --- /dev/null +++ b/site.yaml @@ -0,0 +1,27 @@ +- hosts: bootstrap + remote_user: ubuntu + become: yes + become_method: sudo + roles: + - deploy-bootstrap + +- hosts: master + remote_user: ubuntu + become: yes + become_method: sudo + roles: + - deploy-kubelet + +- hosts: workers + remote_user: ubuntu + become: yes + become_method: sudo + roles: + - deploy-kubelet + +#- hosts: master +# remote_user: ubuntu +# become: yes +# become_method: sudo +# roles: +# - deploy-addons