gpt4 book ai didi

Kubernetes - Minikube 的入口

转载 作者:行者123 更新时间:2023-12-02 11:50:31 25 4
gpt4 key购买 nike

我正在通过玩 minikube 来学习 kubernetes。

这是我的 pod 部署文件,很好。

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 2
selector:
matchLabels:
component: web
template:
metadata:
labels:
component: web
spec:
containers:
- name: myapp
image: myid/myimage

我正在使用 NodePort 公开上述 pod。我可以在 30002 端口使用 minikube IP 访问。
apiVersion: v1
kind: Service
metadata:
name: my-ip-service
spec:
type: NodePort
externalIPs:
- 192.168.99.100
selector:
component: web
ports:
- port: 3000
nodePort: 30002
targetPort: 8080

现在我想使用入口访问端口 80 的应用程序,它将请求转发到端口 3000 的 ip-service。它不起作用
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
spec:
backend:
serviceName: my-ip-service
servicePort: 3000

如果我尝试访问入口,地址为空白。
NAME           HOSTS   ADDRESS   PORTS   AGE
test-ingress * 80 41m

如何在 minikube 中使用入口?或者如何将 minikube ip 与入口服务绑定(bind) - 以便应用程序可以在不使用 nodeport 的情况下暴露在外部

最佳答案

您可以通过以下方式获取 minikube 节点的 IP 地址:

minikube ip

由于 minikube 缺少负载均衡器,因此 ingress 的 IP 地址不会填充到 minikube 中。如果您想为您的 minikube 集群提供类似于负载均衡器的功能, https://github.com/knative/serving/blob/master/docs/creating-a-kubernetes-cluster.md#loadbalancer-support-in-minikube建议运行以下命令来修补集群:
sudo ip route add $(cat ~/.minikube/profiles/minikube/config.json | jq -r ".KubernetesConfig.ServiceCIDR") via $(minikube ip)
kubectl run minikube-lb-patch --replicas=1 --image=elsonrodriguez/minikube-lb-patch:0.1 --namespace=kube-system

关于Kubernetes - Minikube 的入口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53253793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com