尝试教自己如何使用Kubernetes,并遇到一些问题。
我能够建立一个集群,部署nginx映像,然后使用NodePort类型的服务访问nginx(将端口添加到节点的安全组入站规则中)。
下一步是尝试使用LoadBalancer类型的服务来尝试访问nginx。
我建立了一个新集群并部署了nginx映像。
kubectl \
create deployment my-nginx-deployment \
--image=nginx
然后我为LoadBalancer设置服务
kubectl expose deployment my-nginx-deployment --type=LoadBalancer --port=80 --target-port=8080 --name=nginxpubic
设置完成后,我尝试使用LoadBalancer Ingress(从描述LoadBalancer服务时发现)访问nginx。我收到此页面无法正常工作的错误。
不确定我哪里出了错。
kubectl的结果获取svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 100.64.0.1 <none> 443/TCP 7h
nginxpubic LoadBalancer 100.71.37.139 a5396ba70d45d11e88f290658e70719d-1485253166.us-west-2.elb.amazonaws.com 80:31402/TCP 7h
答案 0 :(得分:2)
从nginx dockerhub页面上,我看到该容器正在使用端口80。
http://treyhunner.com/2018/03/tuple-unpacking-improves-python-code-readability/
应该是这样的:
kubectl expose deployment my-nginx-deployment --type=LoadBalancer --port=80 --target-port=80 --name=nginxpubic
另外, 确保服务类型的负载均衡器在您的环境中可用。
minikube安装的已知问题
Features that require a Cloud Provider will not work in Minikube. These include:
LoadBalancers
Features that require multiple nodes. These include:
Advanced scheduling policies