Я пытаюсь настроить развертывание с несколькими кластерами, в котором есть несколько кластеров, и один вход - это балансировка нагрузки между ними.
Службы HTTP хорошо работают с настройкой, проблема здесь в sftp
сервере.
Ссылаясь на этот ответ и этот документация Я пытаюсь получить доступ к порту 22 sftp
услуга.
Развертывание sftp осуществляется через порт 22. Ниже приведен манифест:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: sftp
labels:
environment: production
app: sftp
spec:
replicas: 1
minReadySeconds: 10
template:
metadata:
labels:
environment: production
app: sftp
annotations:
container.apparmor.security.beta.kubernetes.io/sftp: runtime/default
spec:
containers:
- name: sftp
image: atmoz/sftp:alpine
imagePullPolicy: Always
args: ["user:1001:100:upload"]
ports:
- containerPort: 22
securityContext:
capabilities:
add: ["SYS_ADMIN"]
resources: {}
Вот простой манифест для sftp-сервиса, использующего сервис NodePort:
apiVersion: v1
kind: Service
metadata:
labels:
environment: production
name: sftp-service
spec:
type: NodePort
ports:
- name: sftp-port
targetPort: 9000
port: 9000
nodePort: 30063
protocol: TCP
selector:
app: sftp
ConfigMap create ссылается на вышеупомянутую документацию, и ответ выглядит следующим образом:
apiVersion: v1
kind: ConfigMap
metadata:
name: sftp-service
data:
9000: "default/sftp-service:22"
И, наконец, входной манифест выглядит примерно так:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-foo
annotations:
kubernetes.io/ingress.global-static-ip-name: static-ip
kubernetes.io/ingress.class: gce-multi-cluster
spec:
backend:
serviceName: http-service-zone-printer
servicePort: 80
rules:
- http:
paths:
- path: /sftp
backend:
serviceName: sftp-service
servicePort: 22
template:
spec:
containers:
- name: proxy-port
args:
- "--tcp-services-configmap=default/sftp-service"
Я чувствую, что не понял, как открыть порт TCP / UDP для sftp-сервера на кубернетах с использованием входящего трафика. Что я здесь делаю не так?
Есть ли другой способ простой настройки sftp
с использованием службы Ingress и NodePort в многокластерном развертывании?
Вот официальный документ, о котором я говорю сделать настройку.