need debug
This commit is contained in:
parent
18922bbecd
commit
14f67cf774
2 changed files with 84 additions and 32 deletions
|
|
@ -50,12 +50,14 @@
|
||||||
- kubernetes_master == true
|
- kubernetes_master == true
|
||||||
- groups['KubernetesMaster'] | length > 1
|
- groups['KubernetesMaster'] | length > 1
|
||||||
|
|
||||||
- stat: path=/etc/kubernetes/admin.conf
|
- stat:
|
||||||
|
path: /etc/kubernetes/admin.conf
|
||||||
register: st
|
register: st
|
||||||
changed_when: False
|
changed_when: False
|
||||||
|
|
||||||
- name: Create KubernetesMasterConfigured group
|
- name: Create KubernetesMasterConfigured group
|
||||||
group_by: key=KubernetesMasterConfigured
|
group_by:
|
||||||
|
key: KubernetesMasterConfigured
|
||||||
when:
|
when:
|
||||||
- st.stat.exists
|
- st.stat.exists
|
||||||
|
|
||||||
|
|
@ -69,8 +71,8 @@
|
||||||
|
|
||||||
- name: Deploy initial kubeadm config
|
- name: Deploy initial kubeadm config
|
||||||
template:
|
template:
|
||||||
src: kubeadmin-config.yaml.j2
|
src: kubeadm-config.yaml.j2
|
||||||
dest: /root/kubeadmin-config.yaml
|
dest: /root/kubeadm-config.yaml
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: 600
|
mode: 600
|
||||||
|
|
@ -81,28 +83,45 @@
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
- kubeadm_version_minor.stdout | int >= 15
|
||||||
|
|
||||||
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
- name: Init Kubernetes on {{ groups['KubernetesMasters'][0] }}
|
||||||
command: kubeadm init --config=kubeadm-config.yaml --upload-certs --apiserver-advertise-address={{ ansible_host }} --ignore-preflight-errors=SystemVerification
|
command: kubeadm init --config=/root/kubeadm-config.yaml
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
- kubeadm_version_major.stdout | int == 1
|
- kubeadm_version_major.stdout | int == 1
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
- kubeadm_version_minor.stdout | int >= 15
|
||||||
|
|
||||||
- name: Create KubernetesMasterConfigured group
|
# Because next command will fail
|
||||||
group_by: key=KubernetesMasterConfigured
|
- name: Make /root/.kube directory
|
||||||
|
file:
|
||||||
|
path: "/root/.kube"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0700
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Copy certificat file on
|
||||||
|
copy:
|
||||||
|
src: /etc/kubernetes/admin.conf
|
||||||
|
dest: /root/.kube/config
|
||||||
|
remote_src: yes
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0600
|
||||||
|
|
||||||
|
- name: Add {{ ansible_hostname }} to KubernetesMasterConfigured group
|
||||||
|
group_by:
|
||||||
|
key: KubernetesMasterConfigured
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
- groups['KubernetesMasterConfigured'] is not defined
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
- groups['KubernetesMasters'][0] == ansible_hostname
|
||||||
|
|
||||||
- name: Test if server node already included
|
- name: Test if server node already included
|
||||||
command: kubectl get nodes {{ ansible_hostname | lower }}
|
command: kubectl get nodes {{ ansible_hostname | lower }}
|
||||||
delegate_to: "{{ groups['KubernetesMasterConfigured'][0] }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
register: server_enrolled
|
register: server_enrolled
|
||||||
changed_when: False
|
changed_when: False
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
# kubeadm init phase upload-certs --upload-certs
|
|
||||||
|
|
||||||
- name: Deploy kubeadm config
|
- name: Deploy kubeadm config
|
||||||
template:
|
template:
|
||||||
src: kubeadm-config.yaml.j2
|
src: kubeadm-config.yaml.j2
|
||||||
|
|
@ -116,25 +135,43 @@
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
- kubeadm_version_minor.stdout | int >= 15
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Retreive token on "{{ groups['KubernetesMasterConfigured'][0] }}"
|
- name: Retreive certificats key on {{ lb_kubemaster }}
|
||||||
|
shell: kubeadm init phase upload-certs --upload-certs | grep -v upload-certs
|
||||||
|
register: kubecertskey
|
||||||
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
|
when:
|
||||||
|
- server_enrolled.rc == 1
|
||||||
|
- kubernetes_master == true
|
||||||
|
- kubeadm_version_major.stdout | int == 1
|
||||||
|
- kubeadm_version_minor.stdout | int >= 15
|
||||||
|
|
||||||
|
- name: Retreive token on "{{ lb_kubemaster }}"
|
||||||
command: kubeadm token create
|
command: kubeadm token create
|
||||||
register: kubetoken
|
register: kubetoken
|
||||||
delegate_to: "{{ groups['KubernetesMasterConfigured'][0] }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
when:
|
when:
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Retreive hash certificat
|
- name: Retreive hash certificat
|
||||||
shell: openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
|
shell: openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
|
||||||
register: hashcert
|
register: hashcert
|
||||||
delegate_to: "{{ groups['KubernetesMasterConfigured'][0] }}"
|
delegate_to: "{{ lb_kubemaster }}"
|
||||||
|
when:
|
||||||
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
|
- name: Deploy kubeadm config
|
||||||
|
template:
|
||||||
|
src: kubeadm-config.yaml.j2
|
||||||
|
dest: /root/kubeadm-config.yaml
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 600
|
||||||
when:
|
when:
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
||||||
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
- name: Join '{{ ansible_hostname }}' to Kubernetes cluster
|
||||||
command: kubeadm join --config=kubeadm-config.yaml --token {{ kubetoken.stdout }} --discovery-token-ca-cert-hash sha256:{{ hashcert.stdout }} --ignore-preflight-errors=SystemVerification
|
command: kubeadm join --config=/root/kubeadm-config.yaml
|
||||||
when:
|
when:
|
||||||
- groups['KubernetesMasterConfigured'] is not defined
|
|
||||||
- groups['KubernetesMasters'][0] == ansible_hostname
|
|
||||||
- kubeadm_version_major.stdout | int == 1
|
- kubeadm_version_major.stdout | int == 1
|
||||||
- kubeadm_version_minor.stdout | int >= 15
|
- kubeadm_version_minor.stdout | int >= 15
|
||||||
- server_enrolled.rc == 1
|
- server_enrolled.rc == 1
|
||||||
|
|
@ -151,7 +188,7 @@
|
||||||
|
|
||||||
- name: taint the machine if needed
|
- name: taint the machine if needed
|
||||||
command: kubectl taint nodes --all node-role.kubernetes.io/master-
|
command: kubectl taint nodes --all node-role.kubernetes.io/master-
|
||||||
when: kubernetes_master_taint == true and current_taint.stdout
|
when: kubernetes_master_taint == true 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
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,10 @@
|
||||||
apiVersion: kubeadm.k8s.io/v1beta2
|
apiVersion: kubeadm.k8s.io/v1beta2
|
||||||
kind: InitConfiguration
|
kind: InitConfiguration
|
||||||
{% if true == false %}
|
{% if kubetoken is defined %} %}
|
||||||
bootstrapTokens:
|
bootstrapTokens:
|
||||||
- token: "9a08jv.c0izixklcxtmnze7"
|
- token: "{{ kubetoken.stdout }}"
|
||||||
description: "kubeadm bootstrap token"
|
description: "kubeadm bootstrap token"
|
||||||
ttl: "24h"
|
ttl: "24h"
|
||||||
- token: "783bde.3f89s0fje9f38fhf"
|
|
||||||
description: "another bootstrap token"
|
|
||||||
usages:
|
|
||||||
- authentication
|
|
||||||
- signing
|
|
||||||
groups:
|
|
||||||
- system:bootstrappers:kubeadm:default-node-token
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
nodeRegistration:
|
nodeRegistration:
|
||||||
{% if kubernetes_cri == "containerd" %}
|
{% if kubernetes_cri == "containerd" %}
|
||||||
|
|
@ -27,9 +20,6 @@ nodeRegistration:
|
||||||
effect: "NoSchedule"
|
effect: "NoSchedule"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
kubeletExtraArgs:
|
kubeletExtraArgs:
|
||||||
{% if false %}
|
|
||||||
cgroupDriver: "cgroupfs"
|
|
||||||
{% endif %}
|
|
||||||
{% if kubernetes_cri == "containerd" %}
|
{% if kubernetes_cri == "containerd" %}
|
||||||
cgroup-driver: "systemd"
|
cgroup-driver: "systemd"
|
||||||
container-runtime: "remote"
|
container-runtime: "remote"
|
||||||
|
|
@ -44,15 +34,40 @@ nodeRegistration:
|
||||||
- IsPrivilegedUser
|
- IsPrivilegedUser
|
||||||
{% endif %}
|
{% endif %}
|
||||||
localAPIEndpoint:
|
localAPIEndpoint:
|
||||||
advertiseAddress: "{{ lbip_kubeapiserver }}"
|
advertiseAddress: "{{ ansible_host }}"
|
||||||
bindPort: 6443
|
bindPort: 6443
|
||||||
{% if kubernetes_certificateKey is defined %}
|
{% if kubernetes_certificateKey is defined %}
|
||||||
certificateKey: "{{ kubernetes_certificateKey }}"
|
certificateKey: "{{ kubernetes_certificateKey.stdout }}"
|
||||||
|
{% endif %}
|
||||||
|
{% if kubecertskey is defined %}
|
||||||
|
---
|
||||||
|
apiVersion: kubeadm.k8s.io/v1beta2
|
||||||
|
kind: JoinConfiguration
|
||||||
|
controlPlane:
|
||||||
|
localAPIEndpoint:
|
||||||
|
advertiseAddress: "{{ ansible_host }}"
|
||||||
|
bindPort: 6443
|
||||||
|
certificateKey: "{{ kubecertskey.stdout }}"
|
||||||
|
discovery:
|
||||||
|
bootstrapToken:
|
||||||
|
apiServerEndpoint: "{{ lb_kubemaster }}:6443"
|
||||||
|
caCertHashes:
|
||||||
|
- sha256:{{ cacerthash.stdout }}
|
||||||
|
token: "{{ kubetoken.stdout }}"
|
||||||
|
nodeRegistration:
|
||||||
|
kubeletExtraArgs:
|
||||||
|
node-ip: {{ ansible_host }}
|
||||||
|
read-only-port: "10255"
|
||||||
|
ignorePreflightErrors:
|
||||||
|
- SystemVerification
|
||||||
{% endif %}
|
{% endif %}
|
||||||
---
|
---
|
||||||
apiVersion: kubeadm.k8s.io/v1beta1
|
apiVersion: kubeadm.k8s.io/v1beta1
|
||||||
kind: ClusterConfiguration
|
kind: ClusterConfiguration
|
||||||
kubernetesVersion: stable
|
kubernetesVersion: stable
|
||||||
controlPlaneEndpoint: "{{ lb_kubemaster }}:6443"
|
controlPlaneEndpoint: "{{ lb_kubemaster }}:6443"
|
||||||
|
apiServer:
|
||||||
|
certSANs:
|
||||||
|
- "{{ lbip_kubeapiserver }}"
|
||||||
networking:
|
networking:
|
||||||
podSubnet: "10.244.0.0/16"
|
podSubnet: "10.244.0.0/16"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue