您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么搭建單機版的kubernetes集群”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么搭建單機版的kubernetes集群”吧!
1、CentOS7下安裝etcd和kubernetes
[root@jin-120 ~]# yum install -y etcd kubernetes
2、關閉防火墻并設置開機不啟動
[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、按順序啟動以下所有服務:
for i in etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy do systemctl start $i done
至此,我們的單機版的kubernetes集群環境就安裝好了。
1、創建一個MySQL服務的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創建RC,然后再用命令kubectl get rc查看創建的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、我們再創建一個關于MySQL service的文件:vim mysql-svc.yaml,內容如下:
apiVersion: v1 kind: Service metadata: name: mysql spec: ports: - port: 3306 selector: app: mysql
運行命令創建service:
[root@jin-120 ~]# kubectl create -f mysql-svc.yaml service "mysql" 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 11s
可以看到,MySQLservice被分配了一個10.254.70.236的Cluster IP,這樣,kubernetes集群中的其他新創建的Pod就可以通過service的Cluster IP+port6379來連接和訪問了。
1、創建對應的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創建RC,然后再用命令kubectl get rc查看創建的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、我們再創建一個關于myweb service的文件:vim myweb-svc.yaml,內容如下:
apiVersion: v1 kind: Service metadata: name: myweb spec: type: NodePort ports: - port: 8080 nodePort: 30001 selector: app: myweb
創建并查看創建的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
至此,我們的集群就已經搭建完畢。
在瀏覽器里輸入地址:http://虛擬機IP:30001/demo/:
看到如上網頁,說明我們搭建的單機版kubernetes集群成功了。
我們可以嘗試單擊"Add"按鈕添加一條記錄并提交,提交后,數據就會被寫入MySQL數據庫中。
感謝各位的閱讀,以上就是“怎么搭建單機版的kubernetes集群”的內容了,經過本文的學習后,相信大家對怎么搭建單機版的kubernetes集群這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。