Docker 未分配Kubernetes服务外部IP
我有以下部署yaml:Docker 未分配Kubernetes服务外部IP,docker,kubernetes,Docker,Kubernetes,我有以下部署yaml: apiVersion: v1 kind: Namespace metadata: name: authentication labels: name: authentication --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: authentication-deployment namespace: authentication spec: replicas: 2
apiVersion: v1
kind: Namespace
metadata:
name: authentication
labels:
name: authentication
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: authentication-deployment
namespace: authentication
spec:
replicas: 2
template:
metadata:
labels:
app: authentication
spec:
containers:
- name: authentication
image: blueapp/authentication:0.0.0
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: authentication-service
namespace: authentication
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
selector:
name: authentication-deployment
type: LoadBalancer
externalName: authentication
我对kubernetes很陌生,但我对我试图做的事情的理解是创建一个名称空间,在该名称空间中创建一个2个pod的部署,然后创建一个负载平衡器来将流量分配给这些pod
当我跑的时候
$ kubectl create -f deployment.yaml
一切都很好,但服务永远不会被分配外部IP
有什么明显的原因可能导致这种情况吗?您的服务属于
NodePort
类型。
要将负载平衡器分配给您的服务,您应该使用负载平衡器服务类型:
类型:负载平衡器
请参阅此处的文档:
只有在支持的云环境中才能分配外部IP,前提是您的云提供商配置正确
创建服务时,请观察
kube controller manager
日志中的错误消息。服务上实际上定义了两种类型,我认为这是一种输入错误。您的服务规范中有两种类型
。还有外部名称
的用途是什么?