gpt4 book ai didi

kubernetes - Minikube入口未响应

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

我无法使用minikube在本地计算机上运行Minikube Nginx Ingress。它只是超时。
我关注了this教程和this one

Minikube版本:

v1.8.1 (commit cbda04cf6bbe65e987ae52bb393c10099ab62014)

集群信息:
// Client Version: 
{
Major: "1",
Minor: "17",
GitVersion: "v1.17.1",
GitCommit: "d224476cd0730baca2b6e357d144171ed74192d6",
GitTreeState: "clean",
BuildDate: "2020-01-14T21:04:32Z",
GoVersion: "go1.13.5",
Compiler: "gc",
Platform: "windows/amd64"
}
// Server Version: version.Info
{
Major: "1",
Minor: "17",
GitVersion: "v1.17.3",
GitCommit: "06ad960bfd03b39c8310aaf92d1e7c12ce618213",
GitTreeState: "clean",
BuildDate: "2020-02-11T18:07:13Z",
GoVersion: "go1.13.6",
Compiler: "gc",
Platform: "linux/amd64"
}

我的本地环境一定有问题,但是我不知道如何调试它。到目前为止,这是我当前的环境:
apiVersion: v1
kind: Service
metadata:
name: hello-kubernetes-first
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 8080
name: http
selector:
app: hello-kubernetes-first
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-kubernetes-first
spec:
replicas: 3
selector:
matchLabels:
app: hello-kubernetes-first
template:
metadata:
labels:
app: hello-kubernetes-first
spec:
containers:
- name: hello-kubernetes
image: paulbouwer/hello-kubernetes:1.5
ports:
- containerPort: 8080
env:
- name: MESSAGE
value: Hello from the first deployment!
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-kubernetes-ingress
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: hw1.com
http:
paths:
- backend:
serviceName: hello-kubernetes-first
servicePort: 80

系统 pods
~\Desktop\kubernetes> kubectl get pods -n kube-system                                                                                                                                                              NAME                                        READY   STATUS    RESTARTS   AGE
coredns-6955765f44-8zxgw 1/1 Running 6 12d
coredns-6955765f44-jr9xq 1/1 Running 7 12d
etcd-m01 1/1 Running 1 3h48m
kube-apiserver-m01 1/1 Running 1 3h48m
kube-controller-manager-m01 1/1 Running 597 12d
kube-proxy-mnhcl 1/1 Running 7 12d
kube-scheduler-m01 1/1 Running 596 12d
nginx-ingress-controller-6fc5bcc8c9-z7m2b 1/1 Running 6 27h
storage-provisioner 1/1 Running 11 12d

C:\ Windows \ System32 \ drivers \ etc \ hosts
172.17.186.182 hw1.com

迷你库IP
~\Desktop\kubernetes> minikube IP
172.17.186.182

最佳答案

您正在Service定义中使用ClusterIP,从输出的外观看,您正在Windows上运行minikube。

从Windows CMD您将无法获得ClusterIP,因为它在VM(虚拟机)中运行。您可以通过运行以下命令来确认:

minikube ssh

然后在VM中:
curl 172.17.186.182

您可以尝试在VM上使用 NodePort 公开服务。这将是您的VM外部可用的端口,但由于Kubernetes分配了 30000-32767的可配置范围,所以不会是80。您可以根据需要使用 --service-node-port-range portRange选项在 kube-apiserver中手动更改此设置。
apiVersion: v1
kind: Service
metadata:
name: hello-kubernetes-first
spec:
type: NodePort
ports:
- port: 80
targetPort: 8080
name: http
selector:
app: hello-kubernetes-first

从Windows CMD中获取 NodePort(示例):
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-kubernetes-first NodePort 10.102.234.222 <none> 80:31181/TCP 3m51s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 138d

上面的NodePort是 31181
接下来,您必须在虚拟机中为eth0使用IP:
minikube ssh
$ ifconfig eth0

然后回到您的Windows CMD:
curl <ip-from-eth0-above>:31181

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

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