J'ai une image appelée hello-node sur mon AWS ECR (décrite en bas du message). Si je l'exécute localement et aller à localhost: 8080 je vois "bonjour monde".Impossible d'accéder au service k8 exposé sur AWS sur Internet
Sur mon nœud sur AWS je lance:
kubectl run hello-node --image=xxxxxxxxxx.dkr.ecr.us-east-1.amazonaws.com/hello-node:v1 --port=8080
(numéro de compte bloqué)
alors:
kubectl expose deployment hello-node --type="LoadBalancer"
et si je lance:
kubectl describe service hello-node
Je vois (info édité)
Name: hello-node
Namespace: default
Labels: run=hello-node
Annotations: <none>
Selector: run=hello-node
Type: LoadBalancer
IP: xx.xx.xx.xx
LoadBalancer Ingress: xxxxxxxxx-xxxxxx.us-east-1.elb.amazonaws.com
Port: <unset> 8080/TCP
NodePort: <unset> 32059/TCP
Endpoints: xx.xx.xx.xx:8080
Session Affinity: None
J'essaye d'accéder à mon service de noeud salutaire en ligne. Je veux aller à une adresse Web ou une adresse IP dans mon navigateur et voir «Bonjour tout le monde».
J'ai essayé d'accéder à l'adresse IP, LoadBalancer Ingress et Endpoints listés ci-dessus, mais ces sites ne se chargent pas dans mon navigateur. Comment puis-je accéder à ce service sur Internet? Je fournirai plus d'informations si nécessaire. NOTE: si je fais kubectl port-forward hello-node-621867969-ztxnr 8080
alors je peux y accéder sur localhost: 8080 sur ma machine, donc quelque chose fonctionne au moins.
Service bonjour-noeud:
server.js:
var http = require('http');
var handleRequest = function(request, response) {
response.writeHead(200);
response.end("Hello World!");
}
var www = http.createServer(handleRequest);
www.listen(8080);
Dockerfile:
FROM node:6.9.2
EXPOSE 8080
COPY server.js .
CMD node server.js
run docker build -t hello-node:v1 .
course docker tag hello-node:v1 AWS_ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/hello-node:v1
run docker push AWS_ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/hello-node:v1
(mis dans mes informations de compte et de la région, et je vérifiais qu'il est téléchargé sur mon ECR)
Puis je courais les deux kubectl
commandes I énumérés dans le début de ce post .