Перенаправление портов через кластер k8s

Хорошего дня. У меня есть кластер k8s и gitlab, установленные на выделенном сервере (как типичное приложение в реальной ОС), у меня есть вход на k8s, который направляет трафик по адресу хоста в gitlab через службу externalName

нет, мне нужно предоставлять доступ к ssh, поэтому я создаю службу без селектора и соответствующей конечной точки:

apiVersion: v1
kind: Service
metadata:
  name: gitlab-service-ssh
  namespace: host
spec:
  type: NodePort
  ports:
    - protocol: TCP
      port: 22
      nodePort: 30222
---
apiVersion: v1
kind: Endpoints
metadata:
  name: gitlab-service-ssh
  namespace: host
subsets:
  - addresses:
    - ip: 192.168.0.24
    ports:
    - port: 22

я могу получить доступ к ssh с узла кластера k8s черезgit clone ssh://git@git.xxxxxx:30222/XXXXXи это работает правильно

если я попытаюсь получить доступ с любого компьютера LAN, который я получаюssh: connect to host git.xxxxx port 30222: Resource temporarily unavailable

на этом порте нет активного брандмауэра или другой службы (я пытаюсь использовать другой порт - тот же результат)

так что я не понимаю, что это моя вина.

Я использую k8s версии 1.16 на голом железе с Metallb в качестве баланса нагрузки, хост-машина под Ubuntu 18.04

1 ответ

Убедитесь, что на сервере не установлен Nginx, и по умолчанию он блокирует SSH. Ты должен sudo ufw allow ssh.

Также выполните: netstat -an | select-string 30222чтобы проверить статус. Попробуйте подключиться через IP, а не через имя хоста. Взгляните: ssh-host.

Другие вопросы по тегам