error: the server doesn't have a resource type "svc"

I just had a similar issue which I managed to resolve with aws support. The issue I was having was that the cluster was created with a role that was assumed by the user, but kubectl was not assuming this role with the default kube config created by the aws-cli.

I fixed the issue by providing the role in the users section of the kube config

users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - token
      - -i
      - test
      - -r
      - <arn::of::your::role>
      command: aws-iam-authenticator
      env:
      - name: AWS_PROFILE
        value: personal

I believe the heptio-aws-authenticator has now been changed to the aws-iam-authenticator, but this change was what allowed me to use the cluster.


The 401s look like a permissions issue. Did your user create the cluster? In the docs: "When you create an Amazon EKS cluster, the IAM entity (user or role) is automatically granted system:master permissions in the cluster's RBAC configuration. To grant additional AWS users the ability to interact with your cluster, you must edit the aws-auth ConfigMap within Kubernetes."

If it was created by a different user, you'll need to use that user, having it configured in the CLI to execute kubectl


Just delete cache and http-cache in .kube folder and try running the command kubectl get svc Also make sure that your config- file is properly indented. Due to syntax errors sometime it may throw that error.