溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

kubernetes二進(jìn)制部署(三)負(fù)載均衡部署

發(fā)布時(shí)間:2020-08-06 01:26:30 來源:網(wǎng)絡(luò) 閱讀:298 作者:wx5d2c2d660c282 欄目:云計(jì)算

這是kubernetes二進(jìn)制部署的第三篇
如果沒有看過前面第一篇的朋友可以看看下面的:
Kubernetes二進(jìn)制部署(一)單節(jié)點(diǎn)部署
kubernetes二進(jìn)制部署(二)多節(jié)點(diǎn)部署

實(shí)驗(yàn)環(huán)境:

負(fù)載均衡
Nginx1:192.168.35.104/24
Nginx2:192.168.35.105/24

Master節(jié)點(diǎn)
master1:192.168.35.100/24
master2:192.168.35.103/24

Node節(jié)點(diǎn)
node1:192.168.35.101/24
node2:192.168.35.102/24

nginx安裝部署

lb01和lb02操作

1、關(guān)閉防火墻

[root@localhost ~]# systemctl stop firewalld.service?
[root@localhost ~]# setenforce 0

2、安裝nginx服務(wù),把nginx.sh和keepalived.conf腳本拷貝到家目錄

[root@localhost ~]# ls
anaconda-ks.cfg ? ? ? keepalived.conf ?公共 ?視頻 ?文檔 ?音樂
initial-setup-ks.cfg ?nginx.sh ? ? ? ? 模板 ?圖片 ?下載 ?桌面

3、構(gòu)建nginx的yum源環(huán)境

(1)復(fù)制配置文件

[root@localhost ~]# vim nginx.sh

cat > /etc/yum.repos.d/nginx.repo << EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #復(fù)制四行內(nèi)容
EOF

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 10.0.0.3:6443;
? ? ? ? server 10.0.0.8:6443;
? ? }
? ? server {
? ? ? ? ? ? ? ? listen 6443;
? ? ? ? ? ? ? ? proxy_pass k8s-apiserver;
? ? }
? ? }

(2)創(chuàng)建yum源,重新加載yum倉庫,并安裝nginx

[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0

[root@localhost ~]# yum list

[root@localhost ~]#?yum install nginx -y

4、添加四層轉(zhuǎn)發(fā)

(1)復(fù)制配置文件

[root@localhost ~]# vim nginx.sh

cat > /etc/yum.repos.d/nginx.repo << EOF
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
EOF

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 10.0.0.3:6443;
? ? ? ? server 10.0.0.8:6443;
? ? }
? ? server {
? ? ? ? ? ? ? ? listen 6443;
? ? ? ? ? ? ? ? proxy_pass k8s-apiserver;
? ? }
? ? }? ? ? ? ? ? ? ? ? ? ? ? ? #復(fù)制此段內(nèi)容

(2)添加配置文件并修改

[root@localhost ~]# vim /etc/nginx/nginx.conf

user ?nginx;
worker_processes ?1;

error_log ?/var/log/nginx/error.log warn;
pid ? ? ? ?/var/run/nginx.pid;

events {
? ? worker_connections ?1024;
}

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.35.100:6443;
? ? ? ? server 192.168.35.103:6443;? ? ? ? ? ? ? ? ? #只需修改IP為master1和master2的地址? ? ??
? ? }
? ? server {
? ? ? ? ? ? ? ? listen 6443;
? ? ? ? ? ? ? ? proxy_pass k8s-apiserver;
? ? }
? ? }

http {
? ? include ? ? ? /etc/nginx/mime.types;
? ? default_type ?application/octet-stream;

? ? log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" '
? ? ? ? ? ? ? ? ? ? ? '$status $body_bytes_sent "$http_referer" '
? ? ? ? ? ? ? ? ? ? ? '"$http_user_agent" "$http_x_forwarded_for"';

? ? access_log ?/var/log/nginx/access.log ?main;

? ? sendfile ? ? ? ?on;
? ? #tcp_nopush ? ? on;

? ? keepalive_timeout ?65;

? ? #gzip ?on;

? ? include /etc/nginx/conf.d/*.conf;
}

(3)驗(yàn)證語法是否錯(cuò)誤

[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

(4)修改首頁,進(jìn)行區(qū)分,一個(gè)master,一個(gè)backup。

lb01操作:

[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# ls
50x.html ?index.html
[root@localhost html]# vim index.html?

/14 <h2>Welcome to master ginx!</h2>

lb02操作:

[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# ls
50x.html ?index.html
[root@localhost html]# vim index.html?

/14 <h2>Welcome to backup?ginx!</h2>

(5)開啟服務(wù),并訪問首頁

lb01:

[root@localhost ~]# systemctl start nginx

用瀏覽器訪問http://192.168.35.104/

kubernetes二進(jìn)制部署(三)負(fù)載均衡部署

lb02:

[root@localhost ~]# systemctl start nginx

用瀏覽器訪問http://192.168.35.105/

kubernetes二進(jìn)制部署(三)負(fù)載均衡部署

keepalived安裝部署

lb01和lb02操作:

1、安裝keepalived

[root@localhost ~]# yum install keepalived -y

2、修改配置文件

[root@localhost ~]# ls
anaconda-ks.cfg ? ? ? keepalived.conf ?公共 ?視頻 ?文檔 ?音樂
initial-setup-ks.cfg ?nginx.sh ? ? ? ? 模板 ?圖片 ?下載 ?桌面
[root@localhost ~]# cp keepalived.conf /etc/keepalived/keepalived.conf
cp:是否覆蓋"/etc/keepalived/keepalived.conf"? yes

[root@localhost ~]# vim /etc/keepalived/keepalived.conf?

lb01是Master配置如下:

! Configuration File for keepalived

global_defs {
? ?# 接收郵件地址
? ?notification_email {
? ? ?acassen@firewall.loc
? ? ?failover@firewall.loc
? ? ?sysadmin@firewall.loc
? ?}
? ?# 郵件發(fā)送地址
? ?notification_email_from Alexandre.Cassen@firewall.loc
? ?smtp_server 127.0.0.1
? ?smtp_connect_timeout 30
? ?router_id NGINX_MASTER
}

vrrp_script check_nginx {
? ? script "/etc/nginx/check_nginx.sh"
}

vrrp_instance VI_1 {
? ? state MASTER?
? ? interface ens33
? ? virtual_router_id 51 # VRRP 路由 ID實(shí)例,每個(gè)實(shí)例是唯一的
? ? priority 100 ? ?# 優(yōu)先級,備服務(wù)器設(shè)置 90 ?
? ? advert_int 1 ? ?# 指定VRRP 心跳包通告間隔時(shí)間,默認(rèn)1秒
? ? authentication { ?
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? } ??
? ? virtual_ipaddress {
? ? ? ? 192.168.35.200/24
? ? }
? ? track_script {
? ? ? ? check_nginx
? ? }
}

lb02是Backup配置如下:

! Configuration File for keepalived

global_defs {
? ?# 接收郵件地址
? ?notification_email {
? ? ?acassen@firewall.loc
? ? ?failover@firewall.loc
? ? ?sysadmin@firewall.loc
? ?}
? ?# 郵件發(fā)送地址
? ?notification_email_from Alexandre.Cassen@firewall.loc
? ?smtp_server 127.0.0.1
? ?smtp_connect_timeout 30
? ?router_id NGINX_MASTER
}

vrrp_script check_nginx {
? ? script "/etc/nginx/check_nginx.sh"
}

vrrp_instance VI_1 {
? ? state?BACKUP?
? ? interface ens33
? ? virtual_router_id 51 # VRRP 路由 ID實(shí)例,每個(gè)實(shí)例是唯一的
? ? priority 90 ? ?# 優(yōu)先級,備服務(wù)器設(shè)置 90 ?
? ? advert_int 1 ? ?# 指定VRRP 心跳包通告間隔時(shí)間,默認(rèn)1秒
? ? authentication { ?
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? } ??
? ? virtual_ipaddress {
? ? ? ? 192.168.35.200/24
? ? }
? ? track_script {
? ? ? ? check_nginx
? ? }
}

3、制作管理腳本

[root@localhost ~]# vim /etc/nginx/check_nginx.sh

count=$(ps -ef |grep nginx |egrep -cv "grep|$$")

if [ "$count" -eq 0 ];then
? ? ? ? systemctl stop keepalived
fi

4、賦予執(zhí)行權(quán)限并開啟服務(wù)

[root@localhost ~]# chmod +x /etc/nginx/check_nginx.sh
[root@localhost ~]# systemctl start keepalived

5、查看地址信息

(1)查看lb01地址信息

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
? ? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
? ? inet 127.0.0.1/8 scope host lo
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 ::1/128 scope host?
? ? ? ?valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
? ? link/ether 00:0c:29:ba:e6:18 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.35.104/24 brd 192.168.35.255 scope global ens33
? ? ? ?valid_lft forever preferred_lft forever
? ? inet 192.168.35.200/24 scope global secondary ens33? ? ? ? ? ? ?#漂移地址在lb01中?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::6ec5:6d7:1b18:466e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::2a3:b621:ca01:463e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::d4e2:ef9e:6820:145a/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
? ? ? ?valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff

(2)查看lb02地址信息

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
? ? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
? ? inet 127.0.0.1/8 scope host lo
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 ::1/128 scope host?
? ? ? ?valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
? ? link/ether 00:0c:29:1d:ec:b0 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.35.105/24 brd 192.168.35.255 scope global ens33
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::6ec5:6d7:1b18:466e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::2a3:b621:ca01:463e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::d4e2:ef9e:6820:145a/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
? ? ? ?valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff

6、測試故障轉(zhuǎn)移切換

(1)驗(yàn)證地址漂移(lb01中使用pkill nginx,再在lb02中使用ip a 查看)

[root@localhost ~]# pkill nginx
[root@localhost ~]# systemctl status nginx
● nginx.service - nginx - high performance web server
? ?Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
? ?Active: failed (Result: exit-code) since 六 2020-02-08 16:54:45 CST; 11s ago
? ? ?Docs: http://nginx.org/en/docs/
? Process: 13156 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=1/FAILURE)
?Main PID: 6930 (code=exited, status=0/SUCCESS)

2月 08 16:54:45 localhost.localdomain kill[13156]: -q, --queue <信號> ? …2)
2月 08 16:54:45 localhost.localdomain kill[13156]: -p, --pid ? ? ? ? ? ?…號
2月 08 16:54:45 localhost.localdomain kill[13156]: -l, --list [=<信號>] …稱
2月 08 16:54:45 localhost.localdomain kill[13156]: -L, --table ? ? ? ? ?…值
2月 08 16:54:45 localhost.localdomain kill[13156]: -h, --help ? ? 顯示此…出
2月 08 16:54:45 localhost.localdomain kill[13156]: -V, --version ?輸出版…出
2月 08 16:54:45 localhost.localdomain kill[13156]: 更多信息請參閱 kill(1)。
2月 08 16:54:45 localhost.localdomain systemd[1]: nginx.service: control...
2月 08 16:54:45 localhost.localdomain systemd[1]: Unit nginx.service ent...
2月 08 16:54:45 localhost.localdomain systemd[1]: nginx.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

[root@localhost ~]# systemctl status keepalived.service? ? ? ? ? ? ?#keepalived服務(wù)也隨之關(guān)閉,說明nginx中的check_nginx.sh生效
● keepalived.service - LVS and VRRP High Availability Monitor
? ?Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
? ?Active: inactive (dead)

2月 08 16:39:26 localhost.localdomain Keepalived_vrrp[7319]: VRRP_Instan...
2月 08 16:39:26 localhost.localdomain Keepalived_vrrp[7319]: Sending gra...
2月 08 16:39:26 localhost.localdomain Keepalived_vrrp[7319]: Sending gra...
2月 08 16:39:26 localhost.localdomain Keepalived_vrrp[7319]: Sending gra...
2月 08 16:39:26 localhost.localdomain Keepalived_vrrp[7319]: Sending gra...
2月 08 16:54:46 localhost.localdomain Keepalived[7317]: Stopping
2月 08 16:54:46 localhost.localdomain systemd[1]: Stopping LVS and VRRP ...
2月 08 16:54:46 localhost.localdomain Keepalived_vrrp[7319]: VRRP_Instan...
2月 08 16:54:46 localhost.localdomain Keepalived_vrrp[7319]: VRRP_Instan...
2月 08 16:54:47 localhost.localdomain systemd[1]: Stopped LVS and VRRP H...
Hint: Some lines were ellipsized, use -l to show in full.

在lb01查看地址:

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
? ? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
? ? inet 127.0.0.1/8 scope host lo
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 ::1/128 scope host?
? ? ? ?valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
? ? link/ether 00:0c:29:ba:e6:18 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.35.104/24 brd 192.168.35.255 scope global ens33
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::6ec5:6d7:1b18:466e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::2a3:b621:ca01:463e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::d4e2:ef9e:6820:145a/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
? ? ? ?valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff

在lb02查看地址:

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
? ? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
? ? inet 127.0.0.1/8 scope host lo
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 ::1/128 scope host?
? ? ? ?valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
? ? link/ether 00:0c:29:1d:ec:b0 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.35.105/24 brd 192.168.35.255 scope global ens33
? ? ? ?valid_lft forever preferred_lft forever
? ? inet 192.168.35.200/24 scope global secondary ens33? ? ? ? ? ? ? ? #漂移地址轉(zhuǎn)移到lb02中
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::6ec5:6d7:1b18:466e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::2a3:b621:ca01:463e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::d4e2:ef9e:6820:145a/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
? ? ? ?valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff

(2)恢復(fù)操作(在lb01中先啟動nginx服務(wù),再啟動keepalived服務(wù))

[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl start keepalived.service?
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
? ? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
? ? inet 127.0.0.1/8 scope host lo
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 ::1/128 scope host?
? ? ? ?valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
? ? link/ether 00:0c:29:ba:e6:18 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.35.104/24 brd 192.168.35.255 scope global ens33
? ? ? ?valid_lft forever preferred_lft forever
? ? inet 192.168.35.200/24 scope global secondary ens33? ? ? ? ? ? ?? #漂移地址又轉(zhuǎn)移回lb01中
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::6ec5:6d7:1b18:466e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::2a3:b621:ca01:463e/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
? ? inet6 fe80::d4e2:ef9e:6820:145a/64 scope link tentative dadfailed?
? ? ? ?valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff
? ? inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
? ? ? ?valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
? ? link/ether 52:54:00:14:39:99 brd ff:ff:ff:ff:ff:ff

(3)nginx站點(diǎn)/usr/share/nginx/html

在宿主機(jī)上ping虛擬IP,保證可以ping通,說明可以去進(jìn)行訪問

kubernetes二進(jìn)制部署(三)負(fù)載均衡部署

在lb01查看index.html

[root@localhost ~]# cat /usr/share/nginx/html/index.html?
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
? ? body {
? ? ? ? width: 35em;
? ? ? ? margin: 0 auto;
? ? ? ? font-family: Tahoma, Verdana, Arial, sans-serif;
? ? }
</style>
</head>
<body>
<h2>Welcome to master ginx!</h2>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a >nginx.org</a>.<br/>
Commercial support is available at
<a >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

在lb01查看index.html

[root@localhost ~]# cat /usr/share/nginx/html/index.html?
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
? ? body {
? ? ? ? width: 35em;
? ? ? ? margin: 0 auto;
? ? ? ? font-family: Tahoma, Verdana, Arial, sans-serif;
? ? }
</style>
</head>
<body>
<h2>Welcome to backup nginx!</h2>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a >nginx.org</a>.<br/>
Commercial support is available at
<a >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

因?yàn)槠频刂肥窃趌b01上,所以訪問漂移地址時(shí)現(xiàn)實(shí)的nginx首頁應(yīng)該是包含master的

kubernetes二進(jìn)制部署(三)負(fù)載均衡部署

node節(jié)點(diǎn)綁定VIP地址

1、修改node節(jié)點(diǎn)配置文件統(tǒng)一VIP(bootstrap.kubeconfig,kubelet.kubeconfig)

[root@localhost ~]# vim /opt/kubernetes/cfg/bootstrap.kubeconfig
[root@localhost ~]# vim /opt/kubernetes/cfg/kubelet.kubeconfig
[root@localhost ~]# vim /opt/kubernetes/cfg/kube-proxy.kubeconfig

#全部都改為VIP地址

server: https://192.168.35.200:6443

2、替換完成直接自檢

[root@localhost ~]# cd /opt/kubernetes/cfg/

[root@localhost cfg]# grep 200 *
bootstrap.kubeconfig: ? ?server: https://192.168.35.200:6443
kubelet.kubeconfig: ? ?server: https://192.168.35.200:6443
kube-proxy.kubeconfig: ? ?server: https://192.168.35.200:6443

3、重啟服務(wù)

[root@localhost cfg]# systemctl restart kubelet.service?
[root@localhost cfg]# systemctl restart kube-proxy.service?

4、在lb01上查看nginx的k8s日志

[root@localhost ~]# tail /var/log/nginx/k8s-access.log
192.168.35.102 192.168.35.100:6443 - [08/Feb/2020:17:42:00 +0800] 200 1119
192.168.35.102 192.168.35.103:6443 - [08/Feb/2020:17:42:00 +0800] 200 1121
192.168.35.101 192.168.35.100:6443 - [08/Feb/2020:17:42:14 +0800] 200 1121
192.168.35.101 192.168.35.100:6443 - [08/Feb/2020:17:42:14 +0800] 200 1121

在master01上操作

1、測試創(chuàng)建pod

[root@localhost k8s]# kubectl run nginx --image=nginx
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx created

2、查看狀態(tài)

[root@localhost k8s]# kubectl get pods
NAME ? ? ? ? ? ? ? ? ? ?READY ? STATUS ? ?RESTARTS ? AGE
nginx-dbddb74b8-cfggf ? 1/1? ? ? ? 0 ? ? ContainerCreating? ? ?64s? ? ? ? ? ? ? ? #正在創(chuàng)建中
[root@localhost k8s]# kubectl get pods
NAME ? ? ? ? ? ? ? ? ? ?READY ? STATUS ? ?RESTARTS ? AGE
nginx-dbddb74b8-cfggf ? 1/1 ? ? Running ? 0 ? ? ? ? ?74s? ? ? ? ? ? ? ? ? ?#創(chuàng)建完成,運(yùn)行中

3、注意日志問題(無法查看,會報(bào)錯(cuò))

[root@localhost k8s]# kubectl logs nginx-dbddb74b8-cfggf
Error from server (Forbidden): Forbidden (user=system:anonymous, verb=get, resource=nodes, subresource=proxy) ( pods/log nginx-dbddb74b8-cfggf)

解決辦法:

(1)權(quán)限提升

[root@localhost k8s]# kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous
clusterrolebinding.rbac.authorization.k8s.io/cluster-system-anonymous created

(2)在去進(jìn)行日志查看

[root@localhost k8s]# kubectl logs nginx-dbddb74b8-cfggf

//并不會出現(xiàn)報(bào)錯(cuò),只是因?yàn)闆]有去訪問,所以沒有產(chǎn)生日志

4、查看pod網(wǎng)絡(luò)

[root@localhost k8s]# kubectl get pods -o wide
NAME ? ? ? ? ? ? ? ? ? ?READY ? STATUS ? ?RESTARTS ? AGE ? IP ? ? ? ? ? ?NODE ? ? ? ? ? ? NOMINATED NODE
nginx-dbddb74b8-cfggf ? 1/1 ? ? Running ? 0 ? ? ? ? ?14m ? 172.17.45.2 ? 192.168.35.101 ? <none>

5、在對應(yīng)網(wǎng)段的node節(jié)點(diǎn)上操作可以直接訪問

[root@localhost cfg]# curl 172.17.45.2
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
? ? body {
? ? ? ? width: 35em;
? ? ? ? margin: 0 auto;
? ? ? ? font-family: Tahoma, Verdana, Arial, sans-serif;
? ? }
</style>
</head>
<body>
<h2>Welcome to nginx!</h2>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a >nginx.org</a>.<br/>
Commercial support is available at
<a >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

6、訪問就會產(chǎn)生日志,回到master01操作

[root@localhost k8s]# kubectl logs nginx-dbddb74b8-cfggf
172.17.45.1 - - [08/Feb/2020:10:10:29 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI