美文网首页
k8s代理服务(nodePort版)

k8s代理服务(nodePort版)

作者: 催化剂 | 来源:发表于2022-11-26 12:00 被阅读0次

    第一步:创建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

    相关文章

      网友评论

          本文标题:k8s代理服务(nodePort版)

          本文链接:https://www.haomeiwen.com/subject/xmccfdtx.html