V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
root01
V2EX  ›  Kubernetes

创建了 svc 无法访问

  •  
  •   root01 · 2021-05-04 15:52:30 +08:00 · 1549 次点击
    这是一个创建于 1300 天前的主题,其中的信息可能已经有所发展或是发生改变。
    test-nginx.yaml
    ```
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: test-nginx
    spec:
    replicas: 2
    selector:
    matchLabels:
    app: test-nginx
    template:
    metadata:
    labels:
    app: test-nginx
    spec:
    containers:
    - name: web
    image: nginx:1.8
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
    ```
    test-nginx-svc.yaml
    ```
    apiVersion: v1
    kind: Service
    metadata:
    name: test-nginx
    labels:
    app: tets-nginx
    spec:
    selector:
    app: test-nginx
    type: NodePort
    ports:
    - port: 80
    protocol: TCP
    name: web
    targetPort: http
    nodePort: 31180


    ```
    netstat -ntlp |grep 31180
    tcp 0 0 0.0.0.0:31180 0.0.0.0:* LISTEN 4057/kube-proxy

    ### 显示已经成功了 ,pod 也是 running 状态
    ### 访问节点:192.168.145.146:31180 (wget/curl 都无法访问)
    ### 之前已经部署了 kubesphere,也是可以访问的,端口不冲突,请问该怎么排查?
    # kubectl get pod -l app=test-nginx
    NAME READY STATUS RESTARTS AGE
    test-nginx-55546c8c-42r5n 1/1 Running 0 13m
    test-nginx-55546c8c-5gqk5 1/1 Running 0 13m
    第 1 条附言  ·  2021-05-04 16:28:43 +08:00
    kubectl get pod -l app=test-nginx
    NAME READY STATUS RESTARTS AGE
    test-nginx-9fdb9855d-5k264 1/1 Running 0 7m9s
    test-nginx-9fdb9855d-jz4pt 1/1 Running 0 7m11s

    kubectl get svc -l app=test-nginx
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    test-nginx NodePort 10.99.78.120 <none> 80:31080/TCP 2m50s
    第 2 条附言  ·  2021-05-04 20:06:43 +08:00
    解决了,targetPort 设置为 80 端口就可以了
    谢谢各位
    root01
        1
    root01  
    OP
       2021-05-04 16:12:42 +08:00
    已经修正两个 YAML 文件中的 labels=test-nginx
    root01
        2
    root01  
    OP
       2021-05-04 16:14:22 +08:00
    但是仍无法访问
    SignLeung
        3
    SignLeung  
       2021-05-04 17:21:37 +08:00
    可以 curl podIP:containerPort 看看能不能访问
    root01
        4
    root01  
    OP
       2021-05-04 17:36:59 +08:00
    @SignLeung
    # nslookup shun-nginx
    Server: 10.96.0.10
    Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

    Name: shun-nginx
    Address 1: 10.104.210.29 shun-nginx.default.svc.cluster.local
    / # wget shun-nginx
    Connecting to shun-nginx (10.104.210.29:80)
    wget: can't connect to remote host (10.104.210.29): Connection refused
    root01
        5
    root01  
    OP
       2021-05-04 17:37:44 +08:00
    @SignLeung busybox 没 curl emmm
    freezex
        6
    freezex  
       2021-05-04 18:05:07 +08:00
    svc 里的这个: targetPort: http
    deploy 里没有
    root01
        7
    root01  
    OP
       2021-05-04 20:06:29 +08:00
    @freezex 解决了,targetPort 设置为 80 端口就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1578 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:46 · PVG 00:46 · LAX 08:46 · JFK 11:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.