1. 增加公网负载均衡器
-
编写nginx配置
upstream java-demo { server 10.100.24.83:8080; #这个是ingress-controller的地址 server 10.100.24.84:8080; } server { listen 80; server_name test.scajy.cn; location / { proxy_pass http://java-demo; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 30s; proxy_send_timeout 30s; proxy_read_timeout 30s; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
-
架构图
2. 案例
2.1 安装nginx
-
安装nginx源
[root@jenkins k8s-java-demo]# yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
-
查询nginx版本
[root@jenkins k8s-java-demo]# yum repolist enabled | grep "nginx*" Repository epel is listed more than once in the configuration nginx/x86_64 nginx repo 208
-
安装nginx版本
[root@jenkins k8s-java-demo]# yum -y install nginx
-
启动nginx
[root@jenkins ~]# service nginx start Redirecting to /bin/systemctl start nginx.service
-
设置开机启动
[root@jenkins ~]# systemctl enable nginx.service Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. [root@jenkins ~]# systemctl list-dependencies | grep nginx ● ├─nginx.service
2.2 配置nginx配置文件实现k8s应用暴露
-
编写配置文件
[root@jenkins conf.d]# vim default.conf [root@jenkins conf.d]# cat default.conf upstream java-demo { server 10.100.24.83:80; server 10.100.24.84:80; } server { listen 80; server_name test.scajy.cn; location / { proxy_pass http://java-demo; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 30s; proxy_send_timeout 30s; proxy_read_timeout 30s; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
-
重新加载nginx配置文件
[root@jenkins conf.d]# /usr/sbin/nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@jenkins conf.d]# /usr/sbin/nginx -s reload
-
绑定hosts测试
-
浏览器访问