目录

Nps 域名代理

之前在文档 Kubernetes部署内网穿透服务nps 中提到过,在nps中如何使用socks5代理,今天再来看看,如何使用nps的域名代理。

介绍

在操作之前,先给大家介绍一下,域名代理是干嘛的。

场景

有如下图的环境中,需要外网域名直接连接内网K8S的ingress,而不是修改本地hosts的方式去访问业务,只需要在内网k8s中部署一个npc即可。

../images/devjiagoutu.png

步骤

先在内网k8s部署npc,部署文件如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
apiVersion: apps/v1
kind: Deployment
metadata:
  name: npc-dev
  namespace: nps
spec:
  replicas: 1
  selector:
    matchLabels:
      app: npc-dev
  template:
    metadata:
      labels:
        app: npc-dev
    spec:
      imagePullSecrets:
      - name: standard
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/helian-health/npc:latest
        imagePullPolicy: Always
        name: npc-dev
        # -server=nps:8024需要修改为你自己的nps的代理端口
        command: ["/bin/sh", "-c", "./npc -server=nps:8024 -vkey=8i5c06y9n5c4zilt -type=tcp"]

创建nps 域名代理

注意:需要将你要绑定的域名指向到nps的80端口

../images/npsdomainproxy.png

因为nps代理时所有请求是从npc-dev容器出来的,所以可以直接使用dev环境的k8s coreDNS进行访问。

在dev环境的k8s创建ingress

../images/deploynpc.png

同样的方法创建一个https的转发到ingress的443端口后,可以进行测试了

../images/testnpsproxy.png