CentOS7 部署K8S集群(kubeadm方式)

部署規(guī)劃

192.168.65.11     k8s-master
192.168.65.12     k8s-node1
192.168.65.13     k8s-node2

備注:第1步~第8步沛慢,所有的節(jié)點(diǎn)都要操作,第9达布、10步Master節(jié)點(diǎn)操作团甲,第11步Node節(jié)點(diǎn)操作。 如果第9往枣、10伐庭、11步操作失敗,可以通過 kubeadm reset 命令來清理環(huán)境重新安裝分冈。

1.關(guān)閉防火墻

$ systemctl stop firewalld

備注:必須關(guān)閉
2.關(guān)閉selinux

$ setenforce 0

3.關(guān)閉swap

$ swapoff -a    臨時(shí)關(guān)閉
$ free             可以通過這個(gè)命令查看swap是否關(guān)閉了
$ vim /etc/fstab  永久關(guān)閉

備注:必須關(guān)閉

4.添加主機(jī)名與IP對(duì)應(yīng)的關(guān)系

$ vim /etc/hosts
 添加如下內(nèi)容:
192.168.38.11     k8s-master
192.168.38.12     k8s-node1
192.168.38.13     k8s-node2

5.將橋接的IPV4流量傳遞到iptables 的鏈

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

6.安裝Docker

1)下載并安裝
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7

2)配置鏡像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jnboye7q.mirror.aliyuncs.com"]
}
EOF

3)設(shè)置開機(jī)啟動(dòng)
$ systemctl enable docker
$ systemctl start docker

4)查看Docker版本
$ docker --version
Docker version 18.06.1-ce, build e68fc7a

7.添加阿里云YUM軟件源
直接執(zhí)行如下命令

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

8.安裝kubeadm圾另,kubelet和kubectl
在部署kubernetes時(shí),要求master node和worker node上的版本保持一致雕沉,否則會(huì)出現(xiàn)版本不匹配導(dǎo)致奇怪的問題出現(xiàn)集乔。本文將介紹如何在CentOS系統(tǒng)上,使用yum安裝指定版本的Kubernetes坡椒。
我們需要安裝指定版本的kubernetes扰路。那么如何做呢?在進(jìn)行yum安裝時(shí)倔叼,可以使用下列的格式來進(jìn)行安裝:

yum install -y kubelet-<version> kubectl-<version> kubeadm-<version>
$ yum install -y kubelet-1.13.3 kubectl-1.13.3 kubeadm-1.13.3 kubernetes-cni-1.13.3

如果出現(xiàn)如下提示:
錯(cuò)誤:軟件包:kubelet-1.13.3-0.x86_64 (kubernetes)
需要:kubernetes-cni = 0.6.0
可用: kubernetes-cni-0.3.0.1-0.07a8a2.x86_64 (kubernetes)
kubernetes-cni = 0.3.0.1-0.07a8a2
可用: kubernetes-cni-0.5.1-0.x86_64 (kubernetes)
kubernetes-cni = 0.5.1-0
可用: kubernetes-cni-0.5.1-1.x86_64 (kubernetes)
kubernetes-cni = 0.5.1-1
可用: kubernetes-cni-0.6.0-0.x86_64 (kubernetes)
kubernetes-cni = 0.6.0-0
正在安裝: kubernetes-cni-0.7.5-0.x86_64 (kubernetes)
kubernetes-cni = 0.7.5-0
您可以嘗試添加 --skip-broken 選項(xiàng)來解決該問題
您可以嘗試執(zhí)行:rpm -Va --nofiles --nodigest
只需要清除yum 緩存即可汗唱,然后再執(zhí)行安裝命令

$ yum clean all 

如果還不行,查看 https://blog.csdn.net/zqtsx/article/details/39207069
如果還不行丈攒,則直接安裝最新版的

$ yum makecache fast`
$ yum ``install` `-y kubelet kubeadm kubectl`

使用yum安裝程序時(shí)哩罪,提示xxx.rpm公鑰尚未安裝
使用 yum install xxx.rpm --nogpgcheck 命令格式跳過公鑰檢查,如下:

yum install cri-tools-1.12.0-0.x86_64 --nogpgcheck
yum install kubectl-1.14.1-0.x86_64 --nogpgcheck
yum install kubeadm-1.14.1-0.x86_64 --nogpgcheck
$ systemctl enable kubelet

9.部署Kubernetes Master

1)初始化kubeadm

kubeadm init \
--apiserver-advertise-address=192.168.65.11 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.16.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

當(dāng)出現(xiàn)如下結(jié)果巡验,表示初始化順利



建議至少2 cpu ,2G际插,非硬性要求,1cpu显设,1G也可以搭建起集群框弛。但是:1個(gè)cpu的話初始化master的時(shí)候會(huì)報(bào) [WARNING NumCPU]: the number of available CPUs 1 is less than the required 2部署插件或者pod時(shí)可能會(huì)報(bào)warning:FailedScheduling:Insufficient cpu, Insufficient memory如果出現(xiàn)這種提示,說明你的虛擬機(jī)分配的CPU為1核捕捂,需要重新設(shè)置虛擬機(jī)master節(jié)點(diǎn)內(nèi)核數(shù)瑟枫。

查看鏡像
$ docker images

2)使用kubectl工具
復(fù)制如下命令直接執(zhí)行

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config 

下面就可以直接使用kubectl命令了


10.安裝Pod網(wǎng)絡(luò)插件(CNI)

1)安裝插件

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

2)查看是否部署成功

$ kubectl get pods -n kube-system

3)再次查看node,可以看到狀態(tài)為ready



安裝失敗了指攒,怎么清理環(huán)境重新安裝傲Ψ堋?執(zhí)行一條命令:

$ kubeadm reset

11.Node節(jié)點(diǎn)加入集群

向集群添加新節(jié)點(diǎn)幽七,執(zhí)行在kubeadm init輸出的kubeadm join命令:
復(fù)制上面命令景殷,在node節(jié)點(diǎn)上執(zhí)行

kubeadm join 192.168.65.11:6443 --token sv94vt.uiuhhj4okyq44e4w \
    --discovery-token-ca-cert-hash sha256:7292a95f774a7ceab45ddc3bc334ba61df87e37a039a1a7d083c36476dfdf95c 

如果一直卡在 “Running pre-flight checks” 上,則很可能是時(shí)間未同步,token失效導(dǎo)致

第一步猿挚,檢查master咐旧、node時(shí)間是否同步?

$ date
執(zhí)行如下命令同步時(shí)間
$ ntpdate time.nist.gov

第二步:如果還有其它錯(cuò)誤如 Port 10250 is in use绩蜻,執(zhí)行如下命令

$ kubeadm reset
然后再重新執(zhí)行kubeadm join ... 操作
如果出現(xiàn)如下錯(cuò)誤提示:

1)更改docker的啟動(dòng)參數(shù)

$ vim /usr/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --exec-opt native.cgroupdriver=systemd

2)重啟docker

systemctl daemon-reload
systemctl restart docker

執(zhí)行成功后:


再通過master節(jié)點(diǎn)查看node铣墨,發(fā)現(xiàn)node節(jié)點(diǎn)已以成功加入集群,并且Status狀態(tài)為Ready

如果token忘記了办绝,則可以通過如下操作:
1)查看token伊约,如果token失效,則重新生成一個(gè)

$ kubeadm token list
$ kubeadm token create

2)獲取ca證書sha256編碼hash值

$ openssl x509 -pubkey -``in` `/etc/kubernetes/pki/ca``.crt | openssl rsa -pubin -outform der 2>``/dev/null` `| openssl dgst -sha256 -hex | ``sed` `'s/^.* //'

3)節(jié)點(diǎn)加入集群

kubeadm join 192.168.65.11:6443 --token sv94vt.uiuhhj4okyq44e4w \
    --discovery-token-ca-cert-hash sha256:7292a95f774a7ceab45ddc3bc334ba61df87e37a039a1a7d083c36476dfdf95c 

12.測(cè)試kubernetes集群

$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --``type``=NodePort
$ kubectl get pod,svc
`$ kubectl get pod,svc -o wide`

通過瀏覽器訪問:http://192.168.38.11:30328 可以正常訪問

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末孕蝉,一起剝皮案震驚了整個(gè)濱河市屡律,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌降淮,老刑警劉巖超埋,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異佳鳖,居然都是意外死亡霍殴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門系吩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來来庭,“玉大人,你說我怎么就攤上這事穿挨≡鲁冢” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵絮蒿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我叁鉴,道長(zhǎng)土涝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任幌墓,我火速辦了婚禮但壮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘常侣。我一直安慰自己蜡饵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布胳施。 她就那樣靜靜地躺著溯祸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上焦辅,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天博杖,我揣著相機(jī)與錄音,去河邊找鬼筷登。 笑死剃根,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的前方。 我是一名探鬼主播狈醉,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼惠险!你這毒婦竟也來了苗傅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤莺匠,失蹤者是張志新(化名)和其女友劉穎金吗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趣竣,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摇庙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遥缕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卫袒。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖单匣,靈堂內(nèi)的尸體忽然破棺而出夕凝,到底是詐尸還是另有隱情,我是刑警寧澤户秤,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布码秉,位于F島的核電站,受9級(jí)特大地震影響鸡号,放射性物質(zhì)發(fā)生泄漏转砖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一鲸伴、第九天 我趴在偏房一處隱蔽的房頂上張望府蔗。 院中可真熱鬧,春花似錦汞窗、人聲如沸姓赤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽不铆。三九已至蝌焚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間狂男,已是汗流浹背综看。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岖食,地道東北人红碑。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像泡垃,于是被迫代替她去往敵國(guó)和親析珊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 軟硬件要求 軟硬件最低配置推薦配置CPU 和 內(nèi)存Master:至少2核4G蔑穴、Node:至少4核16GMaster...
    6ea566508d0d閱讀 4,321評(píng)論 0 0
  • 版權(quán)聲明:原創(chuàng)作品忠寻,謝絕轉(zhuǎn)載!否則將追究法律責(zé)任存和。 前言 最近中國(guó)和印度的局勢(shì)也是愈演愈烈奕剃。作為一個(gè)愛國(guó)青年我有些...
    李偉銘MIng閱讀 2,071評(píng)論 0 5
  • 本文將在虛擬機(jī)上通過kubeadm和相關(guān)工具安裝Kubernetes集群v1.13.2。以下為環(huán)境配置: Win1...
    Ovenvan考研停更閱讀 1,583評(píng)論 0 6
  • 秋天捐腿,藍(lán)藍(lán)的天纵朋,陽光照在身上。涼風(fēng)吹過來茄袖,背后有寒意了操软。記不清的人和事,象老膠片宪祥,只有磨花了的底片聂薪,洗印不出原來的...
    我這半輩子閱讀 359評(píng)論 3 4
  • 曾經(jīng)再好,也走不回去蝗羊, 未來再難藏澳,也要自己走過去。 沒有人能煩惱你耀找, 除非你自己來煩惱自己翔悠; 沒有放不下的事情, ...
    內(nèi)蒙三毛_db22閱讀 68評(píng)論 0 1