标签: amazon-eks

在 EKS 实例上切换 VPC

是否可以更改已创建的 EKS 集群的 VPC?或者我是否必须创建一个新的 VPC 并在那里选择新的 VPC?

amazon-vpc kubernetes amazon-eks

2
推荐指数
1
解决办法
1001
查看次数

kube-system:Pod 警告 FailedScheduling default-scheduler 没有可用于调度 Pod 的节点

为什么我得到:

kube-system 1m 1h 245 kube-dns-fcd468cb-8fhg2.156899dbda62d287 Pod Warning FailedScheduling default-scheduler no nodes available to schedule pods

更新 - 我现在已经将整个集群迁移到us-west-2而不是eu-west-1这样我可以开箱即用地运行代码以防止引入任何错误。该tfstate文件显示正在引用正确的 EKS AMI。

例如

720: "image_id": "ami-00c3b2d35bddd4f5c",

FWIW,我正在关注https://www.terraform.io/docs/providers/aws/guides/eks-getting-started.html 并使用它在 Github 中链接的代码 - 即https://github。 com/terraform-providers/terraform-provider-aws/tree/master/examples/eks-getting-started

注意:查看 EC2 实例,我可以看到 2 个 EKS 节点使用正确的 AMI ID 运行。

==== 更新

检查节点:

kubectl get nodes
No resources found.
Run Code Online (Sandbox Code Playgroud)

ssh 进入其中一个节点并运行journalctl显示:

Nov 21 12:28:25 ip-10-0-0-247.us-west-2.compute.internal kubelet[4417]: E1121 12:28:25.419465    4417 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:461: Failed to list *v1.Node: Unauthorized
Nov 21 …
Run Code Online (Sandbox Code Playgroud)

kubernetes amazon-eks

2
推荐指数
1
解决办法
1万
查看次数

EKS 集群不提供 client-ca-file

在 EKS(Kubernetes 1.11.5)中创建了一个具有多个节点组的集群,但是我注意到在configmap 中缺少extension-apiserver-authentication该键。client-ca-file

我认为这是由于 Kubernetes API 服务的启动方式造成的。还有其他人遇到过这个问题吗?

我在部署证书管理器时遇到了这个问题,该管理器使用GET https://10.100.0.1:443/api/v1/namespaces/kube-system/configmaps/extension-apiserver-authentication.

在 GKE 中这不是问题,因为extension-apiserver-authenticationconfigmap 已经包含了client-ca-file.

extension-apiserver-authenticationAWS 中的配置映射,

apiVersion: v1
data:
  requestheader-allowed-names: '["front-proxy-client"]'
  requestheader-client-ca-file: |
    <certificate file>
  requestheader-extra-headers-prefix: '["X-Remote-Extra-"]'
  requestheader-group-headers: '["X-Remote-Group"]'
  requestheader-username-headers: '["X-Remote-User"]'
kind: ConfigMap
metadata:
  creationTimestamp: 2019-01-14T04:56:51Z
  name: extension-apiserver-authentication
  namespace: kube-system
  resourceVersion: "39"
  selfLink: /api/v1/namespaces/kube-system/configmaps/extension-apiserver-authentication
  uid: ce2b6f64-17b8-11e9-a6dd-021a269d3ce8
Run Code Online (Sandbox Code Playgroud)

然而在 GKE 中,

apiVersion: v1
data:
  client-ca-file: |
    <client certificate file>
  requestheader-allowed-names: '["aggregator"]'
  requestheader-client-ca-file: |
    <certificate file>
  requestheader-extra-headers-prefix: '["X-Remote-Extra-"]'
  requestheader-group-headers: '["X-Remote-Group"]'
  requestheader-username-headers: '["X-Remote-User"]'
kind: …
Run Code Online (Sandbox Code Playgroud)

authentication kubernetes amazon-eks

2
推荐指数
1
解决办法
5199
查看次数

AWS EKS 集群的 Kubernetes kubelet 日志在哪里?

之前有关于位于此处的自管理 Kubernetes 集群的问题。但它们没有涵盖 Amazon Linux(AWS EKS 提供的 AMI)的用例, Kubernetes kubelet 日志位于何处?

EKS 节点的 kubelet 日志在哪里?

kubernetes kubelet amazon-eks

2
推荐指数
1
解决办法
5536
查看次数

使用单个 HELM 模板的多个资源

默认情况下,我们一直为每个应用程序(公共)使用单个入口,但根据最近的要求,我们还需要为某些应用程序公开(私有)端点。这意味着我们有一个看起来像这样的模板:

模板/ingress.yaml

{{- if .Values.ingress.enabled -}}
{{- $fullName := include "app.fullname" . -}}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: {{ $fullName }}
  labels:
{{ include "app.labels" . | indent 4 }}
  {{- with .Values.ingress.annotations }}
  annotations:
    {{- toYaml . | nindent 4 }}
  {{- end }}
spec:
{{- if .Values.ingress.tls }}
  tls:
  {{- range .Values.ingress.tls }}
    - hosts:
      {{- range .hosts }}
        - {{ . | quote }}
      {{- end }}
      secretName: {{ .secretName }}
  {{- end }}
{{- end …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm amazon-eks

2
推荐指数
2
解决办法
4946
查看次数

带有 EKS 和 EFS 的“MountVolume.SetUp 卷失败”

我正在尝试使用 EKS 设置 EFS,但是当我部署我的 Pod 时,我遇到了类似MountVolume.SetUp failed for volume "efs-pv3" : rpc error: code = DeadlineExceeded desc = context deadline exceeded 事件中的错误。

这是什么原因?

amazon-efs amazon-eks

2
推荐指数
1
解决办法
942
查看次数

在 AWS EKS 中,如何安装和访问 etcd、kube-apiserver 等?

我现在正在学习 AWS EKS,我想知道如何访问 etcd、kube-apiserver 和其他控制平面组件?

例如,当我们在 minikube 中运行如下命令时,我们可以发现etcd-minikubekube-apiserver-minikube

[vagrant@localhost ~]$ kubectl get pods --all-namespaces 
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE
kube-system   coredns-6955765f44-lrt6z           1/1     Running   0          176d
kube-system   coredns-6955765f44-xbtc2           1/1     Running   1          176d
kube-system   etcd-minikube                      1/1     Running   1          176d
kube-system   kube-addon-manager-minikube        1/1     Running   1          176d
kube-system   kube-apiserver-minikube            1/1     Running   1          176d
kube-system   kube-controller-manager-minikube   1/1     Running   1          176d
kube-system   kube-proxy-69mqp                   1/1     Running   1          176d
kube-system   kube-scheduler-minikube            1/1     Running   1          176d
kube-system   storage-provisioner                1/1     Running   2          176d
Run Code Online (Sandbox Code Playgroud)

然后,我们可以通过以下命令访问它们:

[vagrant@localhost ~]$ …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services kubernetes amazon-eks

2
推荐指数
2
解决办法
1683
查看次数

aws eks 和 aws sso RBAC 身份验证问题

我创建了一个新的 AWS SSO(使用内部 IDP 作为身份源,因此不使用 Active Directory)。
我能够登录 AWS CLI、AWS GUI,但无法执行任何 kubectl 操作。

error: You must be logged in to the server (Unauthorized)
Run Code Online (Sandbox Code Playgroud)

我认为这与 RBAC 有关,因为我可以通过 aws eks get-token.

? cat ~/.aws/config

[profile team-sso-admin]
sso_start_url=https://team.awsapps.com/start
sso_region=us-west-2
sso_account_id=1111111111
sso_role_name=AdministratorAccess
region=us-west-2
credential_process = aws-vault exec team-sso-admin --json


? aws-vault exec team-sso-admin --debug -- zsh --login
? env | grep AWS
AWS_VAULT_PROMPT=pass
AWS_VAULT_BACKEND=pass
AWS_VAULT=team-sso-admin
AWS_DEFAULT_REGION=us-west-2
AWS_REGION=us-west-2
AWS_ACCESS_KEY_ID=xxx
AWS_SECRET_ACCESS_KEY=xxx
AWS_SESSION_TOKEN=xxx
AWS_SECURITY_TOKEN=yyy
AWS_SESSION_EXPIRATION=2021-01-11T05:55:51Z
AWS_SDK_LOAD_CONFIG=1

? aws sts get-caller-identity --output yaml 

Account: '111111111111' …
Run Code Online (Sandbox Code Playgroud)

kubernetes amazon-eks aws-sso kubernetes-rbac

2
推荐指数
2
解决办法
1650
查看次数

eksctl 创建集群卡住“等待 CloudFormation 堆栈”

我正在尝试通过 eksctl 创建一个集群,使用默认选项和具有“AdministratorAccess”的 AMI 用户,我陷入了“等待 CloudFormation 堆栈”

 > eksctl create cluster --name dev
[?]  eksctl version 0.36.0
[?]  using region us-west-2
[?]  setting availability zones to [us-west-2a us-west-2c us-west-2b]
[?]  subnets for us-west-2a - public:192.168.0.0/19 private:192.168.96.0/19
[?]  subnets for us-west-2c - public:192.168.32.0/19 private:192.168.128.0/19
[?]  subnets for us-west-2b - public:192.168.64.0/19 private:192.168.160.0/19
[?]  nodegroup "ng-fa4af514" will use "ami-0532808ed453f9ca3" [AmazonLinux2/1.18]
[?]  using Kubernetes version 1.18
[?]  creating EKS cluster "dev" in "us-west-2" region with un-managed nodes
[?]  will create 2 separate CloudFormation stacks …
Run Code Online (Sandbox Code Playgroud)

kubernetes amazon-eks eksctl

2
推荐指数
1
解决办法
1951
查看次数

kubectl apply 报告错误“无法在 serviceaccounts 上完成操作”

我有一个 ServiceAccount YAML 文件,我将它应用到一个新集群。

我的 YAML 如下所示:

apiVersion: v1
items:
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    creationTimestamp: 2019-03-20T23:17:42Z
    name: default
    namespace: dev4
    resourceVersion: "80999"
    selfLink: /api/v1/namespaces/dev4/serviceaccounts/default
    uid: 5c6e0d09-4b66-11e9-b4e3-0a779a87bb40
  secrets:
  - name: default-token-tl4dd
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"pod-labeler","namespace":"dev4"}}
    creationTimestamp: 2020-04-21T05:46:25Z
    name: pod-labeler
    namespace: dev4
    resourceVersion: "113455688"
    selfLink: /api/v1/namespaces/dev4/serviceaccounts/pod-labeler
    uid: 702dadda-8393-11ea-abd9-0a768ca51346
  secrets:
  - name: pod-labeler-token-6vgp7
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""
Run Code Online (Sandbox Code Playgroud)

当我申请 1.16 版的新 EKS 集群时,通过命令kubectl apply -f <yaml file> 我收到如下错误:

Warning: kubectl apply should …
Run Code Online (Sandbox Code Playgroud)

kubernetes amazon-eks

2
推荐指数
1
解决办法
284
查看次数