0

我已经设置了一个运行 Kali 的 novnc 容器并将其托管为 k8s 服务类型NodePort。我可以通过 novnc 使用<master-node-ip>:<service-port>. 使用ip地址+服务端口访问novnc

我正在尝试使用 nginx-ingress + HA 代理在自定义 URL 上托管服务。

当我使用 URL 访问 novnc 时,它会显示消息something went wrong, connection is closed使用 url 访问 novnc

我尝试过同样的方法来托管一个简单的网页而没有问题,这个问题只发生在 novnc 服务上。

这些是部署的 YAML 文件:

创建命名空间

apiVersion: v1
kind: Namespace
metadata:
  name: training
  labels:
    name: training

网络政策

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: training-netpol
  namespace: training
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  ingress:
  - ports:
    - port: 6080
  - from:
    - namespaceSelector:
        matchLabels:
          name: training

部署

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kali-deployment
  namespace: training
spec:
  selector:
    matchLabels:
      app: kali-vm
  replicas: 1
  template:
    metadata:
      labels:
        app: kali-vm
    spec:
      containers:
      - name: kali-vm
        image: josephsim/kali-novnc
        ports:
        - containerPort: 6080

服务

apiVersion: v1
kind: Service
metadata:
  name: kali-svc
  namespace: training
spec:
  type: NodePort
  selector:
    app: kali-vm
  ports:
    - protocol: TCP
      port: 6080

入口控制器

    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: ingress-controller
      namespace: training
    spec:
      rules:
      - host: test.kali-vm.training.com
        http:
          paths:
          - backend:
              serviceName: kali-svc
              servicePort: 6080

/etc/hosts我还使用文件将 HA 代理机器的 IP 地址指向 URL 。

我正在使用此设置:https ://www.youtube.com/watch?v=chwofyGr80c

我正在使用裸机 kubernetes 集群。关于如何使这项工作的任何想法?


编辑:尝试使用ConfigMap,同样的问题仍然存在。

配置映射

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: training
data:
  6080: "training/kali-svc:6080"

4

0 回答 0