Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-29111

LoadBalancer internal IP is not accessible from Windows workers

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Blocker
    • None
    • 4.15, 4.16
    • Windows Containers
    • Important
    • Yes
    • 3
    • WINC - Sprint 252
    • 1
    • True
    • Hide

      None

      Show
      None

    Description

      Description of problem:

         Linux/Windows service are not accessible from Windows nodes 
         NAME                      TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)          AGE
      service/linux-webserver   LoadBalancer   172.30.16.117   ac6de6949dc22420ba4b93bc07aebdc6-18416915.us-east-2.elb.amazonaws.com     8080:32653/TCP   96m
      service/win-webserver     LoadBalancer   172.30.221.1    a9cd3af4ecce645e49bf7893ae70cdbb-1553457938.us-east-2.elb.amazonaws.com   80:30409/TCP     98mNAME                              READY   UP-TO-DATE   AVAILABLE   AGE
      deployment.apps/linux-webserver   1/1     1            1           96m
      deployment.apps/win-webserver     5/5     5            5           98mNAME                                         DESIRED   CURRENT   READY   AGE
      replicaset.apps/linux-webserver-76cb5f596b   1         1         1       96m
      replicaset.apps/win-webserver-7c66c4b657     5         5         5       98m
      > curl 172.30.16.117:8080
      curl: (28) Failed to connect to 172.30.16.117 port 8080 after 75007 ms: Couldn't connect to server
      

      Version-Release number of selected component (if applicable):

          10.16.0-7a814dc, 10.15.2-705c23a
          Server Version: 4.15.0-0.nightly-2024-02-06-040314
      
      

      How reproducible:

          100%

      Steps to Reproduce:

          1. install WMCO 10.15
          2. install 2 Windows machineset     
          3. install Windows service, Linux service, Windows workloads and Linux workload
          4. access Windows node and access the Linux server e.g. curl <IP>:8080, access Windows clusterIP 
      
      
          

      Actual results:

          oc get nodes -l kubernetes.io/os=windows -owide
      NAME                                       STATUS   ROLES    AGE    VERSION           INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION    CONTAINER-RUNTIME
      ip-10-0-64-66.us-east-2.compute.internal   Ready    worker   114m   v1.28.6+0fb4726   10.0.64.66    <none>        Windows Server 2022 Datacenter   10.0.20348.2227   containerd://1.7.9
      ip-10-0-70-69.us-east-2.compute.internal   Ready    worker   119m   v1.28.6+0fb4726   10.0.70.69    <none>        Windows Server 2022 Datacenter   10.0.20348.2227   containerd://1.7.9
      > IP1="ip-10-0-64-66.us-east-2.compute.internal"
      > oc get all -owide
      Warning: apps.openshift.io/v1 DeploymentConfig is deprecated in v4.14+, unavailable in v4.10000+
      NAME                                   READY   STATUS    RESTARTS   AGE    IP            NODE                                        NOMINATED NODE   READINESS GATES
      pod/linux-webserver-76cb5f596b-4trvv   1/1     Running   0          114m   10.129.2.19   ip-10-0-48-249.us-east-2.compute.internal   <none>           <none>
      pod/win-webserver-7c66c4b657-cg9zj     1/1     Running   0          116m   10.132.0.6    ip-10-0-70-69.us-east-2.compute.internal    <none>           <none>
      pod/win-webserver-7c66c4b657-cqtzk     1/1     Running   0          116m   10.132.0.5    ip-10-0-70-69.us-east-2.compute.internal    <none>           <none>
      pod/win-webserver-7c66c4b657-d5v6v     1/1     Running   0          116m   10.132.0.2    ip-10-0-70-69.us-east-2.compute.internal    <none>           <none>
      pod/win-webserver-7c66c4b657-fvm79     1/1     Running   0          116m   10.132.0.3    ip-10-0-70-69.us-east-2.compute.internal    <none>           <none>
      pod/win-webserver-7c66c4b657-l6xxk     1/1     Running   0          116m   10.132.0.4    ip-10-0-70-69.us-east-2.compute.internal    <none>           <none>NAME                      TYPE           CLUSTER-IP      EXTERNAL-IP                                                               PORT(S)          AGE    SELECTOR
      service/linux-webserver   LoadBalancer   172.30.16.117   ac6de6949dc22420ba4b93bc07aebdc6-18416915.us-east-2.elb.amazonaws.com     8080:32653/TCP   114m   app=linux-webserver
      service/win-webserver     LoadBalancer   172.30.221.1    a9cd3af4ecce645e49bf7893ae70cdbb-1553457938.us-east-2.elb.amazonaws.com   80:30409/TCP     116m   app=win-webserverNAME                              READY   UP-TO-DATE   AVAILABLE   AGE    CONTAINERS        IMAGES                                                 SELECTOR
      deployment.apps/linux-webserver   1/1     1            1           114m   linux-webserver   quay.io/openshifttest/hello-openshift:multiarch-winc   app=linux-webserver
      deployment.apps/win-webserver     5/5     5            5           116m   win-webserver     mcr.microsoft.com/powershell:lts-nanoserver-ltsc2022   app=win-webserverNAME                                         DESIRED   CURRENT   READY   AGE    CONTAINERS        IMAGES                                                 SELECTOR
      replicaset.apps/linux-webserver-76cb5f596b   1         1         1       114m   linux-webserver   quay.io/openshifttest/hello-openshift:multiarch-winc   app=linux-webserver,pod-template-hash=76cb5f596b
      replicaset.apps/win-webserver-7c66c4b657     5         5         5       116m   win-webserver     mcr.microsoft.com/powershell:lts-nanoserver-ltsc2022   app=win-webserver,pod-template-hash=7c66c4b657
      >
      > ssh -i ~/.ssh/openshift-qe.pem -t -o StrictHostKeyChecking=no -o ProxyCommand="ssh -i ~/.ssh/openshift-qe.pem -A -o strictHostKeyChecking=no -o ServerAliveInterval=30 -W %h:%p core@${bastion_host}" Administrator@${IP1} "powershell curl 172.30.16.117:8080"
      Warning: Permanently added 'a8265e6776d1849d1b4ea578df1c01db-727626916.us-east-2.elb.amazonaws.com' (ED25519) to the list of known hosts.
      Warning: Permanently added 'ip-10-0-64-66.us-east-2.compute.internal' (ED25519) to the list of known hosts.
      curl : Unable to connect to the remote server
      At line:1 char:1
      + curl 172.30.16.117:8080
      + ~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
          + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommandConnection to ip-10-0-64-66.us-east-2.compute.internal closed.
      
      

      Expected results:

          Connectivity between Windows worker and Linux service

      Additional info:

          oc get service/linux-webserver -oyaml
      apiVersion: v1
      kind: Service
      metadata:
        creationTimestamp: "2024-02-06T14:52:15Z"
        finalizers:
        - service.kubernetes.io/load-balancer-cleanup
        labels:
          app: linux-webserver
        name: linux-webserver
        namespace: winc-test
        resourceVersion: "39469"
        uid: c6de6949-dc22-420b-a4b9-3bc07aebdc6f
      spec:
        allocateLoadBalancerNodePorts: true
        clusterIP: 172.30.16.117
        clusterIPs:
        - 172.30.16.117
        externalTrafficPolicy: Cluster
        internalTrafficPolicy: Cluster
        ipFamilies:
        - IPv4
        ipFamilyPolicy: SingleStack
        ports:
        - nodePort: 32653
          port: 8080
          protocol: TCP
          targetPort: 8080
        selector:
          app: linux-webserver
        sessionAffinity: None
        type: LoadBalancer
      status:
        loadBalancer:
          ingress:
          - hostname: ac6de6949dc22420ba4b93bc07aebdc6-18416915.us-east-2.elb.amazonaws.com
      
      oc get service
      NAME              TYPE           CLUSTER-IP       EXTERNAL-IP                                                             PORT(S)          AGE
      linux-webserver   LoadBalancer   172.30.238.242   a06cb889d2e8a454286bcf5a1c784b9f-52937459.us-east-2.elb.amazonaws.com   8080:32618/TCP   6h53m
      win-webserver     LoadBalancer   172.30.145.185   a96f819e14c904a47919f8f579aabc75-94326914.us-east-2.elb.amazonaws.com   80:32204/TCP     6h55m
      > curl 172.30.145.185
      curl: (28) Failed to connect to 172.30.145.185 port 80 after 75004 ms: Couldn't connect to server
      > curl 172.30.238.242:8080
      curl: (28) Failed to connect to 172.30.238.242 port 8080 after 75004 ms: Couldn't connect to server
      External IP's works:
      > curl a96f819e14c904a47919f8f579aabc75-94326914.us-east-2.elb.amazonaws.com
      <html><body><H1>Windows Container Web Server</H1></body></html>
      > curl a06cb889d2e8a454286bcf5a1c784b9f-52937459.us-east-2.elb.amazonaws.com:8080
      Linux Container Web Server

      Attachments

        Activity

          People

            rh-ee-ssoto Sebastian Soto
            rrasouli Aharon Rasouli
            Aharon Rasouli Aharon Rasouli
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: