je pouvais créer le conteneur:le service bonjour Révéler-minikube ne parvient pas à trouver un port
$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=
deployment "hello-minikube" created
Et je suis maintenant essayer d'exposer un service:
$ kubectl expose deployment hello-minikube --type=NodePort
error: couldn't find port via --port flag or introspection
Même si je le supprimer , il revient encore de son propre:
$ kubectl delete pod hello-minikube-2138963058-2szl7
pod "hello-minikube-2138963058-2szl7" deleted
[[email protected] ~]
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-minikube-2138963058-nhh1q 1/1 Running 0 3m
le pod est le:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-minikube-2138963058-2szl7 1/1 Running 0 16m
Et sa description:
$ kubectl describe pod hello-minikube-2138963058-2szl7
Name: hello-minikube-2138963058-2szl7
Namespace: default
Node: minikube/192.168.42.196
Start Time: Thu, 14 Sep 2017 23:20:03 +0200
Labels: pod-template-hash=2138963058
run=hello-minikube
Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"hello-minikube-2138963058","uid":"2b37ca13-9968-11e7-a720-525400...
Status: Running
IP: 172.17.0.3
Created By: ReplicaSet/hello-minikube-2138963058
Controlled By: ReplicaSet/hello-minikube-2138963058
Containers:
hello-minikube:
Container ID: docker://5e4ba407d8869e6e843ec3d7876e953147cc01104e980c7febfea218808ab379
Image: gcr.io/google_containers/echoserver:1.4
Image ID: docker-pullable://gcr.io/google_containers/[email protected]:5d99aa1120524c801bc8c1a7077e8f5ec122ba16b6dda1a5d3826057f67b9bcb
Port: <none>
State: Running
Started: Thu, 14 Sep 2017 23:20:05 +0200
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-t8qx7 (ro)
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
default-token-t8qx7:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-t8qx7
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
17m 17m 1 default-scheduler Normal Scheduled Successfully assigned hello-minikube-2138963058-2szl7 to minikube
17m 17m 1 kubelet, minikube Normal SuccessfulMountVolume MountVolume.SetUp succeeded for volume "default-token-t8qx7"
17m 17m 1 kubelet, minikube spec.containers{hello-minikube} Normal Pulled Container image "gcr.io/google_containers/echoserver:1.4" already present on machine
17m 17m 1 kubelet, minikube spec.containers{hello-minikube} Normal Created Created container
17m 17m 1 kubelet, minikube spec.containers{hello-minikube} Normal Started Started container
Tout cela sur un minikube hôte sous Linux.
Je pourrais exposer le service 'kubectl exécuter bonjour-minikube - image = gcr.io/google_containers/echoserver: 1.4 --port = 82' et' kubectl exposer déploiement bonjour-minikube --type = NodePort' qui montre le service ' $ kubectl get services NOM CLUSTER-IP PORT (S) IP EXTERNE (S) AGE hello-minikube 10.0.0.81 82: 32515/TCP 4h' mais essayer de se connecter échoue '$ curl $ (minikube service hello-minikube --url curl: (7) Impossible de se connecter à 192.168.42.196 port 32515: Connexion refusée'' –
Stephane
Mais si au lieu d'utiliser le port 82 j'utilise le port 8080 il fonctionne alors. Je pensais pouvoir choisir mon propre port ici. Ce n'est pas le cas ? – Stephane
Non, vous ne pouvez pas utiliser votre propre port ou un port aléatoire d'ailleurs. Cela doit être le port écouté par le conteneur pour le trafic tel qu'il est dans l'image 'echoserver: 1.4'. Vous obtiendrez ce numéro de port à partir du repo où l'image est documentée. 8080 ne fonctionne que parce que vous avez eu la chance d'avoir deviné le bon port. La prochaine fois, mieux vaut vérifier cela dans la documentation de l'image pour vous faciliter la tâche. –