☸️ Как использовать локальную переадресацию портов в Kubernetes

by itisgood

Использование локальной переадресации портов в Kubernetes.

Создайте пример пространства имен, развертывания и сервиса.

$ kubectl apply -f - <<EOF
apiVersion: v1
kind: Namespace
metadata:
  name: octopus
EOF
namespace/octopus created
$ kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: octopus-httpd
  name: octopus-httpd
  namespace: octopus
spec:
  replicas: 2
  selector:
    matchLabels:
      app: octopus-httpd
  template:
    metadata:
      labels:
        app: octopus-httpd
    spec:
      containers:
      - image: httpd:latest
        name: octopus-httpd
        ports:
        - name: http
          protocol: TCP
          containerPort: 80
EOF
deployment.apps/octopus-httpd created
$ kubectl apply -f - <<EOF
apiVersion: v1
kind: Service
metadata:
  name: octopus-httpd-service
  namespace: octopus
spec:
  type: ClusterIP
  ports:
    - name: http
      port: 80
      protocol: TCP
  selector:
    app: octopus-httpd 
EOF
service/octopus-httpd-service created

Перечислим поды:

$ kubectl get -n octopus pods
NAME                             READY   STATUS    RESTARTS   AGE
octopus-httpd-59f8f6645f-44hdw   1/1     Running   0          35s
octopus-httpd-59f8f6645f-8l4pv   1/1     Running   0          35s

Переадресация порта на конкретный под.

$ kubectl port-forward -n octopus pods/octopus-httpd-59f8f6645f-44hdw 10080:80

Переадресация порта на определенный сервис.

$ kubectl port-forward -n octopus svc/octopus-httpd-service 10080:80

Переадресация на конкретное развертывание.

$ kubectl port-forward -n octopus deployments/octopus-httpd 10080:80

Проверьте подключение.

$ curl 127.0.0.1:10080
<html><body><h1>It works!</h1></body></html>

Помните, что данная функциональность основана на работе с подами, поэтому забудьте о балансировке нагрузки или переключении направлений, считайте, что вы подключитесь к первому запущенному поду, отсортированному по имени.

см. также:

You may also like

Leave a Comment