Kubernetes (Minikube): переменная окружения - PullRequest
0 голосов
/ 05 июня 2018

Я управляю простым весенним микросервисным проектом с Minikube.У меня есть два проекта: lucky-word-client (на порту 8080) и lucky-word-server (на порту 8888).lucky-word-client должен общаться с lucky-word-server.Я хочу внедрить статический Nodeport сервера lucky-word (http://192.*..100:32002)) в качестве переменной среды в моем скрипте развертывания Kuberenetes для клиента lucky-word. Как я мог это сделать?

Это развертываниесервера счастливых слов:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: lucky-server
spec:
  selector:
      matchLabels:
        app: lucky-server
  replicas: 1
  template:
    metadata:
      labels:
        app: lucky-server
    spec:
      containers:
        - name: lucky-server
          image: lucky-server-img
          imagePullPolicy: Never
          ports:
            - containerPort: 8888

Это сервис сервера счастливых слов:

kind: Service
apiVersion: v1
metadata:
  name: lucky-server
spec:
  selector:
    app: lucky-server
  ports:
  - protocol: TCP
    targetPort: 8888
    port: 80
    nodePort: 32002
  type: NodePort

Это развертывание клиента счастливых слов:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: lucky-client
spec:
  selector:
      matchLabels:
        app: lucky-client
  replicas: 1
  template:
    metadata:
      labels:
        app: lucky-client
    spec:
      containers:
        - name: lucky-client
          image: lucky-client-img
          imagePullPolicy: Never
          ports:
            - containerPort: 8080

Это услуга клиента-счастливчика:

kind: Service
apiVersion: v1
metadata:
  name: lucky-client
spec:
  selector:
    app: lucky-client
  ports:
  - protocol: TCP
    targetPort: 8080
    port: 80
  type: NodePort

1 Ответ

0 голосов
/ 06 июня 2018

Kubernetes автоматически внедряет сервисы как переменные среды.https://kubernetes.io/docs/concepts/services-networking/service/#environment-variables

Но вы не должны использовать это. Это не сработает, если при создании модуля не будут задействованы все службы.Он вдохновлен «докером», который также перешел к открытию службы на основе DNS.Таким образом, «обнаружение служб на основе среды» осталось в прошлом.

Пожалуйста, положитесь на обнаружение служб DNS.Minikube поставляется с kube-dns, так что вы можете просто использовать lucky-server имя хоста (или одно из lucky-server[.default[.svc[.cluster[.local]]]] имен).Прочитайте документацию: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...