错误:服务器没有资源类型“ svc”

时间:2018-07-02 12:03:07

标签: kubernetes

Admins-MacBook-Pro:〜Harshin $ kubectl cluster-info Kubernetes主服务器正在http://localhost:8080

上运行

要进一步调试和诊断群集问题,请使用“ kubectl cluster-info dump”。 错误:服务器没有资源类型“服务”

我正在关注此文档

https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html?refid=gs_card

在尝试为亚马逊eks配置kubectl的步骤11中测试我的配置时

Mockito.when(child.getStr(any(Dataset.class))).thenCallRealMethod();

4 个答案:

答案 0 :(得分:6)

将“名称:kubernetes”更改为群集的实际名称。

这是我要完成的工作。...

1。启用详细信息以确保正确读取配置文件。

  

kubectl get svc --v = 10

2。修改文件如下:

apiVersion: v1
clusters:
- cluster:
    server: XXXXX
    certificate-authority-data: XXXXX
  name: abc-eks
contexts:
- context:
    cluster: abc-eks
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - "token"
        - "-i"
        - "abc-eks"
        # - "-r"
        # - "<role-arn>"
      env:
        - name: AWS_PROFILE
          value: "aws"

答案 1 :(得分:3)

我也遇到过类似的问题,但这不是直接的解决方案,而是解决方法。使用AWS cli命令创建集群而不是控制台。根据文档,创建集群的用户或角色将具有主访问权限。

aws eks create-cluster --name <cluster name> --role-arn <EKS Service Role> --resources-vpc-config subnetIds=<subnet ids>,securityGroupIds=<security group id>

确保EKS服务角色具有IAM访问权限(我猜是Full,但是我猜AssumeRole会做到)。

EC2计算机角色应该具有eks:CreateCluster和IAM访问权限。为我工作:)

答案 2 :(得分:2)

我遇到了这个问题,发现它是〜/ .aws / credentials中的默认键设置。 我们有一些针对不同客户的AWS账户,还有一个用于我们自己的测试和研究的沙箱账户。因此,我们的凭据文件如下所示:

[default]

aws_access_key_id = abc

aws_secret_access_key = xyz

region=us-east-1


[cpproto]

aws_access_key_id = abc

aws_secret_access_key = xyz

region=us-east-1

[sandbox]

aws_access_key_id = abc

aws_secret_access_key = xyz

region=us-east-1

我在弄乱我们的沙箱帐户,但是[默认]部分指向另一个帐户。 将沙箱的密钥放入默认部分后,“ kubectl get svc”命令就可以正常工作。

似乎我们需要一种方法来告诉aws-iam-authenticator与aws cli中的--profile使用相同的密钥。

答案 3 :(得分:0)

我想您应该取消对“ env”项的注释,并更改对〜/ .aws / credentials的引用 因为您的aws_iam_authenticator需要确切的AWS凭证。

请参阅此文档:https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html

  

要使Kubernetes的AWS IAM Authenticator始终使用特定的命名AWS凭证配置文件(而不是默认的AWS凭证提供者链),请取消注释环境行并用要使用的配置文件名称代替。