我尝试使用AWS来设置kubernetes(版本1.0.1)并在那里部署一些服务和pod。
但我遇到了LoadBalancer服务。根据文档,我只需要设置正确的服务类型并在防火墙中打开端口
但是服务没有接收外部IP。 (进入是空的)
我是否需要在AWS控制台中手动创建LoadBalancer?也许还有其他一些行动?
谢谢,
答案 0 :(得分:2)
应该自动创建LoadBalancer。
可能存在阻止创建负载均衡器的IAM策略问题(请参阅Issue #10692)。
如果问题不是这样,那么在主VM上查找/var/log/kube-controller-manager.log
中的错误可能会让您知道出了什么问题。
答案 1 :(得分:0)
无论您是使用kubernetes而不是使用kubernetes(通过发布kubectl获取svc来显示外部IP)还是使用amazon aws,这一步都是不同的。启动集群(aws或gcloud)后,使用kubectl create -f some-deployment.yaml部署应用程序,然后发出
kubectl expose rs your-pod-name --type="LoadBalancer"
展示你的应用......然后放松几分钟直到命令
kubectl get pods
回复列,STATUS的值为Running ...,然后发出
kubectl get svc
几分钟后将按照
在gcloud上显示EXTERNAL-IPNAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.123.240.1 <none> 443/TCP 10m
loudspeed-deployment-210 10.123.247.54 104.196.113.166 3000/TCP,80/TCP,443/TCP 1m
mongo 10.123.244.245 <none> 27017/TCP 5m
而在aws上,EXTERNAL-IP将部分显示LoadBalancer Ingress的URL ...以查看完整的URL问题
kubectl describe svc
典型的输出是
Labels: app=my-cool-app,pod-template-hash=494629853
Selector: app=my-cool-app,pod-template-hash=494629853
Type: LoadBalancer
IP: 10.0.154.138
LoadBalancer Ingress: a53bigscarystring33e-20075.us-east-1.elb.amazonaws.com
Port: port-1 80/TCP
NodePort: port-1 30487/TCP
Endpoints: 10.244.0.3:80
Port: port-2 443/TCP
NodePort: port-2 32698/TCP
Endpoints: 10.244.0.3:443
Session Affinity: None
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
14m 14m 1 {service-controller } Normal CreatingLoadBalancer Creating load balancer
13m 13m 1 {service-controller } Normal CreatedLoadBalancer Created load balancer
Name: mongo
Labels: name=mongo
Selector: name=mongo
Type: ClusterIP
IP: 10.0.63.81
Port: <unset> 27017/TCP
Endpoints: 10.244.0.4:27017
Session Affinity: None
No events.
注意上面的
值 LoadBalancer Ingress: a53bigscarystring33e-20075.us-east-1.elb.amazonaws.com
这是您使用
从命令行可见的外部URLcurl a53bigscarystring33e-20075.us-east-1.elb.amazonaws.com
并且通常映射到资源类型A自动刷新的选项列表中的aws Route 53控制台中的公共可见域
查看详细信息(我们不会在AWS防火墙中自动打开NodePort服务)https://github.com/kubernetes/kubernetes/blob/release-1.3/docs/design/aws_under_the_hood.md