From e8291088edbafc214c274a929b1f3f6c7f99f7eb Mon Sep 17 00:00:00 2001 From: jmgao Date: Sun, 26 Nov 2017 12:36:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AD=89=E5=BE=85kube-apiser?= =?UTF-8?q?ver/kubelet=E5=90=AF=E5=8A=A8=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ pic/ansible.jpg | Bin 0 -> 8854 bytes pic/docker.jpg | Bin 0 -> 13515 bytes pic/kube.jpg | Bin 0 -> 7217 bytes roles/kube-node/tasks/main.yml | 6 ++++-- 5 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 pic/ansible.jpg create mode 100644 pic/docker.jpg create mode 100644 pic/kube.jpg diff --git a/README.md b/README.md index 5d33a76..e7a8750 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # 利用Ansible部署kubernetes集群 +![docker](./pics/docker.jpg) ![kube](./pics/kube.jpg) ![ansible](./pics/ansible.jpg) + 本文档记录自己实践部署高可用k8s集群的过程,利用ansible-playbook简化二进制方式部署过程。 网上有很多类似shell脚本和ansible部署版本,要不看得太复杂,或者久未更新,所以这里自己造轮子吧。 diff --git a/pic/ansible.jpg b/pic/ansible.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6690b4242973c02b951575b76e9e533c1eb479fa GIT binary patch literal 8854 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

pc(^uT=@ArMf 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 literal 0 HcmV?d00001 diff --git a/roles/kube-node/tasks/main.yml b/roles/kube-node/tasks/main.yml index d17660c..cca7a5a 100644 --- a/roles/kube-node/tasks/main.yml +++ b/roles/kube-node/tasks/main.yml @@ -7,8 +7,9 @@ # kubelet 启动时向 kube-apiserver 发送 TLS bootstrapping 请求,需要绑定该角色 # 只需单节点执行一次,重复执行的报错可以忽略 +# 增加15s等待kube-apiserver正常工作 - name: kubelet-bootstrap-setting - shell: "{{ bin_dir }}/kubectl create clusterrolebinding kubelet-bootstrap \ + shell: "sleep 15 && {{ bin_dir }}/kubectl create clusterrolebinding kubelet-bootstrap \ --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap" when: NODE_ID is defined and NODE_ID == "node1" ignore_errors: true @@ -120,9 +121,10 @@ template: src=calico-kube-controllers.yaml.j2 dest=/root/local/kube-system/calico/calico-kube-controllers.yaml # 只需单节点执行一次,重复执行的报错可以忽略 +# 增加15s等待node ready - name: 运行calico-kube-controllers tags: calico-controller - shell: "{{ bin_dir }}/kubectl create -f /root/local/kube-system/calico/rbac.yaml && \ + shell: "sleep 15 && {{ bin_dir }}/kubectl create -f /root/local/kube-system/calico/rbac.yaml && \ {{ bin_dir }}/kubectl create -f /root/local/kube-system/calico/calico-kube-controllers.yaml" when: NODE_ID is defined and NODE_ID == "node1" ignore_errors: true