@guigeng #20 我这个镜像是通过CI生成的,定时更新镜像和订阅啥的,靠中转去拉的,直接ss协议的。 至于证书问题,这个可能需要自己定制镜像呢,镜像里处理。gitops,证书就放到代码里了,泛域名证书。
@guigeng #18 我的翻墙节点有两个 ,主节点通过docker compose 部署的,方案是 v2ray + WebSocket+TLS+Web. 用的搬瓦工 46刀日本机器。这台机器内存也比较小就没放到集群里面。 备用节点以防万一用的,确实部署在k3s集群里面(不在家-日本这个集群,而是在一个美国的集群里面)。部署内容大概这个样子 apiVersion: apps/v1 kind: Deployment metadata: name: v2ray-nginx-deployment spec: selector: matchLabels: app: v2ray-nginx-deployment template: metadata: labels: app: v2ray-nginx-deployment spec: nodeSelector: kubernetes.io/hostname: hytron92863896 containers: - env: - name: TZ value: Asia/Shanghai image: v2fly/v2fly-core name: v2ray args: ["run", "-c", "/etc/v2ray/v2ray.json"] ports: - containerPort: 10000 volumeMounts: - name: v2ray-config mountPath: /etc/v2ray restartPolicy: Always volumes: - name: v2ray-config configMap: name: v2ray-config-file --- apiVersion: v1 kind: Service metadata: name: v2ray-nginx-service spec: ports: - name: "web" port: 80 targetPort: 10000 selector: app: v2ray-nginx-deployment --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nginx-ingress annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: 'true' traefik.ingress.kubernetes.io/router.tls.certresolver: lets-encr spec: rules: - host: xxxxxx.tomyail.com http: paths: - path: "/" pathType: Prefix backend: service: name: v2ray-nginx-service port: number: 80 通过 nodeSelector 指定了哪台机器作为 翻墙节点,美国的机器都有公网ip,所以ingress暴露出来的ip选出 hytron92863896的 ip绑定到cloudflare 然后访问的。 目前使用下来将翻墙节点放在集群里面最大的问题还是dns查询慢,因为如果没有修改过coredns配置,默认集群里面的的dns server 应该是 10.43.0.10。外部代理向 v2ray 的dns查询最终都会流向 10.43.0.10这个 ip,如果 这个ip 的pod 在v2ray不在同一台机器,就会增加不必要的dns查询延迟。当然 k3s 也能禁用 coredns 或者对它做一些配置,不过目前这方面还没做过研究~~
@songshi #21 发布于2023/10/11 12:15:09 @guigeng #20 我这个镜像是通过CI生成的,定时更新镜像和订阅啥的,靠中转去拉的,直接ss协议的。 至于证书问题,这个可能需要自己定制镜像呢,镜像里处理。gitops,证书就放到代码里了,泛域名证书。 证书放在镜像我还没想好怎么搞 不过最近k3s崩了,没折腾,现在是docker compose跑的
@Refinery7516 #23 发布于2023/10/11 12:30:32 @songshi #19 原来还有个 hostNetwork属性,赞,后面有空试试 hostnetwork只能非80 443端口用
@Refinery7516 #22 发布于2023/10/11 12:26:41 @guigeng #18 我的翻墙节点有两个 ,主节点通过docker compose 部署的,方案是 v2ray + WebSocket+TLS+Web. 用的搬瓦工 46刀日本机器。这台机器内存也比较小就没放到集群里面。 备用节点以防万一用的,确实部署在k3s集群里面(不在家-日本这个集群,而是在一个美国的集群里面)。部署内容大概这个样子 apiVersion: apps/v1 kind: Deployment metadata: name: v2ray-nginx-deployment spec: selector: matchLabels: app: v2ray-nginx-deployment template: metadata: labels: app: v2ray-nginx-deployment spec: nodeSelector: kubernetes.io/hostname: hytron92863896 containers: - env: - name: TZ value: Asia/Shanghai image: v2fly/v2fly-core name: v2ray args: ["run", "-c", "/etc/v2ray/v2ray.json"] ports: - containerPort: 10000 volumeMounts: - name: v2ray-config mountPath: /etc/v2ray restartPolicy: Always volumes: - name: v2ray-config configMap: name: v2ray-config-file --- apiVersion: v1 kind: Service metadata: name: v2ray-nginx-service spec: ports: - name: "web" port: 80 targetPort: 10000 selector: app: v2ray-nginx-deployment --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nginx-ingress annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: 'true' traefik.ingress.kubernetes.io/router.tls.certresolver: lets-encr spec: rules: - host: xxxxxx.tomyail.com http: paths: - path: "/" pathType: Prefix backend: service: name: v2ray-nginx-service port: number: 80 通过 nodeSelector 指定了哪台机器作为 翻墙节点,美国的机器都有公网ip,所以ingress暴露出来的ip选出 hytron92863896的 ip绑定到cloudflare 然后访问的。 目前使用下来将翻墙节点放在集群里面最大的问题还是dns查询慢,因为如果没有修改过coredns配置,默认集群里面的的dns server 应该是 10.43.0.10。外部代理向 v2ray 的dns查询最终都会流向 10.43.0.10这个 ip,如果 这个ip 的pod 在v2ray不在同一台机器,就会增加不必要的dns查询延迟。当然 k3s 也能禁用 coredns 或者对它做一些配置,不过目前这方面还没做过研究~~ 我用的sing-box
@guigeng #20
我这个镜像是通过CI生成的,定时更新镜像和订阅啥的,靠中转去拉的,直接ss协议的。
至于证书问题,这个可能需要自己定制镜像呢,镜像里处理。gitops,证书就放到代码里了,泛域名证书。
@guigeng #18 我的翻墙节点有两个 ,主节点通过docker compose 部署的,方案是 v2ray + WebSocket+TLS+Web. 用的搬瓦工 46刀日本机器。这台机器内存也比较小就没放到集群里面。
备用节点以防万一用的,确实部署在k3s集群里面(不在家-日本这个集群,而是在一个美国的集群里面)。部署内容大概这个样子
通过 nodeSelector 指定了哪台机器作为 翻墙节点,美国的机器都有公网ip,所以ingress暴露出来的ip选出 hytron92863896的 ip绑定到cloudflare 然后访问的。
目前使用下来将翻墙节点放在集群里面最大的问题还是dns查询慢,因为如果没有修改过coredns配置,默认集群里面的的dns server 应该是 10.43.0.10。外部代理向 v2ray 的dns查询最终都会流向 10.43.0.10这个 ip,如果 这个ip 的pod 在v2ray不在同一台机器,就会增加不必要的dns查询延迟。当然 k3s 也能禁用 coredns 或者对它做一些配置,不过目前这方面还没做过研究~~
@songshi #19 原来还有个 hostNetwork属性,赞,后面有空试试
证书放在镜像我还没想好怎么搞
不过最近k3s崩了,没折腾,现在是docker compose跑的
hostnetwork只能非80 443端口用
我用的sing-box
@Refinery7516 #22
不要用集群dns,用自己的dns或者宿主机dns。集群的dns取决于你的coredns pod所在节点dns
@guigeng #26
没太整明白sing-box😂,简单搞了
好厉害,插个眼。
@songshi #27 好的,学到了