我正在学习Kubernetes,并且我在裸金属上创建了一个实验室,所以我是Kubernetes noob!
我确实创建了我的deployment,它正在运行并使用NodePort进行访问,但是当我使用nginx-ingress时,nginx容器正在运行,并且它使用curl localhost在容器内进行响应,但是当我尝试从外部世界尝试时,我看到了这样的消息:curl: (7) Failed to connect to app.example.com port 80: Connection refused。
这是他们正在运行的我的app-service.yml和app-ingress.yml。
我对Kubernetes和AWS很陌生,把我当成一个菜鸟。
我让Kubernetes在AWS中运行,其名称如下:
> kube kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
ingress-nginx nginx-ingress-controller-76c86d76c4-s6kvk
我目前正在设置一个kubernetes集群(裸的ubuntu服务器)。我部署了metallb和ingress来处理ip和服务路由。这看起来挺好的。当我想得到入口- nginx控制器服务(在每个节点上工作)的externalIP时,我从nginx得到一个响应。但这只在集群网络中起作用。如何通过节点/主服务器ip从因特网访问我的服务(入口-nginx控制器,因为它执行路由)?我试着用iptable设置路由,但它似乎不起作用。我做错了什么,这是最好的练习吗?
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PRE