启用了tcp-config.yaml后30000没有启动
来源:11-1 ingress --- 四层代理、session保持、定制配置、流量控制(上)

慕工程8041948
2021-05-02
启用了tcp-config.yaml后30000没有启动?
配置:
cat tcp-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
data:
“30000”: dev/web-demo:80
Ingress的配置:
kubectl describe pod nginx-ingress-controller-rfz7r -n ingress-nginx
Name: nginx-ingress-controller-rfz7r
Namespace: ingress-nginx
Priority: 0
PriorityClassName:
Node: s1/192.168.40.180
Start Time: Sat, 01 May 2021 22:33:57 +0800
Labels: app.kubernetes.io/name=ingress-nginx
app.kubernetes.io/part-of=ingress-nginx
controller-revision-hash=6bbf54cc98
pod-template-generation=1
Annotations: prometheus.io/port: 10254
prometheus.io/scrape: true
Status: Running
IP: 192.168.40.180
Controlled By: DaemonSet/nginx-ingress-controller
Containers:
nginx-ingress-controller:
Container ID: docker://fc81d313db83d3ea872c6c8c72a6020db4729baedc717223673c1acd2fed3e57
Image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.20.0
Image ID: docker-pullable://quay.io/kubernetes-ingress-controller/nginx-ingress-controller@sha256:f6180c5397d2361c317aff1314dc192ab0f9f515346a5319422cdc264f05d2d9
Ports: 80/TCP, 443/TCP
Host Ports: 80/TCP, 443/TCP
Args:
/nginx-ingress-controller
–default-backend-service=(PODNAMESPACE)/default−http−backend−−configmap=(POD_NAMESPACE)/default-http-backend
--configmap=(PODNAMESPACE)/default−http−backend−−configmap=(POD_NAMESPACE)/nginx-configuration
–tcp-services-configmap=(PODNAMESPACE)/tcp−services−−udp−services−configmap=(POD_NAMESPACE)/tcp-services
--udp-services-configmap=(PODNAMESPACE)/tcp−services−−udp−services−configmap=(POD_NAMESPACE)/udp-services
–publish-service=$(POD_NAMESPACE)/ingress-nginx
–annotations-prefix=nginx.ingress.kubernetes.io
State: Running
Started: Sat, 01 May 2021 22:33:57 +0800
Ready: True
Restart Count: 0
Liveness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
Readiness: http-get http://:10254/healthz delay=0s timeout=1s period=10s #success=1 #failure=3
Environment:
POD_NAME: nginx-ingress-controller-rfz7r (v1:metadata.name)
POD_NAMESPACE: ingress-nginx (v1:metadata.namespace)
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from nginx-ingress-serviceaccount-token-676bg (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
nginx-ingress-serviceaccount-token-676bg:
Type: Secret (a volume populated by a Secret)
SecretName: nginx-ingress-serviceaccount-token-676bg
Optional: false
QoS Class: BestEffort
Node-Selectors: app=ingress
Tolerations: node.kubernetes.io/disk-pressure:NoSchedule
node.kubernetes.io/memory-pressure:NoSchedule
node.kubernetes.io/network-unavailable:NoSchedule
node.kubernetes.io/not-ready:NoExecute
node.kubernetes.io/pid-pressure:NoSchedule
node.kubernetes.io/unreachable:NoExecute
node.kubernetes.io/unschedulable:NoSchedule
Events:
都是按照视频完整操作。
kubectl get pods -n ingress-nginx -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default-http-backend-5c9bb94849-g4lfv 1/1 Running 1 35d 172.22.3.8 s1
nginx-ingress-controller-rfz7r 1/1 Running 0 12h 192.168.40.180 s1
在s1这台服务器上:
[root@s1 ~]# netstat -tnlp | grep 30000
[root@s1 ~]#
30000端口没有监听。
定义的ingres的controller里面是有定义使用hostnetwork的:
cat nginx-ingress-controller.yaml | grep "hostNetwork"
hostNetwork: true
想不明白为啥30000端口不能监听。
1回答
-
刘果国
2021-05-02
看看ingress-nginx监听了什么端口,先基本确认它本身没问题
再kubectl get cm 看看configmap的配置
然后再确认一下dev命名空间下的webdemo这个service是否存在,是否可以访问
也可以删除重新创建,然后观察一下ingress-nginx的日志,看看有没有异常日志
00
相似问题
回答 3
回答 1