kubeadm 安裝 kubernetes 集群

kubeadm 的引入極大的簡化了 kubernetes 集群的安裝步驟钠龙。以下步驟已在騰訊云上進(jìn)行驗(yàn)證悴灵,希望能對(duì)大家有所幫助。

環(huán)境準(zhǔn)備

centos7.2

切換 k8s yum 源

vim /etc/yum.repos.d/kubernetes.repo
# 寫入以下內(nèi)容
[kuberneten]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

緩存生效:

yum makecache

安裝 kubeadm 和相關(guān)工具

yum install -y docker kubelet kubeadm kubectl kubernetes-cni

以下是我的安裝版本:

安裝版本

查看安裝的版本:

kubectl version
kubectl version

啟動(dòng) docker 和 kubelet 服務(wù):

systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet

下載相關(guān)鏡像

kubeadm 默認(rèn)下載的鏡像都是在 gcr.io 上的,國內(nèi)的網(wǎng)絡(luò)環(huán)境不能訪問塘秦,我們可以先下下來建蹄,然后自己打tag碌更。

# 查看 kubeadm 會(huì)用到的鏡像(以 1.11.3 為例)
kubeadm config images list
kubeadm config images list

使用如下命令拉取鏡像,并打tag洞慎。

docker pull docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.11.3
docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.11.3 k8s.gcr.io/kube-apiserver-amd64:v1.11.3

docker pull docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.11.3
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.11.3 k8s.gcr.io/kube-controller-manager-amd64:v1.11.3

docker pull docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.11.3
docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.11.3 k8s.gcr.io/kube-scheduler-amd64:v1.11.3

docker pull docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.11.3
docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.11.3 k8s.gcr.io/kube-proxy-amd64:v1.11.3

docker pull docker.io/mirrorgooglecontainers/pause-amd64:3.1
docker tag docker.io/mirrorgooglecontainers/pause-amd64:3.1 k8s.gcr.io/pause:3.1

docker pull docker.io/mirrorgooglecontainers/etcd-amd64:3.2.18
docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18

docker pull docker.io/coredns/coredns:1.1.3
docker tag docker.io/coredns/coredns:1.1.3 k8s.gcr.io/coredns:1.1.3

初始化

kubeadm init  --kubernetes-version=1.11.3  --pod-network-cidr=10.244.0.0/16

看到如下信息痛单,表明已經(jīng)安裝成功。

kubeadm init

執(zhí)行下面的命令進(jìn)行配置:

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

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

執(zhí)行 kubectl get node 命令劲腿,發(fā)現(xiàn) master 節(jié)點(diǎn)的狀態(tài)為 NotReady旭绒。我們需要安裝 cni 網(wǎng)絡(luò)插件。

# 請(qǐng)注意 flannel 的版本問題
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/c5d10c8/Documentation/kube-flannel.yml

其他的網(wǎng)絡(luò)插件安裝方法可以參見 k8s 官網(wǎng) 或者 這篇文章

安裝 Node焦人,加入集群

新節(jié)點(diǎn)的環(huán)境安裝挥吵,可以參見本文的 安裝 kubeadm 和相關(guān)工具 一節(jié)。
在節(jié)點(diǎn)上執(zhí)行花椭,以加入集群:

# 注意把 YOURIP忽匈、YOURTOKEN、YOURHASH 替換成自己的
# 具體命令可以參見 kubeadm init 之后最后一行的輸出
kubeadm join YOURIP --token YOURTOKEN --discovery-token-ca-cert-hash YOURHASH

Master 節(jié)點(diǎn)默認(rèn)不參與工作負(fù)載矿辽,可以執(zhí)行下面的命令來搭建一個(gè) all-in-one 的 kubernetes 環(huán)境丹允。

kubectl taint nodes --all node-role.kubernetes.io/master-

執(zhí)行 kubectl get nodes 可以查看節(jié)點(diǎn)狀態(tài)。

可能遇到的問題

1. hostname

在執(zhí)行 kubeadm config images list 或者 kubeadm init 的時(shí)候可能會(huì)遇見下面的錯(cuò)誤:

name: Invalid value: "vm_0_8_centos": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

原因是 hostname 和 DNS 的解析規(guī)則不匹配袋倔,改掉自己的hostname就好了雕蔽。

2. kubeadm init

在 執(zhí)行 kubeadm init 的時(shí)候可能會(huì)遇到下面的問題:

No internet connection is available so the kubelet cannot pull or find the following control plane images:

原因是不能從 k8s.gcr.io 上拉取到鏡像,可以參見前面拉取鏡像的命令宾娜。
如果本地已經(jīng)有需要的鏡像批狐,并且已經(jīng)打好正確的 tag,仍然出現(xiàn)上面的問題碳默。一個(gè)可能的原因是:在宿主機(jī)上開啟了代理(ss 等)贾陷,關(guān)掉就好了。

3. kube-flannel

可能會(huì)出現(xiàn) kube-flannel CrashLoopBackOff 的錯(cuò)誤嘱根,筆者遇到的情況是 flannel 的版本不對(duì)髓废,修正后就好了。

參考文章

  1. 《kubernetes 權(quán)威指南》
  2. https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末该抒,一起剝皮案震驚了整個(gè)濱河市慌洪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖冈爹,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涌攻,死亡現(xiàn)場離奇詭異,居然都是意外死亡频伤,警方通過查閱死者的電腦和手機(jī)恳谎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來憋肖,“玉大人因痛,你說我怎么就攤上這事“陡” “怎么了鸵膏?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怎炊。 經(jīng)常有香客問我谭企,道長,這世上最難降的妖魔是什么评肆? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任债查,我火速辦了婚禮,結(jié)果婚禮上瓜挽,老公的妹妹穿的比我還像新娘攀操。我一直安慰自己,他們只是感情好秸抚,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歹垫,像睡著了一般剥汤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上排惨,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天吭敢,我揣著相機(jī)與錄音,去河邊找鬼暮芭。 笑死鹿驼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的辕宏。 我是一名探鬼主播畜晰,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼瑞筐!你這毒婦竟也來了凄鼻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎块蚌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體财松,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辆毡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了访锻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片期犬。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡龟虎,死狀恐怖沙庐,靈堂內(nèi)的尸體忽然破棺而出拱雏,到底是詐尸還是另有隱情,我是刑警寧澤贡耽,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站滥嘴,受9級(jí)特大地震影響至耻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜意系,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一蛔添、第九天 我趴在偏房一處隱蔽的房頂上張望迎瞧。 院中可真熱鬧凶硅,春花似錦足绅、人聲如沸韩脑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽觉啊。三九已至柄延,卻和暖如春搜吧,著一層夾襖步出監(jiān)牢的瞬間杨凑,已是汗流浹背撩满。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忌锯,地道東北人偶垮。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓似舵,卻偏偏與公主長得像砚哗,于是被迫代替她去往敵國和親蛛芥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子常空,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

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

  • 1. 組件版本和配置策略 組件版本: Kubernetes 1.10.4 Docker 18.03.1-ce Et...
    Anson前行閱讀 5,764評(píng)論 0 11
  • 介紹 在上一期HA k8s搭建介紹有說到烘嘱,目前有兩種比較火的HA集群蝇庭,那么今天我們來說說第二種哮内,也是目前比較主流的...
    我的橙子很甜閱讀 4,874評(píng)論 5 2
  • 時(shí)隔大半年纹因,我又回來了琳拨,這回帶來的是最近非秤樱火的容器編排工具——kubernetes 先附上docker 官網(wǎng)和k...
    我的橙子很甜閱讀 13,194評(píng)論 2 79
  • 添加素材 一颜启、父子關(guān)系 對(duì)象組->頁面,子對(duì)象可以疊加在父對(duì)象 二、層級(jí)順序 三社搅、容器 四乳规、頁面 五暮的、常用快捷鍵 ...
    Serene33閱讀 391評(píng)論 0 0