云服务器以域名形式访问机房Kubernetes集群服务之解决方案

1. 背景介绍

1)机房K8S集群采用KubeSphere方式部署,集群信息如下:

|----------|--------------|----------------|-----------|--------|------------------------|
| 服务器 | 内网地址 | 主机名 | 备注 | 配置 | 部署方式 |
| ESXI 虚拟机 | 10.10.18.151 | test-master151 | 主节点 | 4C16G | 1master 3worker 脚本自动部署 |
| ESXI 虚拟机 | 10.10.18.154 | test-node154 | node154节点 | 16C32G | 1master 3worker 脚本自动部署 |
| ESXI 虚拟机 | 10.10.18.155 | test-node155 | node155节点 | 16C32G | 1master 3worker 脚本自动部署 |
| ESXI 虚拟机 | 10.10.18.156 | test-node156 | node156节点 | 16C32G | 1master 3worker 脚本自动部署 |

2)上述节点公用同一联通专线出站公网IP,地址为1.1.1.1 ;入站公网IP为2.2.2.2

3)机房入站公网IP2.2.2.2的80和443端口未做互联网备案

4)云服务器IP为3.3.3.3

2. 访问需求

通过HTTPS域名形式【https://www.lmzf.com】访问机房k8s集群服务。

3. 解决方案

3.1 转发流程

https://www.lmzf.com------>3.3.3.3:443------> 2.2.2.2:32532------>10.10.18.151:32532

3.2 方案配置

3.2.1 域名解析

www.lmzf.com解析至3.3.3.3

3.2.2 Nginx配置

服务器3.3.3.3上nginx配置如下

复制代码
[root@3.3.3.3 ~]# cat  /etc/nginx/conf.d/www.lmzf.com.conf
server {
    listen 443 ssl;
    server_name www.lmzf.com;

    ssl_certificate    /etc/nginx/ssl/www.lmzf.com.pem;
    ssl_certificate_key   /etc/nginx/ssl/www.lmzf.com.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;


    location / {
        proxy_pass https://2.2.2.2:32532;  # 指向Kubesphere网关的节点端口
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Content-Type';
        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_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    error_log  /var/log/www.lmzf.com.error.log;
}

备注:服务器3.3.3.3的防火墙需放开32532端口

3.2.3 网关映射

路由器NAT配置或Nginx四层转发实现

2.2.2.2:32532------映射------>10.10.18.151:32532

3.2.4 KubeSphere网关配置

3.3.5 Ingress配置

复制代码
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: www.lmzf.com
  namespace: lmzf
  creationTimestamp: '2025-07-21T08:06:16Z'
  annotations:
    kubesphere.io/alias-name: lmzf
    kubesphere.io/creator: admin
spec:
  ingressClassName: kubesphere-router-cluster
  tls:
    - hosts:
        - www.lmzf.com
      secretName: www.lmzf.com_ssl
  rules:
    - host: www.lmzf.com
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: lmzf-nginx-web
                port:
                  number: 80

3.2.6 域名访问

浏览器输入:https://www.lmzf.com

相关推荐
MiNG MENS1 小时前
nginx 代理 redis
运维·redis·nginx
珊瑚怪人2 小时前
一个域名问题
nginx
dxdz5 小时前
一文搞定 Linux Nginx 从安装、启动到 nginx.conf 全配置详解(新手也能看懂)
nginx
遇见火星5 小时前
Nginx 负载均衡配置模板:轮询、权重、IP哈希、最少连接
tcp/ip·nginx·负载均衡
杨浦老苏6 小时前
自托管网页EPUB阅读器Codexa
docker·群晖·电子书·calibre·opds
杨浦老苏6 小时前
开源文件协作平台OpenCloud
docker·文件管理·群晖·协作
untE EADO8 小时前
Nginx代理到https地址忽略证书验证配置
运维·nginx·https
Treh UNFO9 小时前
nginx的重定向
大数据·数据库·nginx
weixin_377634849 小时前
【MinerU】 Docker Compose 使用
docker·容器·mineru
庚昀◟10 小时前
腾讯云 CVM + Docker + Jenkins + GitLab CI/CD 全流程指南(python、flask实现简单计算器)
python·ci/cd·docker·flask·jenkins