家里的 Kong Ingress Controller
Kong Ingress Controller at Home
我正在学习 Kubernetes 和入口控制器,但是当我尝试应用 kong 入口清单时我遇到了这个错误...
ingress-kong-7dd57556c5-bh687 0/2 Init:0/1 0 29s
kong-migrations-gzlqj 0/1 Init:0/1 0 28s
postgres-0 0/1 Pending 0 28s
是否可以在没有 minikube 的情况下 运行 在我的家庭服务器上进入这个入口?如果可以,怎么做?
注意:我有一个 FQDN 指向我的家庭服务器。
我猜你 运行 来自 Github
Pods
的问题
我已经转载了你的案例。因为你有 3 pods,你已经使用了 DB 的选项。
如果您将描述 pods 使用
$ kubectl describe pod <podname> -n kong
您将收到错误输出:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 7s (x4 over 17s) default-scheduler pod has unbound immediate PersistentVolumeClaims (repeated 2 times)
您还可以在 kong 命名空间中查看 job
。
它在新的 Minikube
集群上正常工作,所以我猜你可能会对存储类应用相同的更改。
是否可以在没有 minikube 的情况下 运行 在我的家庭服务器上进入这个入口?如果是,怎么办?
你必须使用 Kubernetes 来做。由于 Minikube 支持 LoadBalancer
,您可以在 Home 中使用它。
您可以检查 关于 FQDN。如前所述:
The host machine should be able to resolve the name of that FQDN. You
might add a record into the /etc/hosts at the Mac host to achieve
that:
10.0.0.2 mydb.mytestdomain
但在您的情况下,它应该是 LoadBalancer
、kong-proxy
.
的 IP 地址
在Minikube中获取LoadBalancer IP
如果您将正确部署所有内容,您可以检查您的服务。
$ kubectl get svc -n kong
您将看到带有 <pending>
EXTERNAL-IP 的 LoadBalancer 类型的 kong-proxy 服务。
要获得 ExternalIP,您必须使用 minikbue tunnel
。
请注意,您需要在一台主机上一直使用 $ sudo minikube tunnel
运行。
Minikube隧道之前
$ kubectl get svc -n kong
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kong-proxy LoadBalancer 10.110.218.74 <pending> 80:31881/TCP,443:31319/TCP 103m
kong-validation-webhook ClusterIP 10.108.204.137 <none> 443/TCP 103m
postgres ClusterIP 10.105.9.54 <none> 5432/TCP 103m
之后
$ kubectl get svc -n kong
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kong-proxy LoadBalancer 10.110.218.74 10.110.218.74 80:31881/TCP,443:31319/TCP 104m
kong-validation-webhook ClusterIP 10.108.204.137 <none> 443/TCP 104m
postgres ClusterIP 10.105.9.54 <none> 5432/TCP 104m
试金刚
Here you can find how to get start with Kong. It will show you how to create Ingress
. Later as I mentioned you have to edit ingress
and add rule (host) similar like in K8s docs.
我正在学习 Kubernetes 和入口控制器,但是当我尝试应用 kong 入口清单时我遇到了这个错误...
ingress-kong-7dd57556c5-bh687 0/2 Init:0/1 0 29s
kong-migrations-gzlqj 0/1 Init:0/1 0 28s
postgres-0 0/1 Pending 0 28s
是否可以在没有 minikube 的情况下 运行 在我的家庭服务器上进入这个入口?如果可以,怎么做?
注意:我有一个 FQDN 指向我的家庭服务器。
我猜你 运行 来自 Github
Pods
的问题我已经转载了你的案例。因为你有 3 pods,你已经使用了 DB 的选项。
如果您将描述 pods 使用
$ kubectl describe pod <podname> -n kong
您将收到错误输出:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 7s (x4 over 17s) default-scheduler pod has unbound immediate PersistentVolumeClaims (repeated 2 times)
您还可以在 kong 命名空间中查看 job
。
它在新的 Minikube
集群上正常工作,所以我猜你可能会对存储类应用相同的更改。
是否可以在没有 minikube 的情况下 运行 在我的家庭服务器上进入这个入口?如果是,怎么办?
你必须使用 Kubernetes 来做。由于 Minikube 支持 LoadBalancer
,您可以在 Home 中使用它。
您可以检查
The host machine should be able to resolve the name of that FQDN. You might add a record into the /etc/hosts at the Mac host to achieve that: 10.0.0.2 mydb.mytestdomain
但在您的情况下,它应该是 LoadBalancer
、kong-proxy
.
在Minikube中获取LoadBalancer IP
如果您将正确部署所有内容,您可以检查您的服务。
$ kubectl get svc -n kong
您将看到带有 <pending>
EXTERNAL-IP 的 LoadBalancer 类型的 kong-proxy 服务。
要获得 ExternalIP,您必须使用 minikbue tunnel
。
请注意,您需要在一台主机上一直使用 $ sudo minikube tunnel
运行。
Minikube隧道之前
$ kubectl get svc -n kong
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kong-proxy LoadBalancer 10.110.218.74 <pending> 80:31881/TCP,443:31319/TCP 103m
kong-validation-webhook ClusterIP 10.108.204.137 <none> 443/TCP 103m
postgres ClusterIP 10.105.9.54 <none> 5432/TCP 103m
之后
$ kubectl get svc -n kong
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kong-proxy LoadBalancer 10.110.218.74 10.110.218.74 80:31881/TCP,443:31319/TCP 104m
kong-validation-webhook ClusterIP 10.108.204.137 <none> 443/TCP 104m
postgres ClusterIP 10.105.9.54 <none> 5432/TCP 104m
试金刚
Here you can find how to get start with Kong. It will show you how to create Ingress
. Later as I mentioned you have to edit ingress
and add rule (host) similar like in K8s docs.