new file: files/admin-csr.json new file: files/ca-config.json new file: files/ca-csr.json new file: inventory new file: inventory.orig new file: k8s-deploy.yaml new file: k8s-deploy/00-k8s-requirements.yaml new file: k8s-deploy/01-k8s-certs-create.yaml new file: k8s-deploy/02-k8s-certs-copy.yaml new file: k8s-deploy/03-k8s-deploy-etcd.yaml new file: k8s-deploy/04-k8s-controller-deploy.yaml new file: k8s-deploy/05-k8s-nginx-deploy.yaml new file: k8s-deploy/06-k8s-workers-certs-deploy.yaml new file: k8s-deploy/07-k8s-worker-deploy.yaml new file: k8s-deploy/08-rbac-clusterrole-create.yaml new file: k8s-deploy/09-k8s-create-remote-admin.yaml new file: k8s-deploy/README.md new file: k8s-deploy/core-dns.yaml new file: k8s-deploy/defaults/main.yml new file: k8s-deploy/files/99_loopback.conf new file: k8s-deploy/files/X-csr.json new file: k8s-deploy/files/admin-csr.json new file: k8s-deploy/files/arm/etcd new file: k8s-deploy/files/arm/etcdctl new file: k8s-deploy/files/ca-config.json new file: k8s-deploy/files/ca-csr.json new file: k8s-deploy/files/clusterrole-api-to-kubelet.yaml new file: k8s-deploy/files/clusterrolebinding-api-to-kubelet.yaml new file: k8s-deploy/files/config.toml new file: k8s-deploy/files/containerd.service new file: k8s-deploy/files/kube-controller-manager-csr.json new file: k8s-deploy/files/kube-proxy-csr.json new file: k8s-deploy/files/kube-proxy.service new file: k8s-deploy/files/kube-scheduler-csr.json new file: k8s-deploy/files/kubelet.service new file: k8s-deploy/files/kubernetes-csr.json new file: k8s-deploy/files/service-account-csr.json new file: k8s-deploy/files/x86_64/etcd new file: k8s-deploy/files/x86_64/etcdctl new file: k8s-deploy/handlers/main.yml new file: k8s-deploy/k8s-deploy.yaml new file: k8s-deploy/k8s-uninstall.yaml new file: k8s-deploy/meta/main.yml new file: k8s-deploy/tasks/k8s-certs-create.yaml new file: k8s-deploy/tasks/main.yml new file: k8s-deploy/templates/10_bridge.conf.j2 new file: k8s-deploy/templates/encryption-config.j2 new file: k8s-deploy/templates/etcd.service-amd64.j2 new file: k8s-deploy/templates/etcd.service-arm.j2 new file: k8s-deploy/templates/kube-apiserver.service.j2 new file: k8s-deploy/templates/kube-controller-manager.service.j2 new file: k8s-deploy/templates/kube-proxy-config.yaml.j2 new file: k8s-deploy/templates/kube-scheduler.service.j2 new file: k8s-deploy/templates/kube-scheduler.yaml.j2 new file: k8s-deploy/templates/kubelet-config.yaml.j2 new file: k8s-deploy/templates/kubernetes.default.svc.cluster.local.j2 new file: k8s-deploy/templates/worker-csr_json.j2 new file: k8s-deploy/test.yaml new file: k8s-deploy/tests/inventory new file: k8s-deploy/tests/test.yml new file: k8s-deploy/vars/main.yml new file: rollback_k8s-deploy.yaml Initial commit
184 lines
5.3 KiB
YAML
184 lines
5.3 KiB
YAML
---
|
|
- name: Copy necessary files to worker nodes
|
|
hosts: workers
|
|
vars:
|
|
kubernetes_files:
|
|
- ca.pem
|
|
kubelet_files:
|
|
- kube-worker.kubeconfig
|
|
kube_proxy_files:
|
|
- kube-proxy.kubeconfig
|
|
workers:
|
|
- debian-k8s-node1
|
|
- debian-k8s-node2
|
|
become: true
|
|
tasks:
|
|
- name: Create the var lib kubernetes directory
|
|
file:
|
|
path: /var/lib/kubernetes
|
|
state: directory
|
|
- name: Create the var lib kubelet directory
|
|
file:
|
|
path: /var/lib/kubelet
|
|
state: directory
|
|
- name: Create the var lib kube-proxy directory
|
|
file:
|
|
path: /var/lib/kube-proxy
|
|
state: directory
|
|
- name: Copy the files to kubernetes directory
|
|
copy:
|
|
src: /var/tmp/kubernetes/{{ item }}
|
|
dest: /var/lib/kubernetes/{{ item }}
|
|
mode: preserve
|
|
with_items:
|
|
- "{{ kubernetes_files }}"
|
|
- name: Copy kubeconfig file to the kubelet directory
|
|
copy:
|
|
src: /var/tmp/kubernetes/{{ item }}.kubeconfig
|
|
dest: /var/lib/kubelet/kubeconfig
|
|
mode: preserve
|
|
with_items:
|
|
- "{{ workers }}"
|
|
- name: Copy worker node pem file to kubelet directory
|
|
copy:
|
|
src: /var/tmp/kubernetes/{{ item }}.pem
|
|
dest: /var/lib/kubelet/{{ item }}.pem
|
|
mode: preserve
|
|
with_items:
|
|
- "{{ workers }}"
|
|
- name: Copy worker node key pem file to kubelet directory
|
|
copy:
|
|
src: /var/tmp/kubernetes/{{ item }}-key.pem
|
|
dest: /var/lib/kubelet/{{ item }}-key.pem
|
|
mode: preserve
|
|
with_items:
|
|
- "{{ workers }}"
|
|
- name: Copy kube-proxy kubeconfig file to kube-proxy directory
|
|
copy:
|
|
src: /var/tmp/kubernetes/kube-proxy.kubeconfig
|
|
dest: /var/lib/kube-proxy/kubeconfig
|
|
mode: preserve
|
|
|
|
- name: Download and install the Kubernetes binaries
|
|
hosts: workers
|
|
become: true
|
|
vars:
|
|
tasks:
|
|
- name: Install dependencies
|
|
apt:
|
|
name: "{{ item }}"
|
|
state: present
|
|
with_items:
|
|
- "socat"
|
|
- "conntrack"
|
|
- "ipset"
|
|
- name: Download and install worker binaries
|
|
get_url:
|
|
url: "{{ item }}"
|
|
dest: /usr/local/bin
|
|
mode: 0755
|
|
with_items:
|
|
- "https://storage.googleapis.com/kubernetes-release/release/v1.11.2/bin/linux/amd64/kubectl"
|
|
- "https://storage.googleapis.com/kubernetes-release/release/v1.11.2/bin/linux/amd64/kube-proxy"
|
|
- "https://storage.googleapis.com/kubernetes-release/release/v1.11.2/bin/linux/amd64/kubelet"
|
|
- "https://storage.googleapis.com/kubernetes-the-hard-way/runsc"
|
|
- name: Download utilities
|
|
get_url:
|
|
url: "{{ item }}"
|
|
dest: /var/tmp/
|
|
with_items:
|
|
- "https://github.com/kubernetes-incubator/cri-tools/releases/download/v1.11.1/crictl-v1.11.1-linux-amd64.tar.gz"
|
|
- "https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz"
|
|
- "https://github.com/containerd/containerd/releases/download/v1.2.0-beta.2/containerd-1.2.0-beta.2.linux-amd64.tar.gz"
|
|
- name: Download runc
|
|
get_url:
|
|
url: https://github.com/opencontainers/runc/releases/download/v1.0.0-rc5/runc.amd64
|
|
dest: /usr/local/bin/runc
|
|
mode: 0755
|
|
|
|
- name: Create installation directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
with_items:
|
|
- "/etc/cni/net.d"
|
|
- "/opt/cni/bin"
|
|
- "/var/lib/kubelet"
|
|
- "/var/lib/kube-proxy"
|
|
- "/var/lib/kubernetes"
|
|
- "/var/run/kubernetes"
|
|
- "/etc/containerd"
|
|
|
|
- name: Extract crictl binary
|
|
unarchive:
|
|
remote_src: yes
|
|
src: /var/tmp/crictl-v1.11.1-linux-amd64.tar.gz
|
|
dest: /usr/local/bin
|
|
mode: 0755
|
|
|
|
- name: Extract cniplugins binaries
|
|
unarchive:
|
|
remote_src: yes
|
|
src: /var/tmp/cni-plugins-amd64-v0.7.1.tgz
|
|
dest: /opt/cni/bin
|
|
mode: 0755
|
|
|
|
- name: Extract containerd binaries
|
|
unarchive:
|
|
remote_src: yes
|
|
src: /var/tmp/containerd-1.2.0-beta.2.linux-amd64.tar.gz
|
|
dest: /
|
|
mode: 0755
|
|
|
|
- name: Create the CNI configuration
|
|
hosts: workers
|
|
become: true
|
|
vars:
|
|
pod_cidr: 10.200.0.0/24
|
|
cluster_cidr: 10.200.0.0/16
|
|
tasks:
|
|
- name: Create bridge.conf file
|
|
template:
|
|
src: templates/10_bridge.conf.j2
|
|
dest: /etc/cni/net.d/10_bridge.conf
|
|
- name: Create loopback file
|
|
copy:
|
|
src: files/99_loopback.conf
|
|
dest: /etc/cni/net.d/99_loopback.conf
|
|
|
|
- name: Create containerd configuration
|
|
copy:
|
|
src: files/config.toml
|
|
dest: /etc/containerd/config.toml
|
|
- name: Create containerd service file
|
|
copy:
|
|
src: files/containerd.service
|
|
dest: /etc/systemd/system/containerd.service
|
|
- name: Create kubelet-config.yaml file
|
|
template:
|
|
src: templates/kubelet-config.yaml.j2
|
|
dest: /var/lib/kubelet/kubelet-config.yaml
|
|
- name: Create the kubelet service file
|
|
copy:
|
|
src: files/kubelet.service
|
|
dest: /etc/systemd/system/kubelet.service
|
|
- name: Create the kube-proxy-config.yaml file
|
|
template:
|
|
src: templates/kube-proxy-config.yaml.j2
|
|
dest: /var/lib/kube-proxy/kube-proxy-config.yaml
|
|
- name: Create the kube-proxy.service file
|
|
copy:
|
|
src: files/kube-proxy.service
|
|
dest: /etc/systemd/system/kube-proxy.service
|
|
- name: Reload systemd configuration
|
|
command: systemctl daemon-reload
|
|
- name: Start and enable the worker daemons
|
|
service:
|
|
name: "{{ item }}"
|
|
state: started
|
|
enabled: true
|
|
with_items:
|
|
- "containerd"
|
|
- "kubelet"
|
|
- "kube-proxy"
|