Рубрики
Uncategorized

kubectl портируют прямые внешние услуги с использованием прокси TCP в Kubernetes

Как портировать услуги, такие как базы данных, которые развернуты в частной подсети, к которой подключаются ваши контейнеры. Теги с DevOps, Kubernetes.

Синопсис

Обычно, что некоторые ваши рабочие нагрузки подключаются к внешним сервисам, таким как базы данных, которые запускаются вне кластера Kubernetes. Эти внешние службы обычно защищены и развернуты в частной подсети.

Моя команда в настоящее время использует двигатель Google Kubernetes, и мы используем GCP Creamplestore (Redis в качестве обслуживания) для кэширования. Для нас надежно доступа к Treamstore, нам придется предоставить виртуальную машину, которая будет выступать в качестве хозяина Бастиона, но мы нашли лучший подход к решению с этим.

Переадресация порта с прокси TCP

Все наши услуги работают в Кубебене, а как можно больше, мы хотим придерживаться kubectl все Рабочий процесс при работе с нашими услугами. Все благодаря Tecnativa/TCP-прокси , это делает TCP прокси действительно легким с Docker.

Таким образом, в основном любые внешние службы, которые могут получить доступ к кластеру Kubernetes, также можно получить доступ к локально, развернув эту присоску.

Предупреждение: Это может быть ошибочный недостаток в вашем случае, но не для нас.

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: redis-proxy
  name: redis-proxy
  namespace: default
spec:
  selector:
    matchLabels:
      app: redis-proxy
  template:
    metadata:
      labels:
        app: redis-proxy
    spec:
      containers:
      - image: tecnativa/tcp-proxy:latest
        imagePullPolicy: Always
        env:
          - name: LISTEN
            value: ":6379" # The listen address that it will be exposed to.
          - name: TALK
            value: "10.1.1.5:6379" # Private address of Memorystore.
        name: redis-proxy
        resources:
          requests:
            cpu: 10m
            memory: 10m
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      securityContext: {}

С развернутым TCP-прокси, теперь мы можем просто портировать POD TCP-прокси.

kubectl port-forward redis-proxy 6379:6379

И доступа к Memorystore локально используя Redis-Cli Отказ

redis-cli -p 6379

Оригинал: «https://dev.to/bzon/kubectl-port-forward-external-services-using-tcp-proxy-in-kubernetes-4li2»