1. 程式人生 > >ansible安裝k8s步驟及注意事項(線上安裝)

ansible安裝k8s步驟及注意事項(線上安裝)

以下步驟都經本人實測,可以完美執行。

官方參考網址:https://github.com/gjmzj/kubeasz/

Ansible瞭解

ansible是個什麼東西呢?官方的title是“Ansibleis Simple IT Automation”——簡單的自動化IT工具。這個工具的目標有這麼幾項:

自動化部署APP

自動化管理配置項;

自動化的持續互動;

自動化的(AWS)雲服務管理;

所有的這幾個目標從本質上來說都是在一個臺或者幾臺伺服器上,執行一系列的命令而已。通俗的說就是批量的在遠端伺服器上執行命令。當然,最主要的是它是基於 paramiko 開發的。這個paramiko是什麼呢?它是一個純Python實現的

ssh協議庫。因此fabricansible還有一個共同點就是不需要在遠端主機上安裝client/agents,因為它們是基於ssh來和遠端主機通訊的。


由上面的圖可以看到 Ansible 的組成由 5 個部分組成:

Ansible 核心

Modules 包括 Ansible 自帶的核心模組及自定義模組

Plugins 完成模組功能的補充,包括連線外掛、郵件外掛等

Playbooks 劇本;定義 Ansible 多工配置檔案,由Ansible 自動執行

Inventory 定義 Ansible 管理主機的清單

安裝k8s

1.        安裝依賴工具

# 文件中指令碼預設均以root使用者執行# 安裝 epel 源並更新
yum install epel-release –y(最好每臺機器裝一下)
yum install net-tools
yum update# 刪除不要的預設安裝
yum erase firewalld firewalld-filesystem python-firewall -y# 安裝python
yum install python -y

2.        安裝ansible

# CentOS 7
yum install git python-pip -y# pip安裝ansible(國內如果安裝太慢可以直接用pip阿里雲加速)#pip install pip --upgrade#pip install ansible
pip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install --no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

3.   在deploy節點配置免密碼登陸

ssh-keygen -t rsa -b 2048 回車 回車 回車
ssh-copy-id $IPs #$IPs為所有節點地址包括自身,按照提示輸入yes root密碼
(即使是本機也需要配置)

4.   在deploy節點編排k8s安裝

# 下載專案檔案
git clone https://github.com/gjmzj/kubeasz.git
mv kubeasz /etc/ansible# 下載已打包好的binaries,並且解壓縮到/etc/ansible/bin目錄# 國內請從我分享的百度雲連結下載 https://pan.baidu.com/s/1c4RFaA # 如果你有合適網路環境也可以按照/down/download.sh自行從官網下載各種tar包到 ./down目錄,並執行download.sh
tar zxvf k8s.191.tar.gz
mv bin/* /etc/ansible/bin
cd /etc/ansible
cp example/hosts.m-masters.example hosts# 根據上文實際規劃修改此hosts檔案
vi hosts
  • 驗證ansible安裝

在deploy 節點使用如下命令

ansible all -m ping

如果配置正確可以看到類似輸出:

192.168.1.42 | SUCCESS => {
"changed": false, 
"failed": false, 
"ping": "pong"
}
192.168.1.43 | SUCCESS => {
"changed": false, 
"failed": false, 
"ping": "pong"
}
192.168.1.44 | SUCCESS => {
"changed": false, 
"failed": false, 
"ping": "pong"
}

5.   安裝叢集

注意:

1)如何重複安裝時,注意在執行完解除安裝命令後,將/etc/kubernetes目錄刪除

2)安裝02.etcd時往往不能夠一次性成功安裝,如何執行過程中有錯誤應執行第二遍02.etcd.yml(不管使用90.setup.yml或是02.etcd.yml安裝)

#ansible-playbook 01.prepare.yml
#ansible-playbook 02.etcd.yml
#ansible-playbook 03.kubectl.yml
#ansible-playbook 04.docker.yml
#ansible-playbook 05.kube-master.yml
#ansible-playbook 06.kube-node.yml
#ansible-playbook 07.calico.yml 或者 ansible-playbook 07.flannel.yml 只能選擇一種網路外掛
#ansible-playbook 90.setup.yml # 一步安裝
#ansible-playbook 99.clean.yml # 一步安裝
source /etc/profile(環境變數設定未生效,kubectl工具不能使用)

自動安裝時沒有環境變數,需要source一下;

單主單節點

發現問題:ansible1.8在重新安裝並沒有完全刪除掉/etc/kubernetes中的東西,1.9沒啥問題,所以1.8需要將/etc/kubernetes中的東西全部刪掉再執行;否則在安裝06node時csr驗證會報錯。

還有裝02.etcd時配置檔案讀不到的問題,執行兩次就好了;

ansible 1.9沒有問題

2.安裝DNS/dashboard時,注意dashboard-controller.yamldeployment的版本為extensions/v1beta1

規律,可以先執行90.setup,然後執行2.etcd

解除安裝的時候注意刪除掉/etc/kubernetes目錄

注意:api-server是以https(使用者名稱密碼啟動的),所以最後需要為使用者配置角色才可以通過url進行訪問:

繫結api-server的許可權(否則是註冊不上的)

kubectlcreate clusterrolebinding kubelet-node-clusterbinding1 --clusterrole=cluster-admin--user=admin



相關推薦

ansible安裝k8s步驟注意事項線上安裝

以下步驟都經本人實測,可以完美執行。官方參考網址:https://github.com/gjmzj/kubeasz/Ansible瞭解ansible是個什麼東西呢?官方的title是“Ansibleis

ansible安裝k8s步驟注意事項離線安裝

依賴包網址:1.在所有部署節點上搭建私有yum源①新建mkdir/media/Packages複製ansible_offline_Packages下的所有rpm到yum源目錄下/mdeia/Packages。②上傳createrepo包,使用rpm命令手動安裝createre

一步步安裝k8s步驟注意事項

具體的安裝步驟就不提了,這兒主要提一下安裝過程中遇到的坑和注意事項。參考:1.etcd叢集安裝時,注意關閉防火牆2..kube/config需要授權3,kubectl得在apiserver裝完之後才能使用,被誤導了4.注意修改kubelet中的映象5.exec執行時:Erro

android APP整合系統詳細步驟注意事項amlogic平臺

此說明用於amlogic平臺整合不簽名的apk。(如何判斷整合的apk需不需要簽名。簡單來說使用U盤安裝後,能正常開啟使用的就可以不簽名方式整合。) 各平臺的檔案系統有差異,但整體大同小異。其他平臺

重灌系統後,重新安裝ORACLE加環境變數配置、客戶端PL/SQL的安裝過程,注意事項避免再次踩坑

(1)首先了解什麼是OERACLE及Oracle與PL/SQL是什麼關係: ORACLE是資料庫,有客戶端和伺服器; PLSQL Developer只是第三方工具,服務於ORACLE,類似的工具還有Toad,sqlplus,sql developer等等; 安裝PLSQL Developer

關於CDH5安裝步驟注意事項

注:此為hadoop CDH5.11離線安裝 一、準備 安裝所需檔案 1 官網下載Cloudera Manager和CDH 5.11 Cloudera Manager下載地址:http://archive.cloudera.com/cm5/cm/5/ cloudera-

sql查詢語句的書寫順序、執行順序注意事項優化策略

查詢中用到的關鍵詞主要由6個,分別是:select、from、where、group by、having、order by書寫順序:順序與上一行一致。不過其中select和from為必須,其他關鍵詞是可選執行順序:from、where、group by、having、sele

vatic—視訊標註工具安裝出現error注意事項

1.安裝參考:(主要看的CSDN部落格) 部落格 https://blog.csdn.net/baidu_26788951/article/details/80053760 官網 Github:https://github.com/cvondrick/vatic 2.安裝注意: 兩個

Ubuntu下protobuf的安裝、編譯注意事項

Ubuntu下編譯protobuf 1.下載protobuf 下載地址:https://github.com/google/protobuf/releases 2.編譯protobuf 解壓下載的zip包,cd到protobuf的目錄下,執行以下指令: tar -xvf pro

NOIP普及組板子注意事項wyc&&xxy給學弟們的禮物

轉載至:xxy https://blog.csdn.net/xuxiayang/ 和 wyc https://blog.csdn.net/mr_wuyongcong/ 板子們 //01揹包模版 #include<cstdio> using namespace std

ASP.net 網站釋出步驟注意事項

1、用VS2013開啟解決方案。      2、選中解決方案,點選滑鼠“右鍵”—>從彈出對話方塊中,選擇“清理解決方案”。 3、待第2步“清理解決方案”結束後,選中“解決方案”—>點選滑鼠“右鍵”—>在彈出對話方塊中,選擇“重新生

開源部落格Solo安裝詳細教程注意事項

本文首發自個人部落格:https://blog.smile13.com/articles/2018/11/26/1543245616207.html 1.下載編譯好的solo的war包 下載地址:https://github.com/b3log/solo/releases

Spring boot 整合mybatis通用mapper配置步驟注意事項

一、新增依賴 二、繼承通用mapper,可以重寫和選擇需要的mapper方法,可以去掉一些不需要的方法(一般直接繼承即可) Mapper3提供的全部的方法,可以檢視Mapper3通用介面大全 三、application.properties配置 四、設定dao路徑 在

JavaScript之ES6中解構原理注意事項陣列和物件

//ES6中的解構原理(常用型別):   //陣列解構: //陣列的元素是按次序排列的,變數的取值由它的位置決定; let [a,b,c] = [1,2,3]; console.log(a,b,c) //結果為: 1,2,3;   //物件解構變數同名(

node.js 整合 ueditor 步驟注意事項

這裡是我費了一天的心思總算成功的搞好了 node.js 與 ueditor 整合的過程。做一個小白真難啊,非摸著石頭過河。今天心好累,要多說一點廢話。完成這個內容之前,首先你得保證你引用ueditor的介面在 nodejs 專案中。以我的介面為例,就在 myapp/publi

maven執行ssh三大框架+oracle資料庫的一般步驟注意事項

maven執行ssh框架一般步驟: (一)建立父工程(maven project)ssh_parent(pom) 1、配置pom.xml。 2、maven的倉庫有三種:本地倉庫、私服、中央倉庫,程式執

Android開發步驟注意事項

1,在Activity中實現Activity的宣告週期方法。 onCreate() onDestroy() 2,繼承Application實現自定義生命週期管理 import java.util.Stack; import android.app.Activity; im

JDK1.7安裝和配置注意事項

要求 必備知識 windows 7 基本操作。 執行環境 windows 7 下載地址 環境下載 下載JDK 關於版本選擇需要注意的問題: 如果eclipse安裝的是32位的,則JDK也應該裝Windows x86(32位)的;如果ec

windows伺服器安裝sftp 教程注意事項

本教程是寫給像我一樣的菜鳥看的,本教程中的安裝軟體已經上傳到我的資源,如有需要,可放心下載。 一:安裝 1、雙擊下載好的freedsshd.exe程式進行安裝,安裝時預設下一步即可。注意 最後兩部彈出對話方塊是否需要生成私鑰和是否設定為系統服務時,選擇是即可。 由於c

新手建網站的步驟注意事項

        建網站是指因特網上一塊固定的面向全世界釋出訊息的地方,建網站由(也就是網站地址)、程式和網站空間構成,通常包括主頁和其他具有超連結檔案的頁面。網站是一種通訊工具,就像布告欄一樣,人們可以通過網站來發布自己想要公開的資訊,或者利用網站來提供相關的網路服務。人們