k8s--安裝k8s集群

最近為了搭建自己的k8s集群筒狠,遇到好多問題,今天終于安裝成功了箱沦。故記錄下來辩恼,給需要的小伙伴參考。

安裝環(huán)境:
環(huán)境:ubuntu16.04
1個master
3個node

預(yù)先準(zhǔn)備:
(1)四臺ubuntu16.04版本的服務(wù)器(也可以是3,5臺)
(2)所有節(jié)點(diǎn)都是root登錄谓形,并在master節(jié)點(diǎn)上設(shè)置免密登錄灶伊,讓master節(jié)點(diǎn)能免密登錄到任何節(jié)點(diǎn)。至于如何免密登錄寒跳,請參考我的文章:ubuntu設(shè)置免密登錄

安裝步驟:
(1)安裝docker谁帕,【在所有節(jié)點(diǎn)上執(zhí)行】
執(zhí)行下面的腳本

#!/bin/bash
#SET UP THE REPOSITORY
apt-get remove docker docker-engine docker.io
apt-get update
apt-get install -y -q \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
#install docker
apt-get update && apt-get install docker-ce=18.06.0~ce~3-0~ubuntu

可能遇到的問題:安裝docker的時候可能會遇到問題,找不到docker-ce這個包
解決方法:apt-get upgrade
查看docker安裝是否成功:docker version

(2)安裝kubeadm, kubelet,kubectl 【在master節(jié)點(diǎn)執(zhí)行】
a. 下載k8s_ubuntu_deb.zip冯袍,這里是將kubeadm, kubelet,kubectl先下載下來本地安裝. 下載地址:https://github.com/zoux86/k8s/blob/master/k8s_ubuntu_deb.zip
b.然后在解壓后的目錄執(zhí)行下面的命令

#!/bin/bash
apt-get install -y -q socat ebtables ethtool
dpkg -i kubernetes-cni_0.5.1-00_amd64.deb
dpkg -i kubelet_1.8.7-00_amd64.deb
dpkg -i kubectl_1.8.7-00_amd64.deb
dpkg -i kubeadm_1.8.7-00_amd64.deb
systemctl enable kubelet
systemctl start kubelet

(3)提前獲取所需要的鏡像
由于被墻的原因碾牌。這里是提前從dockerhub上下載所需要的鏡像康愤,然后tag為google鏡像。執(zhí)行下面的命令:

#!/bin/bash
ufw disable
# 關(guān)閉swap,重啟后會失效舶吗,可加入到啟動腳本rc.local里
swapoff -a
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl -p /etc/sysctl.d/k8s.conf
# pull鏡像重新標(biāo)記tag
images=(kube-scheduler-amd64:v1.8.7 \
kube-apiserver-amd64:v1.8.7 \
kube-proxy-amd64:v1.8.7 \
kube-controller-manager-amd64:v1.8.7
etcd-amd64:3.0.17 \
pause-amd64:3.0 \
k8s-dns-sidecar-amd64:1.14.5 \
k8s-dns-kube-dns-amd64:1.14.5 \
k8s-dns-dnsmasq-nanny-amd64:1.14.5 \
kubernetes-dashboard-amd64:v1.8.1)
for imageName in ${images[@]} ; do
  docker pull andylo25/$imageName
  docker tag andylo25/$imageName gcr.io/google_containers/$imageName
  docker rmi andylo25/$imageName
done

(4)啟動集群征冷,master節(jié)點(diǎn)
kubeadm init --kubernetes-version=v1.8.7 --pod-network-cidr 10.244.0.0/16

初始化正常后會在最后的地方一個加入集群的提示命令:
如下:
kubeadm join --token 34fb5a.87ec418b32857c65 192.168.129.133:6443 --discovery-token-ca-cert-hash sha256:da4765f5721db7ed2130c265a71e849005f0334aeb821cd05ec9c9020e036919

(5)如果非root用戶下想使用kubelet,進(jìn)行下面的操作
切換到非root用戶下誓琼,然后執(zhí)行下面的命令:

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

到這一步可以使用 kubectl get pods -n kube-system
查看pod的情況检激,處理fannel節(jié)點(diǎn)不正常外,其他pod都是正常running的.
如果查看不成功腹侣,顯示拒絕訪問或者端口權(quán)限問題叔收,在命令行加入這個命令:
export KUBECONFIG=/etc/kubernetes/kubelet.conf
然后在使用kubectl命令。

(6) 安裝網(wǎng)絡(luò)插件

安裝cni插件flannel

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

注意:一定要使用v0.9.1傲隶。千萬不要使用https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml饺律,用這個會有問題,親測跺株。

這時候kubectl get pods -n kube-system复濒,會發(fā)現(xiàn)所有的pod都啟動起來了。

(7)向集群中加入node節(jié)點(diǎn) 【所有work節(jié)點(diǎn)上】
a.確保所有節(jié)點(diǎn)都安裝了docker
b. 解壓k8s_ubuntu_deb.zip乒省,在同級目錄下執(zhí)行下面的腳本

#!/bin/bash
ufw disable
# 關(guān)閉swap,重啟后會失效巧颈,可加入到啟動腳本rc.local里
swapoff -a
cat >> /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
sysctl -p /etc/sysctl.d/k8s.conf
# 安裝k8s相關(guān)軟件
apt-get install -y -q socat ebtables ethtool
dpkg -i kubernetes-cni_0.5.1-00_amd64.deb
dpkg -i kubelet_1.8.7-00_amd64.deb
dpkg -i kubectl_1.8.7-00_amd64.deb
dpkg -i kubeadm_1.8.7-00_amd64.deb
systemctl enable kubelet
systemctl start kubelet
# pull鏡像重新標(biāo)記tag
images=(kube-proxy-amd64:v1.8.7 \
pause-amd64:3.0 \
kubernetes-dashboard-amd64:1.8.1)
for imageName in ${images[@]} ; do
  docker pull andylo25/$imageName
  docker tag andylo25/$imageName gcr.io/google_containers/$imageName
  docker rmi andylo25/$imageName
done

c. # 執(zhí)行加入集群命令 【這個不要抄我的,用你主節(jié)點(diǎn)輸出的join命令】
kubeadm join --token 34fb5a.87ec418b32857c65 192.168.129.133:6443 --discovery-token-ca-cert-hash sha256:da4765f5721db7ed2130c265a71e849005f0334aeb821cd05ec9c9020e036919

等待一段時間袖扛,在master上執(zhí)行:
kubectl get node
kubectl get pods -n kube-system
會發(fā)現(xiàn)所有的節(jié)點(diǎn)已經(jīng)加入砸泛,并工作正常。

可能遇到的問題:
(1) 如果發(fā)現(xiàn)pod都是正常運(yùn)行的,node是 Ready,SchedulingDisabled 狀態(tài)
解決方法:kubectl uncordon node-ip
使用uncordon命令解除對node-ip機(jī)器的限制

其他問題可參考:
http://www.reibang.com/p/3f24b7207e57

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晾嘶,一起剝皮案震驚了整個濱河市妓雾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌垒迂,老刑警劉巖械姻,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異机断,居然都是意外死亡楷拳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門吏奸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欢揖,“玉大人,你說我怎么就攤上這事奋蔚∷欤” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵泊碑,是天一觀的道長坤按。 經(jīng)常有香客問我,道長馒过,這世上最難降的妖魔是什么臭脓? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮腹忽,結(jié)果婚禮上来累,老公的妹妹穿的比我還像新娘。我一直安慰自己窘奏,他們只是感情好嘹锁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著着裹,像睡著了一般兼耀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上求冷,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天瘤运,我揣著相機(jī)與錄音,去河邊找鬼匠题。 笑死拯坟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的韭山。 我是一名探鬼主播郁季,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冷溃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梦裂?” 一聲冷哼從身側(cè)響起似枕,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎年柠,沒想到半個月后凿歼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冗恨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年答憔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掀抹。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡虐拓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出傲武,到底是詐尸還是另有隱情蓉驹,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布揪利,位于F島的核電站戒幔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏土童。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一工坊、第九天 我趴在偏房一處隱蔽的房頂上張望献汗。 院中可真熱鬧,春花似錦王污、人聲如沸罢吃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尿招。三九已至,卻和暖如春阱驾,著一層夾襖步出監(jiān)牢的瞬間就谜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工里覆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丧荐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓喧枷,卻偏偏與公主長得像虹统,于是被迫代替她去往敵國和親弓坞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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