Update kubelet config
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Adrien Reslinger 2020-09-17 01:15:23 +02:00
parent 7e5eb1911e
commit 58fae5e1bd
6 changed files with 96 additions and 16 deletions

View file

@ -44,6 +44,44 @@
when: when:
- kubernetes_kubeproxy_mode == "ipvs" - kubernetes_kubeproxy_mode == "ipvs"
- name: Create thin volumes for kubernetes
lvol:
vg: "{{ item.vg }}"
lv: "{{ item.name }}"
thinpool: kubernetes
size: "{{ item.size }}"
with_items:
- { name: var_lib_etcd, vg: vg_sys, size: 1g, mount_point: /var/lib/etcd, mount_opts: "nodev,noexec,nosuid,discard"}
- { name: etc_kubernetes, vg: vg_sys, size: 1g, mount_point: /etc/kubernetes, mount_opts: "nodev,noexec,nosuid,discard"}
# - { name: var_lib_kubelet, vg: vg_sys, size: 128m, mount_point: /var/lib/kubelet, mount_opts: "discard"}
when:
- kubernetes_master|bool
- name: create file system on containerd lv
filesystem:
fstype: ext4
dev: "/dev/{{ item.vg }}/{{ item.name }}"
with_items:
- { name: var_lib_etcd, vg: vg_sys, size: 1g, mount_point: /var/lib/etcd, mount_opts: "nodev,noexec,nosuid,discard"}
- { name: etc_kubernetes, vg: vg_sys, size: 1g, mount_point: /etc/kubernetes, mount_opts: "nodev,noexec,nosuid,discard"}
# - { name: var_lib_kubelet, vg: vg_sys, size: 128m, mount_point: /var/lib/kubelet, mount_opts: "discard"}
when:
- kubernetes_master|bool
- name: mount logical volumes
mount:
name: "{{ item.mount_point }}"
src: "/dev/{{ item.vg }}/{{ item.name }}"
fstype: ext4
opts: "{{ item.mount_opts }}"
state: mounted
with_items:
- { name: var_lib_etcd, vg: vg_sys, size: 1g, mount_point: /var/lib/etcd, mount_opts: "nodev,noexec,nosuid,discard"}
- { name: etc_kubernetes, vg: vg_sys, size: 1g, mount_point: /etc/kubernetes, mount_opts: "nodev,noexec,nosuid,discard"}
# - { name: var_lib_kubelet, vg: vg_sys, size: 128m, mount_point: /var/lib/kubelet, mount_opts: "discard"}
when:
- kubernetes_master|bool
- name: Secure etcd directory - name: Secure etcd directory
file: file:
path: "/var/lib/etcd" path: "/var/lib/etcd"

View file

@ -9,6 +9,12 @@
fstype: swap fstype: swap
state: absent state: absent
- name: Create a thin pool for kubernetes
lvol:
vg: vg_sys
thinpool: kubernetes
size: 20g
# Install API loadbalancer # Install API loadbalancer
- include_tasks: "load_balancer.yml" - include_tasks: "load_balancer.yml"
when: when:
@ -26,7 +32,7 @@
- kubernetes_master|bool - kubernetes_master|bool
- name: Configure audit policy - name: Configure audit policy
file: copy:
src: "etc/kubernetes/policies/audit-policy.yaml" src: "etc/kubernetes/policies/audit-policy.yaml"
dest: "/etc/kubernetes/policies/audit-policy.yaml" dest: "/etc/kubernetes/policies/audit-policy.yaml"
group: root group: root
@ -44,16 +50,6 @@
when: when:
- kubernetes_cri == "k3s" - kubernetes_cri == "k3s"
- name: Check if a node is still tainted
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
when: kubernetes_master_taint
register: current_taint
- name: taint the machine if needed
# command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
when: kubernetes_master_taint|bool and current_taint.stdout
# #
# At this point, we have a kubernetes up and running, but ready for it # At this point, we have a kubernetes up and running, but ready for it
# #
@ -68,9 +64,9 @@
when: when:
- kubernetes_master|bool - kubernetes_master|bool
- name: Copy certificat file on - name: Copy kubeconfig file from /etc/kubernetes/admin.conf
copy: copy:
src: /etc/kubernetes/admin.conf src: "/etc/kubernetes/admin.conf"
dest: /root/.kube/config dest: /root/.kube/config
remote_src: yes remote_src: yes
owner: root owner: root
@ -78,6 +74,19 @@
mode: 0600 mode: 0600
when: when:
- kubernetes_master|bool - kubernetes_master|bool
- kubernetes_cri != "k3s"
- name: Copy kubeconfig file from /etc/rancher/k3s/k3s.yaml
copy:
src: "/etc/rancher/k3s/k3s.yaml"
dest: /root/.kube/config
remote_src: yes
owner: root
group: root
mode: 0600
when:
- kubernetes_master|bool
- kubernetes_cri == "k3s"
# #
# Manque autoconfig de .kube/config local # Manque autoconfig de .kube/config local
@ -89,3 +98,14 @@
# dest: /root/.kube/{{ kubernetes_cluster_name }}/ca.crt # dest: /root/.kube/{{ kubernetes_cluster_name }}/ca.crt
# when: # when:
# - kubernetes_master|bigip_pool # - kubernetes_master|bigip_pool
- name: Check if a node is still tainted
command: kubectl get nodes '{{ ansible_hostname | lower }}' -o jsonpath='{.spec.taints}'
when: kubernetes_master_taint
register: current_taint
- name: taint the machine if needed
# command: kubectl --kubeconfig=/etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master-
command: kubectl taint nodes '{{ ansible_hostname | lower }}' node-role.kubernetes.io/master-
when: kubernetes_master_taint|bool and current_taint.stdout

View file

@ -1,2 +1,2 @@
#https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates #https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates
KUBELET_EXTRA_ARGS="{% if ansible_service_mgr == "systemd" %}--cgroup-driver=systemd {% endif %}--container-runtime=remote --runtime-request-timeout=5m --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_eth0.ipv4.address }}" KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_eth0.ipv4.address }}"

View file

@ -1,2 +1,2 @@
[Service] [Service]
Environment=KUBELET_EXTRA_ARGS="--cgroup-driver=systemd --container-runtime=remote --runtime-request-timeout=5m --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_eth0.ipv4.address }}" Environment=KUBELET_EXTRA_ARGS="--container-runtime=remote --container-runtime-endpoint={% if kubernetes_cri == "containerd" %}unix:///run/containerd/containerd.sock{% elif kubernetes_cri == "cri-o" %}unix:///var/run/crio/crio.sock{% endif %} --node-ip={{ ansible_eth0.ipv4.address }}"

View file

@ -42,7 +42,7 @@ nodeRegistration:
localAPIEndpoint: localAPIEndpoint:
advertiseAddress: "{{ ansible_default_ipv4.address }}" advertiseAddress: "{{ ansible_default_ipv4.address }}"
bindPort: 6443 bindPort: 6443
{% if kubernetes_master|bool %} {% if kubernetes_master|bool and groups['KubernetesMasterConfigured'] is defined %}
certificateKey: "{{ kubernetes_certificateKey.stdout }}" certificateKey: "{{ kubernetes_certificateKey.stdout }}"
{% endif %} {% endif %}
--- ---
@ -53,14 +53,18 @@ controlPlane:
localAPIEndpoint: localAPIEndpoint:
advertiseAddress: "{{ ansible_default_ipv4.address }}" advertiseAddress: "{{ ansible_default_ipv4.address }}"
bindPort: 6443 bindPort: 6443
{% if groups['KubernetesMasterConfigured'] is defined %}
certificateKey: "{{ kubernetes_certificateKey.stdout }}" certificateKey: "{{ kubernetes_certificateKey.stdout }}"
{% endif %} {% endif %}
{% endif %}
discovery: discovery:
bootstrapToken: bootstrapToken:
apiServerEndpoint: "{{ lb_kubemaster }}:6443" apiServerEndpoint: "{{ lb_kubemaster }}:6443"
{% if groups['KubernetesMasterConfigured'] is defined %}
caCertHashes: caCertHashes:
- sha256:{{ cacerthash.stdout }} - sha256:{{ cacerthash.stdout }}
token: "{{ kubetoken.stdout }}" token: "{{ kubetoken.stdout }}"
{% endif %}
nodeRegistration: nodeRegistration:
kubeletExtraArgs: kubeletExtraArgs:
node-ip: {{ ansible_default_ipv4.address }} node-ip: {{ ansible_default_ipv4.address }}
@ -117,3 +121,20 @@ mode: {{ kubernetes_kubeproxy_mode }}
--- ---
apiVersion: kubelet.config.k8s.io/v1beta1 apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration kind: KubeletConfiguration
runtimeRequestTimeout: 5m
{% if ansible_service_mgr == "systemd" %}
cgroupDriver: systemd
{% endif %}
{% if false %}
readOnlyPort: 1
systemReserved:
cpu=200m,memory=200M
containerRuntime: remote
{% if kubernetes_cri == "containerd" %}
containerRuntimeEndpoint: "unix:///run/containerd/containerd.sock"
{% elif kubernetes_cri == "cri-o" %}
containerRuntimeEndpoint: "unix:///var/run/crio/crio.sock"
{% endif %}
{% endif %}

View file

@ -3,5 +3,6 @@ kubernetes_package_name:
- kubectl - kubectl
- kubelet - kubelet
- kubeadm - kubeadm
- iproute-tc
#kubernetes_remove_packages_name: #kubernetes_remove_packages_name:
# - kubernetes.io # - kubernetes.io