k8s部署nginx訪問Tomcat的實現(xiàn)示例
更新時間:2023年08月08日 08:38:59 作者:大蝦別跑
本文介紹了如何使用Kubernetes部署Nginx,并通過Nginx訪問Tomcat,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
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:v1
2.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/
到此這篇關于k8s部署nginx訪問Tomcat的實現(xiàn)示例的文章就介紹到這了,更多相關k8s部署nginx訪問Tomcat內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx中報錯:Permission denied與Connection refused的解決
這篇文章主要給大家介紹了在Nginx中報錯:13: Permission denied與111: Connection refused的解決方法,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04nginx反向代理用做內(nèi)網(wǎng)域名轉發(fā)
這篇文章主要為大家詳細介紹了nginx反向代理用做內(nèi)網(wǎng)域名轉發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過多的解決方法
本文主要介紹了nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過多的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07