這篇文章主要講解了“怎么搭建單機版的kubernetes集群”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“怎么搭建單機版的kubernetes集群”吧!
1、CentOS7下安裝etcd和kubernetes
[root@jin-120 ~]# yum install -y etcd kubernetes
2、關(guān)閉防火墻并設置開(kāi)機不啟動(dòng)
[root@jin-120 ~]# systemctl stop firewalld [root@jin-120 ~]# systemctl disable firewalld
3、修改配置文件/etc/sysconfig/docker,把OPTIONS的內容設置為:
OPTIONS='--selinux-enabled=false --insecure-registry grc.io --log-driver=journald --signature-verification=false'
再修改kubernetes apiserver的配置文件/etc/kubernetes/apiserver,把--ADMISSION_CONTROL參數中的ServiceAcconut刪除。
4、按順序啟動(dòng)以下所有服務(wù):
for i in etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy do systemctl start $i done
至此,我們的單機版的kubernetes集群環(huán)境就安裝好了。
1、創(chuàng )建一個(gè)MySQL服務(wù)的RC定義文件mysql-rc.yaml,內容如下:
apiVersion: v1 kind: ReplicationController metadata: name: mysql spec: replicas: 1 selector: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.6 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: "123456"
2、執行命令kubectl create -f mysql-rc.yaml創(chuàng )建RC,然后再用命令kubectl get rc查看創(chuàng )建的RC:
[root@jin-120 ~]# kubectl create -f mysql-rc.yaml replicationcontroller "mysql" created [root@jin-120 ~]# kubectl get rc NAME DESIRED CURRENT READY AGE mysql 1 1 1 1m
再查看RC定義生成的pod:
[root@jin-120 ~]# kubectl get pod NAME READY STATUS RESTARTS AGE mysql-xcgj0 1/1 Running 0 1m
3、我們再創(chuàng )建一個(gè)關(guān)于MySQL service的文件:vim mysql-svc.yaml,內容如下:
apiVersion: v1 kind: Service metadata: name: mysql spec: ports: - port: 3306 selector: app: mysql
運行命令創(chuàng )建service:
[root@jin-120 ~]# kubectl create -f mysql-svc.yaml service "mysql" created
查看是否創(chuàng )建成功:
[root@jin-120 ~]# kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.254.0.1 <none> 443/TCP 1d mysql 10.254.70.236 <none> 3306/TCP 11s
可以看到,MySQLservice被分配了一個(gè)10.254.70.236的Cluster IP,這樣,kubernetes集群中的其他新創(chuàng )建的Pod就可以通過(guò)service的Cluster IP+port6379來(lái)連接和訪(fǎng)問(wèn)了。
1、創(chuàng )建對應的RC文件myweb-rc.yaml,內容如下:
kind: ReplicationController metadata: name: myweb spec: replicas: 1 selector: app: myweb template: metadata: labels: app: myweb spec: containers: - name: myweb image: kubeguide/tomcat-app:v1 ports: - containerPort: 8080 env: - name: MYSQL_SERVICE_HOST value: 'mysql' - name: MYSQL_SERVICE_PORT value: '3306'
2、執行命令kubectl create -f myweb-rc.yaml創(chuàng )建RC,然后再用命令kubectl get rc查看創(chuàng )建的RC:
[root@jin-120 ~]# kubectl create -f myweb-rc.yaml replicationcontroller "myweb" created [root@jin-120 ~]# kubectl get rc NAME DESIRED CURRENT READY AGE mysql 1 1 1 13m myweb 1 1 1 16s
再查看RC定義生成的pod:
[root@jin-120 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE mysql-xcgj0 1/1 Running 2 15m myweb-jmll1 1/1 Running 0 1m
3、我們再創(chuàng )建一個(gè)關(guān)于myweb service的文件:vim myweb-svc.yaml,內容如下:
apiVersion: v1 kind: Service metadata: name: myweb spec: type: NodePort ports: - port: 8080 nodePort: 30001 selector: app: myweb
創(chuàng )建并查看創(chuàng )建的service:
[root@jin-120 ~]# kubectl create -f myweb-svc.yaml service "myweb" created [root@jin-120 ~]# kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.254.0.1 <none> 443/TCP 1d mysql 10.254.70.236 <none> 3306/TCP 13m myweb 10.254.218.251 <nodes> 8080:30001/TCP 9s
至此,我們的集群就已經(jīng)搭建完畢。
在瀏覽器里輸入地址:http://虛擬機IP:30001/demo/:
看到如上網(wǎng)頁(yè),說(shuō)明我們搭建的單機版kubernetes集群成功了。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站