第一步:创建ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: map-online-proxy-server-conf
namespace: micycle-ns
data:
default.conf: |
server {
listen 80;
listen [::]:80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /map-online-proxy-server/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://online5.map.bdimg.com/; ##删掉 $request_uri
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
第二步,创建代理服务deployment、service、ingress
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: map-online-proxy-server
name: map-online-proxy-server
namespace: micycle-ns
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/name: map-online-proxy-server
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/name: map-online-proxy-server
spec:
containers:
-image: nginx:1.22.0
name: map-online-proxy-server
ports:
-containerPort: 80
resources:
limits:
memory: 500Mi
requests:
memory: 100Mi
volumeMounts:
-name: nginx-config
mountPath:"/etc/nginx/conf.d/"
volumes:
-name: nginx-config
configMap:
name: map-online-proxy-server-conf
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/name: map-online-proxy-server
name: map-online-proxy-server
namespace: micycle-ns
spec:
type: NodePort
ports:
-name: map-online-proxy-server
port: 32999#服务访问端口,port是service的的端口,service之间访问的端口
nodePort: 32111#容器所在宿主机的端口,范围必须在30000-32767
protocol: TCP
targetPort: 80#targetPort是pod的端口,也就是容器的端口,【也就是容器内部应用程序监听的端口】
selector:
app.kubernetes.io/name: map-online-proxy-server
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
labels:
app.kubernetes.io/name: map-online-proxy-server
name: map-online-proxy-server
namespace: micycle-ns
spec:
rules:
-host: micycle-ns.fpi-inc.site
http:
paths:
-backend:
serviceName: gateway-server
servicePort: 80
path: /map-online-proxy-server
网友评论