Kubernetes服务正在获取外部ip作为pending



我正在运行kubernetes LB,但外部ip说' pending ';看起来它正在尝试获得ip,但是,我需要它作为' localhost ';在我的浏览器中访问它:

我错过了什么?

NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/dev-pypi     LoadBalancer   10.106.128.15   <pending>     80:30914/TCP     2m7s
service/kubernetes   ClusterIP      10.96.0.1       <none>        443/TCP          47h
service/qa-pypi      LoadBalancer   10.97.62.94     <pending>     8200:30114/TCP   94m

提前感谢。这是我的html文件:

kind: Service
apiVersion: v1
metadata:
name: qa-pypi
spec:
type: LoadBalancer
selector:
app: pypi-qa
ports:
- protocol: TCP
port: 8200
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: qa-pypi
labels:
app: pypi-qa
spec:
replicas: 2
selector:
matchLabels:
app: pypi-qa
template:
metadata:
labels:
app: pypi-qa
spec:
containers:
- name: pypi-qa
imagePullPolicy: IfNotPresent
image: myimg2
ports:
- containerPort: 8080
volumeMounts:
- name: storageqa
mountPath: /app/local
volumes:
- name: storageqa
persistentVolumeClaim:
claimName: persistvolumeqa
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: persistvolumeqa
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

谢谢!!!!!!!!!!!!!!!!!!!!

你已经在这里有很多建议如何使用localhost,你可以用NodePort做什么。让我来填补空白,并解释为什么你看到Pending状态。

看,minikube本身不分配和提供LoadBalancerip地址。LoadBalancer服务类型广泛应用于云实现中,如EKS、AKS、GKE等。因为一旦你选择这种类型,云服务提供商就会在后台创建你的负载均衡器。

如果你想在minikube中使用LoadBalancer,你应该首先配置minikube。你可以使用内置的metallb minikube插件。

MetalLB已经解决了这个差距,并提供了网络LoadBalancer作为一个插件实现。

在metallb安装和配置期间,您可以设置将分配给LoadBalancer服务而不是Pending状态的本地ip地址范围

如果你想了解更多关于这一点,并查看配置的真实示例-例如,查看Minikube中的MetalLB配置-启用类型为"LoadBalancer"的Kubernetes服务文章

您可以使用入口从浏览器访问您的应用程序进入

settingup_ingress

教程

如果你没有找到你的主机设置后,它可能需要注册在根./etc/hosts

127.0.0.1   localhost
127.0.0.1   https-my-nginx.com

要在localhost中暴露你的应用,你可以尝试NodePort类型。如果您尝试使用kubeadm,您可以使用NodePort类型或ClusterIp类型,这样您就可以在本地公开它。通常,负载平衡器被广泛应用于云机器上的部署。

如果您正在尝试使用minikube,那么运行minikube tunnel,以便为Loadbalancer添加外部ip。

您必须首先在您的机器(平台)上配置外部IP,然后只有外部IP将分配给您的服务。它可以是VIP,你可以广告或地址池需要制作,否则设置入口也将无法达到目的,因为入口本身需要外部IP来分配通信。

这是一个网络的东西,你需要在你的私人机器上设置。

如果你不想使用这个选项,那么你可以选择可以通过nodeip:nodeport外部访问的节点端口。

相关内容

  • 没有找到相关文章

最新更新