centos7安裝kubernetes1.9集群

 節點規劃

本次選用一個master節點,三個node節點來安裝k8s集群。  

節點IP
M010.xx.xx.xx
N010.xx.xx.xx
N110.xx.xx.xx
N210.xx.xx.xx

集群啟動前的準備(請用root用戶執行)

節點準備工作(在每臺機器上執行)

包括修改主機名,關閉防火墻等操作。  
k8s集群會識別主機名字,確保每個主機名設為不同值。  
關閉防火墻是為了避免不必要的網絡問題。  

# ${hostname}變量請替換成規劃的主機名,比如M0, N0, N1sudo hostnamectl set-hostname ${hostname}
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i -re '/^\s*SELINUX=/s/^/#/' -e '$i\\SELINUX=disabled'  /etc/selinux/config
  • 然后建立ssh的相互連接,方便后面傳文件什么的。可以使用ssh-copy-id命令,也可以自己添加認證。這個網上教程很多,自己搜一下  

安裝docker(在每臺機器上執行)

yum install docker -y
systemctl enable docker && systemctl start docker

安裝kubeadm, kubelet, kubectl(每臺機器上執行)

  • kubeadm: 快速創建k8s集群的工具
  • kubelet: k8s的基礎組件,負責對pod和container的創建和管理,與k8s集群master建立聯系
  • kubectl: k8s的客戶端工具,用來像集群發送命名
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOFyum install -y kubelet kubeadm kubectl

官網文檔上寫一些用戶在RHEL/Centos7系統上安裝時,由于iptables被繞過導致路由錯誤,需要在
sysctl的config文件中將net.bridge.bridge-nf-call-iptables設置為1.

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

啟動kubelet:

systemctl enable kubelet && systemctl start kubelet

至此,準備工作就做好了。目前每隔幾秒kubelet就會重啟,直到收到kubeadm的命令。  
所以用systemctl status kubelet看到kubelet沒有啟動是正常現象,可以多執行幾次查看,就會發現kubelet處于不斷停止和重啟的狀態.


使用kubeadm工具創建kubernetes集群

kubeadm是k8s官方提供的工具,可以簡單的創建一個安全可擴展的k8s集群。
在執行下面的操作之前,請確保前面的準備工作已經做完。特別是kubelet已經安裝和啟動,kubeadm已經安裝完成

啟動集群

  1. 啟動master
    在master節點執行以下操作,并導出KUBECONFIG配置文件到環境變量:
    記錄下kubeadm init的輸出信息,后面將會用到

    # --pod-network-cidr=192.168.0.0/1參數是為了后面啟動networ的Calico   pod做準備kubeadm init --pod-network-cidr=192.168.0.0/16
    export KUBECONFIG=/etc/kubernetes/admin.conf
  2. 安裝啟動一個network的pod,這里選用Calico.
    在啟動任何pod之前,必須先啟動一個network的pod, 用于pod之間的通信 

    kubectl apply -f https://docs.projectcalico.org/v2.6/getting-
    started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml
  3. 添加node節點到master(在每臺node上執行以下命令)
    當執行玩kubeadm init后會輸出以下信息,直接復制執行就可以了  

    kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-
    hash sha256:<hash>

    至此為止k8s集群就建好了,可以在master節點輸出kubectl get nodes查看

  4. 在非master節點管理集群(可選)  
    如果不執行這個操作,只能在master節點來管理集群。
    把master節點的admin.conf配置文件復制到nodes節點當中去,就能在node節點來管理集群了。

    scp /etc/kubernetes/admin.conf root@10.5.30.82:/etc/kubernetes/
    export KUBECONFIG=/etc/kubernetes/admin.conf
  5. 將API服務代理到localhost(可選)
    這個很好理解,執行 kubectl --kubeconfig proxy命令,也是要使用admin.conf的權限,直接復
    制官方文檔:
    if you want to connect to the API Server from outside the cluster you can use
    kubectl proxy:

    scp root@<master ip>:/etc/kubernetes/admin.conf .
    kubectl --kubeconfig ./admin.conf proxy

    You can now access the API Server locally at http://localhost:8001/api/v1

刪除集群

在我們安裝k8s集群時,可能會出現問題,需要重新安裝。  
在我們重新執行安裝步驟之前,必須要先銷毀我們建立好的k8s集群,在master節點下執行以下命令。  

# 先移除集群的node節點
kubectl drain <node name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name># 然后重置kubeadm狀態
kubeadm reset

我完全按照官方文檔安裝執行,沒有遇到問題. 如果你在安裝過程中遇到問題,請參考下面官方的故障排除文檔和安裝文檔。   
故障排除:Troubleshooting Kubeadm
安裝文檔:Using kubeadm to create a cluster

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539428.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539428.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539428.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle中查詢某張表的大小

select sum(bytes)/1024/1024 "表大小(M)" from user_segments where segment_nametable_name;--注&#xff0c;僅表數據的大小&#xff0c;不含索引、分區、LOB類型 select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name having Segm…

python圖像分割算法_OpenCV-Python 圖像分割與Watershed算法 | 三十四

目標 在本章中&#xff0c; 我們將學習使用分水嶺算法實現基于標記的圖像分割 我們將看到&#xff1a;cv.watershed() 理論 任何灰度圖像都可以看作是一個地形表面&#xff0c;其中高強度表示山峰&#xff0c;低強度表示山谷。你開始用不同顏色的水(標簽)填充每個孤立的山谷(局…

linux dns 問題嗎,Linux下DNS的問題

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓Nov 9 06:36:22 BJ-linux kernel: end_request: I/O error, dev fd0, sector 0Nov 9 06:36:22 BJ-linux kernel: end_request: I/O error, dev fd0, sector 0Nov 9 06:37:06 BJ-linux system-config-network[4031]: - //etc/…

NEO從源碼分析看共識協議

2019獨角獸企業重金招聘Python工程師標準>>> 0x00 概論 不同于比特幣使用的工作量證明&#xff08;PoW&#xff09;來實現共識&#xff0c;NEO提出了DBFT共識算法。DBFT改良自股權證明算法&#xff08;PoS&#xff09;&#xff0c;我沒有具體分析過PoS的源碼&#x…

oracle實現id自增和設置主鍵

1、關于主鍵&#xff1a;在建表時指定primary key字句即可&#xff1a; create table test( id number(6) primary key, name varchar2(30) ); 如果是對于已經建好的表&#xff0c;想增加主鍵約束&#xff0c;則類似語法&#xff1a; alter table test add constraint p…

python scrapy框架基如何實現多線程_Python實現在線程里運行scrapy的方法

本文實例講述了Python實現在線程里運行scrapy的方法。分享給大家供大家參考。具體如下&#xff1a; 如果你希望在一個寫好的程序里調用scrapy&#xff0c;就可以通過下面的代碼&#xff0c;讓scrapy運行在一個線程里。 """ Code to run Scrapy crawler in a thr…

怎樣在linux系統上安裝r,Linux系統之路——如何在CentOS7.2安裝R(示例代碼)

使用ubuntu的小伙伴們直接使用命令sudo apt-get installr-base-dev或者r-base搞定。然而對于使用centos的我卻一直卡在安裝這一步&#xff0c;十分的悲催&#xff0c;只有羨慕的份&#xff0c;但也不至于在linux上使用不上R。辦法還是有的&#xff0c;自己總結出兩種方法&#…

自定義實現棧的功能

棧的定義&#xff1a;棧是一個數據集合&#xff0c;我們可以吧它理解為是一個只能在一端進行插入或者刪除的列表。棧的特點&#xff1a;先進后出 Stack() 建立一個空的棧對象push() 吧一個元素添加到棧的最頂層pop() 刪除棧最頂層的元素&#xff0c;并返回這個元素gettop() 取棧…

mybatis循環map的一些技巧

<foreach>標簽的用法&#xff1a; 六個參數&#xff1a; collection&#xff1a;要循環的集合 index&#xff1a;循環索引&#xff08;不知道啥用。。&#xff09; item&#xff1a;集合中的一個元素&#xff08;item和collection&#xff0c;按foreach循環理解&#xff…

linux部署node web,nodejs怎么部署到Linux上?

nodejs怎么部署到Linux上&#xff1f;下面本篇文章就來給大家介紹一下在Linux上部署nodejs的方法&#xff0c;希望對大家有所幫助。nodejs部署到Linux上的方法如下&#xff1a;(建議先安裝xshell和xftp)1、到nodejs官網下載壓縮包(選擇合適自己系統的版本)&#xff0c;放到Linu…

python樹莓派 是什么_用樹莓派和Python給你的植物澆水

我想指出&#xff0c;我絕不是電子學專家。如果你讓我制作一個電路圖或者解釋某件電子產品工作原理的細節&#xff0c;我會一無所知。在生活中&#xff0c;我對電力的工作原理有了基本的了解&#xff0c;我只是胡亂擺弄了一下電子元件就完成了這個工程。話雖如此&#xff0c;當…

htmlspecialchars() 函數過濾XSS的問題

htmlspecialchars()函數的功能如下&#xff1a; htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體。 預定義的字符是&#xff1a; & &#xff08;和號&#xff09;成為 &" &#xff08;雙引號&#xff09;成為 " &#xff08;單引號&#xff09;成為 …

c語言中 字母對應的數值,C語言編程:求下式中每個字母所代表的數字

編寫程序求解下式中各字母所代表的數字&#xff0c;不同的字母代表不同的數字。PEAR- ARA PEA*問題分析與算法設計類似的問題從計算機算法的角度來說是比較簡單的&#xff0c;可以采用最常見的窮舉方法解決。程序中采用循環窮舉每個字母所可能代表的數字&#xff0c;然后將字母…

用mac的python寫網絡爬蟲_在mac下使用python抓取數據

2015已經過去&#xff0c;這是2016的第一篇博文&#xff01; 祝大家新年快樂&#xff01; 但是我還有好多期末考試&#xff01; 還沒開始復習&#xff0c;唉&#xff0c;一把辛酸淚&#xff01; 最近看了一遍彥祖的文章叫做 所以自己也想小試牛刀.于是便開始動手寫,但初次接觸,…

運輸配送信息Delivery_Information

為什么80%的碼農都做不了架構師&#xff1f;>>> 運輸配送信息Delivery_Information 金銀倉會選用以下運輸公司&#xff0c;為客戶配送磁磚傢俬潔具&#xff1a; 佛山冠昌達中港運輸&#xff08;散貨或包車&#xff0c;近佛山石灣的磁磚倉庫&#xff0c;近樂從傢俬城…

linux的 dev vdal,RAZVOJ DELA NA DALJAVO V SLOVENIJI

摘要&#xff1a;V diplomskem delu bomo raziskovali razvoj dela na daljavo v Sloveniji. Na? poglavitni cilj je prikazati ?irjenje teledela v Sloveniji. Drugod po Evropi se ?e vrsto let uveljavlja tudi ta vrsta opravljanja dela, pri nas pa manj. O tem lah…

Spring+SpringMVC+Mybatis 多數據源整合

原文地址&#xff1a;http://blog.csdn.net/q908555281/article/details/50316137 ----------------------------------- 此篇文章是基于Spring3.0和mybatis3.2的總體大概流程 &#xff1a;1. 拷貝所需jar 2.寫一個數據庫切換的工具類&#xff1a;DataSourceContextHolder&am…

查看mysql sql執行器優化后的sql

EXPLAIN EXTENDED select s.* from student s where s.sid in ( select sid from sc where sc.cid 0 and sc.score 100); show WARNINGS;

git ssh拉取代碼_win10下git初始安裝及配置工作

git安裝從https://git-scm.com/https://git-scm.com/download/win 中下載安裝包&#xff0c;點擊exe文件運行&#xff0c;選擇安裝路徑即可安裝。git配置初次運行git前的配置&#xff0c;新建文件夾1、 新建一個文件夾&#xff0c;用來存放代碼的文件夾---2、 打開文件夾&#…

用ABAP 生成二維碼 QR Code

除了使用我的這篇blogStep by step to create QRCode in ABAP Webdynpro提到的使用ABAP webdynpro生成二維碼之外&#xff0c;也可以通過使用二維碼在線生成網站提供的service來生成二維碼。 二維碼在線生成網站&#xff1a; www.makepic.com/qrcode.php 在網頁上輸入要生成的二…