云計算
此實驗開始前必須要先部署單節(jié)master的k8s群集
單節(jié)點部署博客地址:
https://blog.51cto.com/14449528/2469980
多master群集架構(gòu)圖:
master2部署
1、優(yōu)先關(guān)閉master2的防火墻服務(wù)
[root@master2 ~]# systemctl stop firewalld.service[root@master2 ~]# setenforce 02、在master1上操作,復(fù)制kubernetes目錄、server組件到master2
[root@master1 k8s]# scp -r /opt/kubernetes/ root@192.168.18.140:/opt[root@master1 k8s]# scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.18.140:/usr/lib/systemd/system/3、修改master02中的配置文件
[root@master2 ~]# cd /opt/kubernetes/cfg/[root@master2 cfg]# vim kube-apiserver5 --bind-address=192.168.18.140 \\\\7 --advertise-address=192.168.18.140 \\\\#第5和7行ip地址需要改為master2的地址4、拷貝master1上已有的etcd證書給master2使用
(注意:master2一定要有etcd證書,否則apiserver服務(wù)無法啟動)
[root@master1 k8s]# scp -r /opt/etcd/ root@192.168.18.132:/opt/root@192.168.18.132\\\'s etcd 100% 516 535.5kb/s 00:00etcd 100% 18mb 90.6mb/s 00:00etcdctl 100% 15mb 80.5mb/s 00:00ca-key.pem 100% 1675 1.4mb/s 00:00ca.pem 100% 1265 411.6kb/s 00:00server-key.pem 100% 1679 2.0mb/s 00:00server.pem 100% 1338 429.6kb/s 00:005、啟動master2中的三個組件服務(wù)
[root@master2 cfg]# systemctl start kube-apiserver.service ##開啟服務(wù)[root@master2 cfg]# systemctl enable kube-apiserver.service ##服務(wù)開機自啟[root@master2 cfg]# systemctl start kube-controller-manager.service[root@master2 cfg]# systemctl enable kube-controller-manager.service[root@master2 cfg]# systemctl start kube-scheduler.service[root@master2 cfg]# systemctl enable kube-scheduler.service6、修改環(huán)境變量
[root@master2 cfg]# vim /etc/profileexport path=$path:/opt/kubernetes/bin/ ##添加環(huán)境變量[root@master2 cfg]# source /etc/profile ##刷新配置文件[root@master2 cfg]# kubectl get node ##查看群集節(jié)點信息name status roles age version192.168.18.129 ready <none> 21h v1.12.3192.168.18.130 ready <none> 22h v1.12.3#此時可以看到node1和node2的加入情況——此時master2部署完畢——
nginx負(fù)載均衡部署
lb01和lb02進行相同操作
安裝nginx服務(wù),把nginx.sh和keepalived.conf腳本拷貝到家目錄
[root@localhost ~]# lsanaconda-ks.cfg ? ? ? keepalived.conf ?公共 ?視頻 ?文檔 ?音樂initial-setup-ks.cfg ?nginx.sh ? ? ? ? 模板 ?圖片 ?下載 ?桌面[root@lb1 ~]# systemctl stop firewalld.service[root@lb1 ~]# setenforce 0[root@lb1 ~]# vim /etc/yum.repos.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0##重新加載yum倉庫[root@lb1 ~]# yum list##安裝nginx服務(wù)[root@lb1 ~]# yum install nginx -y[root@lb1 ~]# vim /etc/nginx/nginx.conf##在12行下插入stream模塊stream { log_format main \\\'$remote_addr $upstream_addr - [$time_local] $status $upstream_bytes_sent\\\'; access_log /var/log/nginx/k8s-access.log main; upstream k8s-apiserver { server 192.168.18.128:6443; #此處為master1的ip地址 server 192.168.18.140:6443; #此處為master2的ip地址 } server { listen 6443; proxy_pass k8s-apiserver; } }##檢測語法[root@lb1 ~]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful##修改主頁進行區(qū)分[root@lb1 ~]# cd /usr/share/nginx/html/[root@lb1 html]# ls50x.html index.html[root@lb1 html]# vim index.html14 <h2>welcome to mater nginx!</h2> #14行中添加master以作區(qū)分[root@lb2 ~]# cd /usr/share/nginx/html/[root@lb2 html]# ls50x.html index.html[root@lb1 html]# vim index.html14 <h2>welcome to backup nginx!</h2> #14行中添加backup以作區(qū)分##啟動服務(wù)[root@lb1 ~]# systemctl start nginx[root@lb2 ~]# systemctl start nginx瀏覽器驗證訪問,輸入192.168.18.150,可以訪問master的nginx主頁
瀏覽器驗證訪問,輸入192.168.18.151,可以訪問backup的nginx主頁
keepalived安裝部署
l