我是 Kubernetes 新手,正试图通过入口资源公开我的服务(Nginx)。入口控制器已经通过 helm nginx-stable/nginx-ingress 安装。尝试从入口资源访问所述 IP 和端口时。这是无法访问的,通过进行一些研究,我发现我需要安装 metalLB。
我的问题是我真的需要安装 MetalLB 还是有任何替代的内置资源可以配置或用于路由流量?
我是 Kubernetes 新手,正试图通过入口资源公开我的服务(Nginx)。入口控制器已经通过 helm nginx-stable/nginx-ingress 安装。尝试从入口资源访问所述 IP 和端口时。这是无法访问的,通过进行一些研究,我发现我需要安装 metalLB。
我的问题是我真的需要安装 MetalLB 还是有任何替代的内置资源可以配置或用于路由流量?
简而言之,您不一定需要安装 metalLB 才能使简单的 kubernetes 配置工作。也许您可以共享无法访问的服务信息或错误日志
很抱歉由于假期而耽搁了..
我正在使用运行 3 台机器的 Virtualbox
K8s版本
启用入口
helm install my-release nginx-stable/nginx-ingress
部署
kubectl describe deployment --namespace helm-exam
Name: node-deployment-1
Namespace: helm-exam
CreationTimestamp: Fri, 08 Jan 2021 12:01:22 +0800
Labels: app=node-deployment-1
app.kubernetes.io/managed-by=Helm
Annotations: deployment.kubernetes.io/revision: 1
meta.helm.sh/release-name: helm-deployment
meta.helm.sh/release-namespace: default
Selector: app=node-deployment-1
Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=node-deployment-1
Containers:
nginx:
Image: nginx
Port: <none>
Host Port: <none>
Environment:
ENVIRONMENT: DEV
Mounts: <none>
Volumes: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: node-deployment-1-78dd8f445b (3/3 replicas created)
Events: <none>
服务
kubectl describe svc --namespace helm-exam
Name: node-service-1
Namespace: helm-exam
Labels: app=node-service-1
app.kubernetes.io/managed-by=Helm
Annotations: meta.helm.sh/release-name: helm-deployment
meta.helm.sh/release-namespace: default
Selector: app=node-deployment-1
Type: ClusterIP
IP Families: <none>
IP: 10.109.148.140
IPs: 10.109.148.140
Port: <unset> 80/TCP
TargetPort: 80/TCP
Endpoints: 10.244.1.26:80,10.244.1.27:80,10.244.1.28:80
Session Affinity: None
Events: <none>
入口
kubectl describe ingress --namespace helm-exam
Name: node-ingress
Namespace: helm-exam
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
nginx.helm.com
/ node-service-1:80 (10.244.1.26:80,10.244.1.27:80,10.244.1.28:80)
Annotations: meta.helm.sh/release-name: helm-deployment
meta.helm.sh/release-namespace: default
Events: <none>
kubectl get ingress --namespace helm-exam
NAME CLASS HOSTS ADDRESS PORTS AGE
node-ingress <none> nginx.helm.com 80 8m57s
Ingress 不显示或提供任何 IP 地址