Nginx 在<;nodeinternalip>/&书信电报;serviceendpoint>;库伯内特斯星系团
我有两个节点集群和一个工作节点。我已经按照文档设置了入口控制器,然后创建了部署、服务(节点端口)和入口对象。我的目标是使用curl-s INTERNAL\u IP/Serviceendpoint来访问服务。实现这一点需要什么配置。这在minikube上非常有效,但在集群上不起作用。 注意-使用Nginx 在<;nodeinternalip>/&书信电报;serviceendpoint>;库伯内特斯星系团,nginx,kubernetes,Nginx,Kubernetes,我有两个节点集群和一个工作节点。我已经按照文档设置了入口控制器,然后创建了部署、服务(节点端口)和入口对象。我的目标是使用curl-s INTERNAL\u IP/Serviceendpoint来访问服务。实现这一点需要什么配置。这在minikube上非常有效,但在集群上不起作用。 注意-使用:NODEPORT 下面是示例服务和入口对象定义- apiVersion: v1 kind: Service metadata: name: nginx-test1
:NODEPORT
下面是示例服务和入口对象定义-
apiVersion: v1
kind: Service
metadata:
name: nginx-test1
labels:
app: nginx-test1
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx-test1
type: NodePort
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nginx-test1
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /nginx-test1
backend:
serviceName: nginx-test1
servicePort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx-test1
name: nginx-test1
spec:
replicas: 2
selector:
matchLabels:
app: nginx-test1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: nginx-test1
spec:
containers:
- image: nginx
name: nginx-test1
resources: {}
ports:
- containerPort: 80
protocol: TCP
$kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
controlplane Ready master 50m v1.19.0 172.17.0.10 <none> Ubuntu 18.04.4 LTS 4.15.0-111-generic docker://19.3.6
node01 Ready <none> 49m v1.19.0 **172.17.0.11** <none> Ubuntu 18.04.4 LTS 4.15.0-111-generic docker://19.3.6
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 51m
nginx-test1 NodePort 10.96.244.119 <none> 80:30844/TCP 3m3s
kubectl describe ing
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
Name: nginx-test1
Namespace: default
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
*
/nginx-test1 nginx-test1:80 10.244.1.8:80,10.244.1.9:80)
Annotations: nginx.ingress.kubernetes.io/rewrite-target: /
**curl -s -v 172.17.0.11/nginx-test1**
*** Trying 172.17.0.11...
* TCP_NODELAY set
* connect to 172.17.0.11 port 80 failed: Connection refused
* Failed to connect to 172.17.0.11 port 80: Connection refused
* Closing connection 0**
apiVersion:v1
种类:服务
元数据:
名称:nginx-test1
标签:
应用程序:nginx-test1
规格:
端口:
-港口:80
协议:TCP
目标港:80
选择器:
应用程序:nginx-test1
类型:节点端口
---
apiVersion:networking.k8s.io/v1beta1
种类:入口
元数据:
名称:nginx-test1
注释:
nginx.ingres.kubernetes.io/rewrite-target:/
规格:
规则:
-http:
路径:
-路径:/nginx-test1
后端:
服务名称:nginx-test1
服务端口:80
---
apiVersion:apps/v1
种类:部署
元数据:
creationTimestamp:空
标签:
应用程序:nginx-test1
名称:nginx-test1
规格:
副本:2份
选择器:
火柴标签:
应用程序:nginx-test1
策略:{}
模板:
元数据:
creationTimestamp:空
标签:
应用程序:nginx-test1
规格:
容器:
-图片:nginx
名称:nginx-test1
资源:{}
端口:
-集装箱港口:80
协议:TCP
$kubectl获取节点-o宽
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
controlplane Ready master 50m v1.19.0 172.17.0.10 Ubuntu 18.04.4 LTS 4.15.0-111-genericdocker://19.3.6
node01-Ready 49m v1.19.0**172.17.0.11**Ubuntu 18.04.4 LTS 4.15.0-111-genericdocker://19.3.6
kubectl获得svc
名称类型CLUSTER-IP外部IP端口年龄
kubernetes ClusterIP 10.96.0.1 443/TCP 51m
nginx-test1节点端口10.96.244.119 80:30844/TCP 3m3s
库贝克
警告:扩展/v1beta1入口在v1.14+中不推荐使用,在v1.22+中不可用;使用networking.k8s.io/v1入口
名称:nginx-test1
名称空间:默认值
地址:
默认后端:默认http后端:80()
规则:
主机路径后端
---- ---- --------
*
/nginx-test1 nginx-test1:80 10.244.1.8:80,10.244.1.9:80)
注释:nginx.ingres.kubernetes.io/rewrite-target:/
**curl-s-v 172.17.0.11/nginx-test1**
***正在尝试172.17.0.11。。。
*TCP_节点集
*连接到172.17.0.11端口80失败:连接被拒绝
*无法连接到172.17.0.11端口80:连接被拒绝
*正在关闭连接0**
您的群集是否部署在任何云提供商上?或者是裸机?我正在KodeCloud和Katacoda集群上尝试。