您好,登錄后才能下訂單哦!
小編給大家分享一下Kubernetes中單點(diǎn)集群安裝需要注意哪些坑,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
實(shí)際上,使用Kubernetes只需一個(gè)部署文件,使用一條命令就可以部署多層容器(前端,后臺(tái)等)的完整集群:
$ kubectl create -f single-config-file.yaml
接下來我們一起搭建單點(diǎn)集群:
實(shí)驗(yàn)環(huán)境:
坑一:
如果你是新手,建議使用全新的安裝環(huán)境,從網(wǎng)絡(luò)到y(tǒng)um源都是剛剛配置好的,這樣不容易出錯(cuò),要不然,稍有不慎就會(huì)一堆報(bào)錯(cuò),而你百度也百度不出來結(jié)果
第一步: 把/etc/yum.repos.d/ 文件夾下所有的文件移動(dòng)到/usr/local/benfei/ 文件夾下. 因?yàn)槲沂怯玫奶摂M機(jī),在操作的時(shí)候,我直接把文件刪除了(這個(gè)在生產(chǎn)環(huán)境下是不允許的,切記)
1 df -h
2 umount /dev/sr0 //這里是卸載開機(jī)自動(dòng)掛載的光驅(qū)
3 cd /etc/yum.repos.d/
4 ls
5 rm -rf ./*
第二步: 設(shè)置網(wǎng)絡(luò)yum源,然后進(jìn)行更新,設(shè)置緩存
7.wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
8 ls
9 yum update
10 yum makecache
第三步: 關(guān)閉防火墻,centos7默認(rèn)使用firewall為防火墻,而Kubernatesd Master與工作Node之間會(huì)有大量的網(wǎng)絡(luò)通信,安全的做法是在防火墻上配置各種需要相互通訊的端口號(hào),在一個(gè)安全的內(nèi)部網(wǎng)絡(luò)環(huán)境中可以關(guān)閉防火墻服務(wù)
11 systemctl disable firewalld.service
12 systemctl stop firewalld.service
第四步: 安裝etcd和kubernetes軟件,在安裝的時(shí)候docker就順帶安裝了.
13 yum install -y etcd kubernetes
第五步:配置修改
14 vim /etc/sysconfig/docker
將配置文件里OPTIONS 修改成如下圖所示的內(nèi)容
15 vim /etc/kubernetes/apiserver
此處將配置文件中的框起來的地方的ServiceAccount去掉
如果不去掉是會(huì)報(bào)錯(cuò)的
第六步: 按照如下步驟啟動(dòng)所有服務(wù),如果啟動(dòng)成功,不會(huì)有任何提示.
16 systemctl start etcd
17 systemctl start docker
18 systemctl start kube-apiserver.service
19 systemctl start kube-controller-manager.service
20 systemctl start kube-scheduler.service
21 systemctl start kubelet.service
22 systemctl start kube-proxy.service
現(xiàn)在一個(gè)單機(jī)版的K8S集群環(huán)境就安裝成功了,接下來我們就可以在這個(gè)單機(jī)版的集群中愉快的玩耍了.
[root@localhost yum.repos.d]# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 1h
可以看到,K8s服務(wù)已經(jīng)跑起來了.
在這里簡(jiǎn)單介紹下YAML配置文件,我們?cè)谙乱粋€(gè)篇章里會(huì)用到
YAML讀作/?j?m?l/,他的本質(zhì)就是一種通用的數(shù)據(jù)串行化格式.本身不需要安裝,我們?cè)趯W(xué)python時(shí)候也會(huì)經(jīng)常用到.
基本語(yǔ)法如下:
對(duì)大小寫比較敏感
使用縮進(jìn)表示層級(jí)關(guān)系
使用YAML用于k8s的定義有很多好處,如下:
便捷性:你將不再需要添加大量的參數(shù)到命令行中執(zhí)行命令
可維護(hù)性:YAML文件可以通過源頭控制,可以跟蹤每次的操作
靈活性:通過YAML你將可以創(chuàng)建比命令行更加復(fù)雜的結(jié)構(gòu)
YAML的結(jié)構(gòu)類型,只要知道兩種就可以: Lists和Maps
在K8S這里只要用以下幾個(gè)用法就可以了
對(duì)象是一組鍵值對(duì),使用冒號(hào)來結(jié)構(gòu)來表示
apiVersion: v1
kind: ReplicationController
這里定義了一個(gè)RC
所謂的RC就是保證在同一時(shí)間能夠運(yùn)行指定數(shù)量的Pod副本
你可以理解為Pod就是用來包裹容器的,在k8s中我們不會(huì)直接操作容器,而是把容器包裝成Pod在進(jìn)行管理.Pod是k8s里面最基本的操作單元.
說多了,這里理解寫法就可以了,A: B的格式
以上是“Kubernetes中單點(diǎn)集群安裝需要注意哪些坑”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。