У меня есть файл пода, который выглядит так:
apiVersion: v1
kind: Pod
metadata:
name: test-api
labels:
app: web
spec:
containers:
- name: test-api-container
image: cmgvieira/test-api:latest
imagePullSecrets:
- name: regsecret
Он работает правильно:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
test-api 1/1 Running 0 10d
Я могу получить к нему доступ, используя kubectl port-forward test-api 3000:80
затем wget localhost:3000
.
Когда я выставляю это с помощью kubectl expose -f test-api-pod.yml --port=80 --target-port=80 --type=LoadBalancer
, служба успешно создана:
$ kubectl describe service test-api
Name: test-api
Namespace: default
Labels: app=web
Selector: app=web
Type: LoadBalancer
IP: 100.XXX.XXX.XXX
LoadBalancer Ingress: XYZ-ABC.us-east-1.elb.amazonaws.com
Port: <unset> 80/TCP
NodePort: <unset> 32310/TCP
Endpoints: <none>
Session Affinity: None
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
7m 7m 1 {service-controller } Normal CreatingLoadBalancer Creating load balancer
7m 7m 1 {service-controller } Normal CreatedLoadBalancer Created load balancer
Но я не могу получить доступ с wget XYZ-ABC.us-east-1.elb.amazonaws.com
потому что время истекло.
Я подумал, что это может быть проблема с именем хоста, поэтому я добавил XYZ-ABC.us-east-1.elb.amazonaws.com в свой локальный файл «hosts», разрешив ему 127.0.0.1
, и сервер отвечает нормально.
Кто-нибудь знает, что может вызвать эту проблему?
Также обратите внимание, что когда я использую обычный nginx
изображение вместо моего собственного сервера приложений, оба port-forward
и expose
работают нормально.
FWIW:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:40:50Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:52:34Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}