k8s部署nginx訪問Tomcat的實(shí)現(xiàn)示例
更新時(shí)間:2023年08月08日 08:38:59 作者:大蝦別跑
本文介紹了如何使用Kubernetes部署Nginx,并通過Nginx訪問Tomcat,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
1.nginx打包鏡像
#1、編寫DockerFile
mkdir /opt/my_nginx_dockerfile
cd /opt/my_nginx_dockerfile
cat >default.conf<<'EOF'?
server {
? ? listen ? ? ? 80;
? ? listen ?[::]:80;
? ? server_name ?localhost;
? ? #access_log ?/var/log/nginx/host.access.log ?main;
? ? location / {
? ? ? ? root ? /usr/share/nginx/html;
? ? ? ? index ?index.html index.htm;
? ? }
? ? location /tomcat/ {
? ? ? ? proxy_pass http://tomcat-web-service;
? ? ? ? proxy_set_header ? Host ? ?$host;
? ? ? ? proxy_set_header ? X-Forwarded-For $proxy_add_x_forwarded_for;
? ? ? ? proxy_set_header X-Real-IP $remote_addr;
? ? }
? ? #error_page ?404 ? ? ? ? ? ? ?/404.html;
? ? # redirect server error pages to the static page /50x.html
? ? #
? ? error_page ? 500 502 503 504 ?/50x.html;
? ? location = /50x.html {
? ? ? ? root ? /usr/share/nginx/html;
? ? }
? ? # proxy the PHP scripts to Apache listening on 127.0.0.1:80
? ? #
? ? #location ~ \.php$ {
? ? # ? ?proxy_pass ? http://127.0.0.1;
? ? #}
? ? # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
? ? #
? ? #location ~ \.php$ {
? ? # ? ?root ? ? ? ? ? html;
? ? # ? ?fastcgi_pass ? 127.0.0.1:9000;
? ? # ? ?fastcgi_index ?index.php;
? ? # ? ?fastcgi_param ?SCRIPT_FILENAME ?/scripts$fastcgi_script_name;
? ? # ? ?include ? ? ? ?fastcgi_params;
? ? #}
? ? # deny access to .htaccess files, if Apache's document root
? ? # concurs with nginx's one
? ? #
? ? #location ~ /\.ht {
? ? # ? ?deny ?all;
? ? #}
}
EOF
cat ?>/opt/my_nginx_dockerfile/Dockerfile << 'EOF'
FROM nginx
WORKDIR /etc/nginx/conf.d
RUN echo "nginx v1 version" >/usr/share/nginx/html/index.html
ADD default.conf /etc/nginx/conf.d
EOF
cd /opt/my_nginx_dockerfile
#2、編譯鏡像
docker build -t 192.168.1:30012/k8s/my_nginx:v1 .
#3、登陸鏡像
docker login -u admin -p Harbor12345 192.168.1:30012
#4、推送至倉庫
docker push 192.168.1:30012/k8s/my_nginx:v12.Tomcat打包鏡像
#編寫DockerFile mkdir -p /opt/my_tomcat_dockerfile cat ?>/opt/my_tomcat_dockerfile/Dockerfile << 'EOF' FROM tomcat:latest RUN mkdir webapps/ROOT/tomcat -p && echo "My Tomcat v1 version">webapps/ROOT/tomcat/index.html EOF cd /opt/my_tomcat_dockerfile #編譯鏡像 docker build -t 192.168.1:30012/k8s/my_tomcat:v1 . #登陸鏡像 docker login -u admin -p Harbor12345 192.168.1:30012 #推送至倉庫 docker push 192.168.1:30012/k8s/my_tomcat:v1
3.部署nginx
cat >nginx-proxy.yml<<'EOF' --- apiVersion: apps/v1 kind: Deployment metadata: ? name: nginx-deployment ? labels: ? ? app: nginx spec: ? replicas: 1 ? selector: ? ? matchLabels: ? ? ? app: nginx ? template: ? ? metadata: ? ? ? labels: ? ? ? ? app: nginx ? ? spec: ? ? ? containers: ? ? ? - name: nginx ? ? ? ? image: 192.168.1:30012/k8s/my_nginx:v1 ? ? ? ? ports: ? ? ? ? - containerPort: 80 --- apiVersion: v1 kind: Service metadata: ? name: nginx-web-service ? labels: ? ? app: nginx-web-service spec: ? type: NodePort ? selector: ? ? app: nginx ? ports: ? - protocol: TCP ? ? name: http ? ? port: 80 ? ? targetPort: 80 ? ? nodePort: 30086 EOF kubectl apply -f nginx-proxy.yml
4.部署Tomcat
cat >tomcat-proxy.yml<<'EOF' apiVersion: apps/v1 kind: Deployment metadata: ?name: tomcat-deployment ?labels: ? ?app: tomcat spec: ?replicas: 1 ?selector: ? ?matchLabels: ? ? ?app: tomcat ?template: ? ?metadata: ? ? ?labels: ? ? ? ?app: tomcat ? ?spec: ? ? ?containers: ? ? ?- name: tomcat ? ? ? ?image: 192.168.1:30012/k8s/my_tomcat:v1 ? ? ? ?ports: ? ? ? ?- containerPort: 8080 --- apiVersion: v1 kind: Service metadata: ?name: tomcat-web-service ?labels: ? ?app: tomcat-web-service spec: ?type: NodePort ?selector: ? ?app: tomcat ?ports: ? ?- protocol: TCP ? ? ?name: http ? ? ?port: 80 ? ? ?targetPort: 8080 ? ? ?nodePort: 30087 EOF kubectl apply -f tomcat-proxy.yml
測試
curl http://192.168.1:30086/tomcat/
到此這篇關(guān)于k8s部署nginx訪問Tomcat的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)k8s部署nginx訪問Tomcat內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Nginx+Tomcat集群環(huán)境的實(shí)現(xiàn)
- 使用docker快速部署Nginx、Redis、MySQL、Tomcat及制作鏡像的方法
- Nginx+Tomcat群集的實(shí)現(xiàn)示例
- 深度deepin安裝以及jdk、tomcat、Nginx安裝教程
- Nginx修改默認(rèn)80端口(解決跟Tomcat的端口沖突)
- Nginx+Tomcat反向代理與負(fù)載均衡的實(shí)現(xiàn)
- Nginx?Tomcat負(fù)載均衡動靜分離原理解析
- Nginx反向代理轉(zhuǎn)發(fā)tomcat的實(shí)現(xiàn)
- tomcat在nginx中的配置方式
相關(guān)文章
Nginx中報(bào)錯:Permission denied與Connection refused的解決
這篇文章主要給大家介紹了在Nginx中報(bào)錯:13: Permission denied與111: Connection refused的解決方法,文中介紹的非常詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04
Nginx使用mirror指令實(shí)現(xiàn)接口復(fù)制
Nginx中使用mirro指令可以方便地實(shí)現(xiàn)接口請求的復(fù)制,這個功能非常適合用于流量監(jiān)控、數(shù)據(jù)收集或負(fù)載均衡,下面我們就來看看具體的用法吧2024-10-10
nginx反向代理用做內(nèi)網(wǎng)域名轉(zhuǎn)發(fā)
這篇文章主要為大家詳細(xì)介紹了nginx反向代理用做內(nèi)網(wǎng)域名轉(zhuǎn)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Nginx+uwsgi+ssl配置https的詳細(xì)步驟
nginx是一個輕量級的web服務(wù)器,在處理靜態(tài)資源和高并發(fā)有優(yōu)勢,uwsgi是一個基于python的高效率的協(xié)議,處理后端和動態(tài)網(wǎng)頁有優(yōu)勢,我這里使用的是Ubuntu18.04版本,服務(wù)器在阿里云,感興趣的朋友跟隨小編一起看看吧2023-10-10
nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過多的解決方法
本文主要介紹了nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過多的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

