Comment exposer kubernetes service public sans codage en dur pour minion IP?

J'ai un kubernetes cluster en cours d'exécution avec 2 minions.
Actuellement je fais mon service accessible en 2 étapes:

  1. De démarrer la réplication du contrôleur de & gousse
  2. Obtenir minion IP (à l'aide de kubectl get minions) et la définir comme publicIPs pour le Service.

Qu'est-ce que la pratique suggérée pour exposer un service au public? Mon approche semble faux, parce que je code en dur l'adresse IP de la personne minion IP-s. Il semble également de contourner les capacités d'équilibrage de charge de kubernetes services, parce que les clients ont accès à des services en cours d'exécution sur personne sbires directement.

Pour configurer la réplication du contrôleur de & pod-je utiliser:

id: frontend-controller
kind: ReplicationController
apiVersion: v1beta1
desiredState:
  replicas: 2
  replicaSelector:
    name: frontend-pod
  podTemplate:
    desiredState:
      manifest:
        version: v1beta1
        id: frontend-pod
        containers:
          - name: sinatra-docker-demo
            image: madisn/sinatra_docker_demo
            ports:
              - name: http-server
                containerPort: 4567
    labels:
      name: frontend-pod

Pour configurer le service (après l'obtention de minion ip s):

kind: Service
id: frontend-service
apiVersion: v1beta1
port: 8000
containerPort: http-server
selector:
  name: frontend-pod
labels:
  name: frontend
publicIPs: [10.245.1.3, 10.245.1.4]
  • Où en êtes-vous de l'exécution de votre cluster? Certains fournisseurs de cloud, tels que la CME et GKE vous permettent de créer un service avec un équilibreur de charge.
  • Je suis l'aide de vagrant fournisseur local (développement) et EC2 en production, donc je suis à la recherche d'une solution qui fonctionnerait de la même façon indépendante du fournisseur.
  • CreateExternalLoadbalancer est l'abstraction que vous cherchez, mais malheureusement, il n'est pas mis en œuvre pour Vagrant.
InformationsquelleAutor Madis Nõmme | 2015-04-21