當前位置:
首頁 > 知識 > kubespray安裝kubernetes完成後kubectl客戶端配置

kubespray安裝kubernetes完成後kubectl客戶端配置

接上篇使用kuberspay無坑安裝生產級Kubernetes集群,在使用kubespray安裝好了kubernetes之後,我們需要在自己的客戶端電腦配置kubectl,如何將集群的配置信息在本地配置呢,我們使用下面的腳本,放在scriptscopy-kubeconfig.yaml下,內容為:

---
- hosts: kube-master[0]
gather_facts: no
become: yes
tasks:
- fetch:
src: "/etc/kubernetes/ssl/{{ item }}.pem"
dest: "{{ playbook_dir }}/kubectl/{{ item }}.pem"
flat: True
with_items:
- admin-{{ inventory_hostname }}-key
- admin-{{ inventory_hostname }}
- ca
- name: export hostname
set_fact:
kubectl_name: "{{ inventory_hostname }}"

- hosts: localhost
connection: local
vars:
kubectl_name: "{{ hostvars[groups["kube-master"][0]].kubectl_name }}"
cluster_name: "{{ hostvars[groups["kube-master"][0]].cluster_name }}"
kube_apiserver_port: "{{ hostvars[groups["kube-master"][0]].kube_apiserver_port }}"
system_namespace: "{{ hostvars[groups["kube-master"][0]].system_namespace }}"
tasks:
- name: "check if context admin@{{ cluster_name }} exists"
command: kubectl config get-contexts admin@{{ cluster_name }}
register: kctl
failed_when: kctl.rc == 0

- block:
- name: "create cluster {{ cluster_name }}"
command: >
kubectl config set-cluster {{ cluster_name }}
--server=https://{{ kubectl_name }}:{{ kube_apiserver_port }}
--certificate-authority={{ playbook_dir }}/kubectl/ca.pem
--embed-certs

- name: "create credentials admin"
command: >
kubectl config set-credentials admin
--certificate-authority={{ playbook_dir }}/kubectl/ca.pem
--client-key={{ playbook_dir }}/kubectl/admin-{{ kubectl_name }}-key.pem
--client-certificate={{ playbook_dir }}/kubectl/admin-{{ kubectl_name }}.pem
--embed-certs

- name: "create context admin@{{ cluster_name }}"
command: >
kubectl config set-context admin@{{ cluster_name }}
--cluster={{ cluster_name }}
--namespace={{ system_namespace }}
--user=admin

- name: "use context admin@{{ cluster_name }}"
command: kubectl config use-context admin@{{ cluster_name }}
when: kctl.rc != 0

- name: "clean up fetched certificates"
file:
state: absent
path: "{{ playbook_dir }}/kubectl"

kubespray根目錄執行:

ansible-playbook -i inventory/inventory.cfg scripts/copy-kubeconfig.yaml

執行完成後,如果你本機的hosts文件已經配置了node1對應的ip,配置已經完成;如果沒有配置,編輯vi /Users/wangyunfei/.kube/config,將node1修改為192.168.1.130。此時再執行:

wangyunfeideMBP:kubespray wangyunfei$ kubectl get node
NAME STATUS AGE VERSION
node1 Ready,SchedulingDisabled 3d v1.6.1+coreos.0
node2 Ready 3d v1.6.1+coreos.0
node3 Ready 3d v1.6.1+coreos.0

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

Java基礎----jdk1.8 反射實驗
ASP.NET Core配置環境變數和啟動設置
10.動態規劃(3)——0-1背包問題

TAG:科技優家 |

您可能感興趣

ElectronMail:ProtonMail 和 Tutanota 的桌面客戶端
springclould feign客戶端添加全局參數
Foxmail for Mac客戶端設置
Twitter 決定撤下 Android TV,Roku 和 Xbox 三個平台的客戶端
SSH客戶端神器MobaXterm,該拋棄putty、Xshell和CRT了
Spring Cloud客戶端負載均衡Ribbon筆記
Identity Server 4-Hybrid Flow-MVC客戶端身份驗證
Spring Cloud Security+OAuth2+SSO快速上手-客戶端
Genesis Markets和LMAX Digital達成合作 提升客戶加密交易服務
使命召喚:Black Ops 4 Beta將向Xfinity客戶開放
Bitcoin Unlimited發布BCH新版客戶端
Lemnisk與Infosys Finacle合作增加金融推廣商客戶轉化率
win10如何開啟Windows功能中的Telnet客戶端
BitTorrent 客戶端 Deluge 2.0 發布:新功能介紹
NetCore2.1 WebAPI 根據swagger.json自動生成客戶端代碼
Bigelow Aerospace的新公司將為其太空棲息艙尋找潛在客戶
微軟Xbox Game Pass for PC(Beta) 客戶端下載
Lumen,命令行形式的Stellar客戶端
ODrive:Linux 中的 Google 雲端硬碟圖形客戶端
Rimini Street憑藉出色的客戶服務榮獲四項Stevie金獎