Kubernetes - traefik external ip stuck in pending












2















I spun a two node cluster in AWS and installed traefik using helm. I see that the service external IP is stuck at pending status. Checked several sources but couldn't find anything to resolve the issue. ANy help is appreciated



helm install stable/traefik



ubuntu@ip-172-31-34-78:~$ kubectl get pods -n default
NAME READY STATUS RESTARTS AGE
unhinged-prawn-traefik-67b67f55f4-tnz5w 1/1 Running 0 18m
ubuntu@ip-172-31-34-78:~$ kubectl get services -n default
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 55m
unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 18m
ubuntu@ip-172-31-34-78:~$ kubectl describe service unhinged-prawn-traefik
Name: unhinged-prawn-traefik
Namespace: default
Labels: app=traefik
chart=traefik-1.52.6
heritage=Tiller
release=unhinged-prawn
Annotations: <none>
Selector: app=traefik,release=unhinged-prawn
Type: LoadBalancer
IP: 10.102.38.210
Port: http 80/TCP
TargetPort: http/TCP
NodePort: http 30680/TCP
Endpoints: 10.32.0.6:80
Port: https 443/TCP
TargetPort: httpn/TCP
NodePort: https 32404/TCP
Endpoints: 10.32.0.6:8880
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>

ubuntu@ip-172-31-34-78:~$ kubectl get svc unhinged-prawn-traefik --namespace default -w
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 24m









share|improve this question





























    2















    I spun a two node cluster in AWS and installed traefik using helm. I see that the service external IP is stuck at pending status. Checked several sources but couldn't find anything to resolve the issue. ANy help is appreciated



    helm install stable/traefik



    ubuntu@ip-172-31-34-78:~$ kubectl get pods -n default
    NAME READY STATUS RESTARTS AGE
    unhinged-prawn-traefik-67b67f55f4-tnz5w 1/1 Running 0 18m
    ubuntu@ip-172-31-34-78:~$ kubectl get services -n default
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 55m
    unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 18m
    ubuntu@ip-172-31-34-78:~$ kubectl describe service unhinged-prawn-traefik
    Name: unhinged-prawn-traefik
    Namespace: default
    Labels: app=traefik
    chart=traefik-1.52.6
    heritage=Tiller
    release=unhinged-prawn
    Annotations: <none>
    Selector: app=traefik,release=unhinged-prawn
    Type: LoadBalancer
    IP: 10.102.38.210
    Port: http 80/TCP
    TargetPort: http/TCP
    NodePort: http 30680/TCP
    Endpoints: 10.32.0.6:80
    Port: https 443/TCP
    TargetPort: httpn/TCP
    NodePort: https 32404/TCP
    Endpoints: 10.32.0.6:8880
    Session Affinity: None
    External Traffic Policy: Cluster
    Events: <none>

    ubuntu@ip-172-31-34-78:~$ kubectl get svc unhinged-prawn-traefik --namespace default -w
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 24m









    share|improve this question



























      2












      2








      2








      I spun a two node cluster in AWS and installed traefik using helm. I see that the service external IP is stuck at pending status. Checked several sources but couldn't find anything to resolve the issue. ANy help is appreciated



      helm install stable/traefik



      ubuntu@ip-172-31-34-78:~$ kubectl get pods -n default
      NAME READY STATUS RESTARTS AGE
      unhinged-prawn-traefik-67b67f55f4-tnz5w 1/1 Running 0 18m
      ubuntu@ip-172-31-34-78:~$ kubectl get services -n default
      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 55m
      unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 18m
      ubuntu@ip-172-31-34-78:~$ kubectl describe service unhinged-prawn-traefik
      Name: unhinged-prawn-traefik
      Namespace: default
      Labels: app=traefik
      chart=traefik-1.52.6
      heritage=Tiller
      release=unhinged-prawn
      Annotations: <none>
      Selector: app=traefik,release=unhinged-prawn
      Type: LoadBalancer
      IP: 10.102.38.210
      Port: http 80/TCP
      TargetPort: http/TCP
      NodePort: http 30680/TCP
      Endpoints: 10.32.0.6:80
      Port: https 443/TCP
      TargetPort: httpn/TCP
      NodePort: https 32404/TCP
      Endpoints: 10.32.0.6:8880
      Session Affinity: None
      External Traffic Policy: Cluster
      Events: <none>

      ubuntu@ip-172-31-34-78:~$ kubectl get svc unhinged-prawn-traefik --namespace default -w
      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 24m









      share|improve this question
















      I spun a two node cluster in AWS and installed traefik using helm. I see that the service external IP is stuck at pending status. Checked several sources but couldn't find anything to resolve the issue. ANy help is appreciated



      helm install stable/traefik



      ubuntu@ip-172-31-34-78:~$ kubectl get pods -n default
      NAME READY STATUS RESTARTS AGE
      unhinged-prawn-traefik-67b67f55f4-tnz5w 1/1 Running 0 18m
      ubuntu@ip-172-31-34-78:~$ kubectl get services -n default
      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 55m
      unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 18m
      ubuntu@ip-172-31-34-78:~$ kubectl describe service unhinged-prawn-traefik
      Name: unhinged-prawn-traefik
      Namespace: default
      Labels: app=traefik
      chart=traefik-1.52.6
      heritage=Tiller
      release=unhinged-prawn
      Annotations: <none>
      Selector: app=traefik,release=unhinged-prawn
      Type: LoadBalancer
      IP: 10.102.38.210
      Port: http 80/TCP
      TargetPort: http/TCP
      NodePort: http 30680/TCP
      Endpoints: 10.32.0.6:80
      Port: https 443/TCP
      TargetPort: httpn/TCP
      NodePort: https 32404/TCP
      Endpoints: 10.32.0.6:8880
      Session Affinity: None
      External Traffic Policy: Cluster
      Events: <none>

      ubuntu@ip-172-31-34-78:~$ kubectl get svc unhinged-prawn-traefik --namespace default -w
      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
      unhinged-prawn-traefik LoadBalancer 10.102.38.210 <pending> 80:30680/TCP,443:32404/TCP 24m






      kubernetes traefik






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 15 '18 at 22:40









      Rico

      27.5k94865




      27.5k94865










      asked Nov 15 '18 at 21:30









      IT_noviceIT_novice

      8618




      8618
























          1 Answer
          1






          active

          oldest

          votes


















          2














          I'm not sure how you installed your cluster, but basically, the kube-controller-manager/kubelet/kube-apiserver cannot talk to the AWS API to create a load balancer to serve traffic for your Service.




          • It could be just as simple as your instance missing the required instance profile with the permissions to create a load balancer and routes.



          • It could also that you need to add this flag to all your kubelets, your kube-apiserver, and your kube-controller-manager:



            --cloud-provider=aws



          • It could also be that you are missing these EC2 tags on your instances:



            KubernetesCluster=<yourclustername>
            kubernetes.io/cluster/kubernetes=owned
            k8s.io/role/node=1



          Note that you might also need the KubernetesCluster=<yourclustername> tag on the subnet where your nodes are on.





          • It could also be that your K8s nodes don't have a ProviderID: spec that looks like this:



            ProviderID: aws:///<aws-region>/<instance-id>
            # You can add it with kubectl edit <node-name>



          Note that the --cloud-provider flag is being deprecated in favor of the Cloud Providers controller.






          share|improve this answer
























          • thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

            – IT_novice
            Nov 21 '18 at 9:44











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53328172%2fkubernetes-traefik-external-ip-stuck-in-pending%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          I'm not sure how you installed your cluster, but basically, the kube-controller-manager/kubelet/kube-apiserver cannot talk to the AWS API to create a load balancer to serve traffic for your Service.




          • It could be just as simple as your instance missing the required instance profile with the permissions to create a load balancer and routes.



          • It could also that you need to add this flag to all your kubelets, your kube-apiserver, and your kube-controller-manager:



            --cloud-provider=aws



          • It could also be that you are missing these EC2 tags on your instances:



            KubernetesCluster=<yourclustername>
            kubernetes.io/cluster/kubernetes=owned
            k8s.io/role/node=1



          Note that you might also need the KubernetesCluster=<yourclustername> tag on the subnet where your nodes are on.





          • It could also be that your K8s nodes don't have a ProviderID: spec that looks like this:



            ProviderID: aws:///<aws-region>/<instance-id>
            # You can add it with kubectl edit <node-name>



          Note that the --cloud-provider flag is being deprecated in favor of the Cloud Providers controller.






          share|improve this answer
























          • thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

            – IT_novice
            Nov 21 '18 at 9:44
















          2














          I'm not sure how you installed your cluster, but basically, the kube-controller-manager/kubelet/kube-apiserver cannot talk to the AWS API to create a load balancer to serve traffic for your Service.




          • It could be just as simple as your instance missing the required instance profile with the permissions to create a load balancer and routes.



          • It could also that you need to add this flag to all your kubelets, your kube-apiserver, and your kube-controller-manager:



            --cloud-provider=aws



          • It could also be that you are missing these EC2 tags on your instances:



            KubernetesCluster=<yourclustername>
            kubernetes.io/cluster/kubernetes=owned
            k8s.io/role/node=1



          Note that you might also need the KubernetesCluster=<yourclustername> tag on the subnet where your nodes are on.





          • It could also be that your K8s nodes don't have a ProviderID: spec that looks like this:



            ProviderID: aws:///<aws-region>/<instance-id>
            # You can add it with kubectl edit <node-name>



          Note that the --cloud-provider flag is being deprecated in favor of the Cloud Providers controller.






          share|improve this answer
























          • thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

            – IT_novice
            Nov 21 '18 at 9:44














          2












          2








          2







          I'm not sure how you installed your cluster, but basically, the kube-controller-manager/kubelet/kube-apiserver cannot talk to the AWS API to create a load balancer to serve traffic for your Service.




          • It could be just as simple as your instance missing the required instance profile with the permissions to create a load balancer and routes.



          • It could also that you need to add this flag to all your kubelets, your kube-apiserver, and your kube-controller-manager:



            --cloud-provider=aws



          • It could also be that you are missing these EC2 tags on your instances:



            KubernetesCluster=<yourclustername>
            kubernetes.io/cluster/kubernetes=owned
            k8s.io/role/node=1



          Note that you might also need the KubernetesCluster=<yourclustername> tag on the subnet where your nodes are on.





          • It could also be that your K8s nodes don't have a ProviderID: spec that looks like this:



            ProviderID: aws:///<aws-region>/<instance-id>
            # You can add it with kubectl edit <node-name>



          Note that the --cloud-provider flag is being deprecated in favor of the Cloud Providers controller.






          share|improve this answer













          I'm not sure how you installed your cluster, but basically, the kube-controller-manager/kubelet/kube-apiserver cannot talk to the AWS API to create a load balancer to serve traffic for your Service.




          • It could be just as simple as your instance missing the required instance profile with the permissions to create a load balancer and routes.



          • It could also that you need to add this flag to all your kubelets, your kube-apiserver, and your kube-controller-manager:



            --cloud-provider=aws



          • It could also be that you are missing these EC2 tags on your instances:



            KubernetesCluster=<yourclustername>
            kubernetes.io/cluster/kubernetes=owned
            k8s.io/role/node=1



          Note that you might also need the KubernetesCluster=<yourclustername> tag on the subnet where your nodes are on.





          • It could also be that your K8s nodes don't have a ProviderID: spec that looks like this:



            ProviderID: aws:///<aws-region>/<instance-id>
            # You can add it with kubectl edit <node-name>



          Note that the --cloud-provider flag is being deprecated in favor of the Cloud Providers controller.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 15 '18 at 22:54









          RicoRico

          27.5k94865




          27.5k94865













          • thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

            – IT_novice
            Nov 21 '18 at 9:44



















          • thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

            – IT_novice
            Nov 21 '18 at 9:44

















          thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

          – IT_novice
          Nov 21 '18 at 9:44





          thanks Rico. SOrry about the delayed reply. The issue was related to IAM permission to create load balancers.

          – IT_novice
          Nov 21 '18 at 9:44


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53328172%2fkubernetes-traefik-external-ip-stuck-in-pending%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()