CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết blog CFSDN này Docker+keepaliving+nginx triển khai các ví dụ về phương thức dự phòng nóng master-slave do tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.
Lời nói đầu.
Để giải quyết điểm lỗi duy nhất, chúng ta cần định cấu hình giải pháp sao lưu nóng master-slave. Số lượng máy chủ có hạn nên Docker được sử dụng để mô phỏng cấu hình cài đặt.
Docker đã được cài đặt theo mặc định trong cấu hình này.
Môi trường cấu hình: centos7 64-bit.
phiên bản docker: Phiên bản Docker 17.12.1-ce, bản dựng 7390fc6.
1. Kéo hình ảnh centos7.
2. Tạo vùng chứa.
?
1
|
docker chạy -it -d --tên centos1 -d centos:7
|
3. Nhập container centos1.
?
1
|
người đóng tàu
thực hiện
-nó là centos1
đập mạnh
|
4. Cài đặt các công cụ thông dụng.
?
1
2
|
yum cập nhậtyum
cài đặt
-y vimyum
cài đặt
-y wgetyum
cài đặt
-y gcc-c++ yum
cài đặt
-y pcre pcre-devel yum
cài đặt
-y zlib zlib-devel yum
cài đặt
-y openssl openssl--develyum
cài đặt
-y popt-develyum
cài đặt
-y initscripts
ngon quá
cài đặt
-y công cụ mạng
|
5. Đóng gói vùng chứa vào một hình ảnh mới, sau đó tạo vùng chứa trực tiếp từ hình ảnh này.
?
1
|
docker cam kết -a
'cfh'
-tôi
'centos với các công cụ phổ biến'
centos1centos_base
|
6. Xóa vùng chứa centos1 đã tạo trước đó, tạo lại vùng chứa bằng hình ảnh cơ bản và cài đặt keepaliving+nginx.
?
1
2
3
4
5
6
7
8
9
|
người đóng tàu
rm
-fcentos1
docker run -it --tên centos_temp -d --đặc quyền centos_base
/usr/sbin/init
người đóng tàu
thực hiện
-nó là centos_temp
đập mạnh
Tác giả: Giang hồ khẩn cấp
Liên kết: https:
//juejin
.trong
/bài đăng/5dc517386fb9a04a9272110b
Nguồn: Nuggets
Bản quyền thuộc về tác giả. Trường hợp tái bản vì mục đích thương mại vui lòng liên hệ tác giả để xin phép. Trường hợp tái bản phi thương mại vui lòng ghi rõ nguồn.
|
7. Cài đặt nginx.
?
1
2
3
4
5
6
7
8
|
rpm -Uvh http:
//nginx
.org
/gói/centos/7/noarch/RPMS/nginx-release-centos-7-0
.el7.ngx.noarch.rpm
ngon quá
cài đặt
-y nginx
systemctl khởi động nginx.service
xoăn 172.17.0.2
|
8. Cài đặt giữ nguyên.
1. Tải xuống wget keepaliving http://www.keepaliving.org/software/keepaliving-1.2.18.tar.gz.
2. Giải nén và cài đặt: tar -zxvf keepaliving-1.2.18.tar.gz -C /usr/local/.
3. Tải plug-in openssl yum install -y openssl openssl-devel (bạn cần cài đặt một gói phần mềm).
4. Bắt đầu biên dịch keepalivingcd /usr/local/keepaliving-1.2.18/ && ./configure --prefix=/usr/local/keepaliving.
5.make一下 make && make install 。
9. Cài đặt keepaliving như một dịch vụ hệ thống.
?
1
2
3
4
5
6
7
8
9
|
mkdir
/etc/keepalivedcp
/usr/local/keepalived/etc/keepalived/keepalived
.conf
/etc/keepalived/
Sau đó sao chép tệp tập lệnh được lưu giữ:
cp
/usr/local/keepalived/etc/rc
.đ
/nhiệt
.đ
/giữ nguyên
/etc/init
.đ
/cp
/usr/local/keepalived/etc/sysconfig/keepalived
/etc/sysconfig/ln
-S
/usr/local/sbin/keepalived
/usr/sbin/
Bạn có thể thiết lập nó để bắt đầu khi khởi động: chkconfig keepaliving on Tại thời điểm này, chúng ta đã hoàn tất quá trình cài đặt!
đĩa CD
/usr/sbin/
rm
-f giữ nguyên
cp
/usr/local/keepalived/sbin/keepalived
/usr/sbin/
systemctl daemon-tải lại tải lại systemctl
cho phép
keepaliving.service Đặt systemctl để tự động khởi động khi khởi động. tắt keepaliving.service Hủy khởi động tự động khi khởi động systemctl start keepaliving.service. Bắt đầu systemctl stop keepaliving.service.
|
10. Sửa đổi tệp /etc/keepaliving/keepaliving.conf.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
cp
/etc/keepalived/keepalived
.conf
/etc/keepalived/keepalived
.conf.sao lưu
rm
-f keepalived.conf
vim keepalived.conf
vrrp_script chk_nginx {
kịch bản
"/etc/keepaliving/nginx_check.sh"
khoảng thời gian 2
trọng lượng -20
}
vrrp_instance VI_1 {
chủ nhà nước
giao diện eth0
virtual_router_id 121
mcast_src_ip 172.17.0.6
ưu tiên 100
không được ưu tiên
quảng cáo_int 1
xác thực {
xác thực_loạiPASS
xác thực_mật khẩu 1111
}
theo dõi tập lệnh {
chk_nginx
}
địa chỉ ip ảo {
172.17.0.100
}
}
|
11. Thêm tệp phát hiện nhịp tim.
?
1
2
3
4
5
6
7
8
9
10
11
|
bởi vì nginx_check.sh
#!/bin/bash
A=`
p/s
-C nginx –không có tiêu đề |
nhà vệ sinh
-tôi
nếu như
[ $A -
cân bằng
0 ];
sau đó
/usr/local/nginx/sbin/nginx
ngủ
2
nếu như
[ `
p/s
-C nginx --không có tiêu đề |
nhà vệ sinh
-tôi--
cân bằng
0 ];
sau đó
giết tất cả giữ lại
là
là
|
12. Cấp quyền thực thi cho tập lệnh.
?
1
|
sửa đổi
+x nginx_check.sh
|
13. Thiết lập khởi động.
?
1
2
3
4
|
hệ thốngctl
cho phép
keepalived.dịch vụ
systemctl bắt đầu keepalived.service
|
14. Để kiểm tra xem IP ảo có thành công hay không, hãy thực hiện lệnh sau trong máy chủ. Nếu giao diện chào mừng nginx xuất hiện, điều đó có nghĩa là thành công.
15. Đóng gói lại vùng chứa centos_temp thành một hình ảnh, sau đó sử dụng hình ảnh mới này để tạo thêm hai vùng chứa nhằm đạt được hiệu ứng chờ nóng.
?
1
|
docker cam kết -a
'cfh'
-tôi
'centos với keepalived nginx'
centos_temp centos_kn
|
16. Xóa tất cả các vùng chứa.
?
1
|
người đóng tàu
rm
-f `docker
p/s
-một -q`
|
17. Sử dụng hình ảnh centos_kn để tạo vùng chứa máy chủ chính.
?
1
2
3
|
docker chạy --đặc quyền -tid --tên centos_master --khởi động lại=luôn centos_kn
/usr/sbin/init
người đóng tàu
thực hiện
-nó là centos_master
đập mạnh
|
18. Sửa đổi trang chào mừng nginx trong centos_master.
?
1
|
bởi vì
/usr/share/nginx/html/index
.html
|

19. Tạo vùng chứa máy chủ nô lệ.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
docker chạy --đặc quyền -tid --tên centos_slave --khởi động lại=luôn centos_kn
/usr/sbin/init
người đóng tàu
thực hiện
-nó là centos_slave
đập mạnh
vrrp_script chk_nginx {
kịch bản
"/etc/keepaliving/nginx_check.sh"
khoảng thời gian 2
trọng lượng -20
}
vrrp_instance VI_1 {
nhà nước NÔ LỆ
giao diện eth0
virtual_router_id 121
mcast_src_ip 172.17.0.6
ưu tiên 80
không được ưu tiên
quảng cáo_int 1
xác thực {
xác thực_loạiPASS
xác thực_mật khẩu 1111
}
theo dõi tập lệnh {
chk_nginx
}
địa chỉ ip ảo {
172.17.0.100
}
}
|
20. Tải lại sau khi sửa đổi hoàn tất.
?
1
2
|
systemctl daemon-tải lại
systemctl khởi động lại keepalived.service
|
21. Sửa đổi trang chào mừng nginx (nếu nginx chưa được khởi động, hãy thực thi systemctl start nginx.service).
?
1
|
bởi vì
/usr/share/nginx/html/index
.html
|

22, kiểm tra.
A> Thực hiện kiểm tra lệnh lần lượt trên máy chủ, centos_master và centos_slave. Nếu trang chào mừng của Master hiển thị, nghĩa là cấu hình đã thành công 1/3.
B> Tại thời điểm này, hãy dừng bộ chứa centos_master (docker stop centos_master), giữ lại bộ chứa centos_slave và thực hiện lệnh sau. Nếu bạn chuyển sang trang Slave, điều đó có nghĩa là cấu hình được giữ lại thành công 2/3.
C> Khởi động lại vùng chứa centos_master. Lúc này, hãy thực hiện lệnh sau để xem chuyển đổi từ Slave sang Master hay không. Nếu chuyển đổi thành công thì có nghĩa là cấu hình của chúng ta đã thành công.
Lưu ý rằng trong quá trình thử nghiệm, nginx không khởi động sau khi khởi động lại vùng chứa. Bạn cần phải vào vùng chứa và khởi động nó. Nếu không, bạn sẽ không thể truy cập trang Master nhưng bạn có thể ping nó.
Thực hiện lệnh sau để định cấu hình nginx khởi động ngẫu nhiên, do đó bạn không cần phải khởi động nginx theo cách thủ công mỗi khi khởi động lại vùng chứa.
Trên đây là toàn bộ quá trình cấu hình mong rằng nó sẽ giúp ích cho việc học tập của mọi người.
Link gốc: https://juejin.im/post/5dc517386fb9a04a9272110b.
Cuối cùng, bài viết này về ví dụ về phương pháp Docker+keepaliving+nginx để triển khai chế độ chờ nóng master-slave ở đây. Nếu bạn muốn biết thêm về ví dụ về phương pháp Docker+keepaliving+nginx để triển khai master-slave hot. ở chế độ chờ, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!