AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[amazon-eks](server)

Martin Hope
argyrodagdileli
Asked: 2022-03-19 06:50:13 +0800 CST

从公共 ALB 到 EKS 的内部 ALB 的直接流量

  • 0

因此,我有一个位于专用 VPC (EKS-VPC) 中的 EKS 集群。在我的主 VPC 中,我有一个面向公众的 ALB,我希望它以某种方式将流量引导到在 EKS 中运行的服务。更具体地说,我希望 ALB 将对特定端点的请求转发到 EKS,并将所有其他请求转发到我的主 VPC 中的 EC2 实例。

因此,例如请求myservice.mydomain.com将转到主 VPC 内的 EC2 实例,但请求myservice.mydomain.com/myapi/myendpoint将转到在 EKS 中运行的服务 - 因此是不同的 VPC

我在主 VPC 和 EKS VPC 之间启用了 VPC 对等互连,并且我更新了我的路由表。

我当然已经配置了一个 Ingress 并在 EKS 中设置了 ALB 控制器,它负责内部 ALB 配置

我正在考虑为 EKS 集群创建一个内部 ALB。然后获取其 IP 并创建一个新的 IP 目标组,将其与主 ALB 相关联。但是,您可以想象这会失败,因为对内部 ALB 私有 IP 的运行状况检查失败。所以我想知道这种情况下的最佳选择是什么?

amazon-web-services amazon-alb amazon-eks vpc-peering
  • 1 个回答
  • 93 Views
Martin Hope
ebr
Asked: 2021-12-14 08:26:59 +0800 CST

如果指定的 pod 不再存在于集群中,为什么 'kubectl' 有时会返回 *node* 名称而不是 *pod* 名称?

  • 0

有时会kubectl get pod some-pod-1234abc返回如下错误:Error from server (NotFound): pods "ip-192-168-55-196.us-east-1.compute.internal" not found. 这令人惊讶,因为错误引用了一个节点,而不是一个pod名称。这种情况很少发生,而且似乎(我还没有确定地验证这一点)只发生在最近被删除的 pod 上。

什么条件会导致这种情况发生?这是 AWS EKS 中的 Kubernetes 1.20 集群,使用 Spot 实例。我不关心被删除的 pod,但我试图理解为什么在消息中返回节点名称,而不是pod名称。kubectl

kubernetes amazon-eks
  • 1 个回答
  • 73 Views
Martin Hope
Dark Star1
Asked: 2021-12-08 02:34:59 +0800 CST

是否可以在 AWS 集群中混合实例类型?

  • 0

我想知道是否可以在 AWS (EKS) 集群中混合节点实例类型。我想托管需要更多资源的东西并将其添加到集群中。

amazon-web-services amazon-eks
  • 1 个回答
  • 201 Views
Martin Hope
Mike
Asked: 2021-11-22 20:50:17 +0800 CST

使用 AWS EKS 管理 K3s 集群

  • 0

我想知道是否可以使用 EKS 托管节点作为部署在边缘/物联网设备(例如英特尔 NUC)上的 K3s 集群的控制平面。我的目标是拥有一个轻量级的 kubernetes 发行版来管理在 NUC 或理论上任何边缘/物联网设备上运行的容器化应用程序,但只要有互联网连接,就能够从云端对其进行管理。

我可以在 NUC(或边缘/IoT 设备)上设置一个 k3s 集群,然后通过 Kubernetes API 服务器与 AWS EKS 控制平面进行通信吗?

cloud kubernetes amazon-eks internet-of-things
  • 1 个回答
  • 225 Views
Martin Hope
Mike
Asked: 2021-09-25 01:01:46 +0800 CST

无法从外部访问 RDS 实例

  • 0

我已经在现有的 VPC(具有公共子网和私有子网 - 连接到 NAT 网关)中创建了一个 RDS postgres 数据库,我已将其设置为可公开访问。

我已将相关 IP 地址添加到附加的安全组,这允许从 VPC内部进行内部访问,但不允许外部访问。

努力找出从哪里开始寻找无法从安全列出的 IP 外部访问数据库的故障排除。

我已经浏览了亚马逊故障排除指南(它是否设置为公开?vpc 是否有入站和出站互联网访问?您是否添加了正确的安全组和 IP?)但仍然没有运气。

nc: connect to eksdatabase[redacted].amazonaws.com port 5439 (tcp) failed: Connection timed out
remote-access postgresql amazon-eks amazon-rds
  • 1 个回答
  • 112 Views
Martin Hope
uni
Asked: 2021-09-13 20:06:16 +0800 CST

AWS EKS 插件 coredns 状态为降级且节点组创建失败(无法加入集群)

  • 0

我正在尝试在 EKS Cluster(region = ap-south-1) 上创建节点组,但它无法加入集群。健康问题:NodeCreationFailure 实例未能加入 kubernetes 集群

我发现这可能是因为 AWS EKS add-on(coredns) for Cluster 降级了。我试图创建新的集群,但它显示的附加组件状态与退化相同。运行状况问题显示: InsufficientNumberOfReplicas 加载项运行状况不佳,因为它没有所需的副本数。

并且在同一区域中,具有节点组的其他集群工作正常。它们的所有附加组件都处于活动状态。我正在从控制台创建集群。

amazon-web-services kubernetes amazon-eks eks
  • 1 个回答
  • 4060 Views
Martin Hope
Robben
Asked: 2021-08-23 04:00:46 +0800 CST

Hashicorp Vault - AWS EKS 与 EC2

  • 0

是否可以仅将 Hashicorp Vault 集群安装到 EC2 上,或者是否需要 EKS,两者相比是否有很大优势?

amazon-eks aws-ec2 eks vault
  • 1 个回答
  • 118 Views
Martin Hope
Anadi Misra
Asked: 2021-07-24 02:26:38 +0800 CST

即使在 fargate 配置文件补丁之后,coredns 部署也无法查找节点

  • 1

安装 fargate 配置文件和 coreddns 插件的问题;我将 terraform 用于某些部分,而kubetctl对于其他部分,fargate 配置文件是通过 terraform 创建的:

fargate_profiles = {
  kube-system-profile = {
    name = "kube-system-profile"
    selectors = [
      {
        namespace = "kube-system"
        labels = {
          name = "kube-system"
          k8s-app = "kube-dns"
        }
      }
    ]
    tags = {
      Cost = "DaCost"
      Environment = "dev"
      Name = "coredns-fargate-profile"
    }
  },
  swiftalk-dev-profile = {
    name = "dev-profile"
    selectors = [
      {
        namespace = "dev"
        labels = {
          name = "dev"
        }
      }
    ]
    tags = {
      Cost = "DaCost"
      Environment = "dev"
      Name = "dev-profile"
    }
  },
}

然后我使用 terraform 再次安装 coredns 插件

resource "aws_eks_addon" "core_dns" {
  addon_name        = "coredns"
  addon_version     = "v1.8.3-eksbuild.1"
  cluster_name      = "${var.eks_cluster_name}-dev"
  resolve_conflicts = "OVERWRITE"
  tags              = { "eks_addon" = "coredns", name = "kube-system" }
  depends_on        = [kubernetes_namespace.dev]
}

我修补了 fargate 的 coredns 部署

kubectl patch deployment coredns \
  --namespace kube-system \
  --type=json \
  -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'

然后重新启动

kubectl rollout restart -n kube-system deployment/coredns

但是,coredns pod 仍处于待处理状态

kubectl get pods -n kube-system
NAME                      READY   STATUS    RESTARTS   AGE
coredns-5766d4545-g6nxn   0/1     Pending   0          46m
coredns-5766d4545-xng48   0/1     Pending   0          46m
coredns-b744fccf4-hb726   0/1     Pending   0          77m

云监视日志指出 Pod 正在寻找要部署的节点,而不是fargate

I0723 10:24:38.059960       1 factory.go:319] "Unable to schedule pod; no nodes are registered to the cluster; waiting" pod="kube-system/coredns-b744fccf4-hb726"
I0723 10:24:38.060078       1 factory.go:319] "Unable to schedule pod; no nodes are registered to the cluster; waiting" pod="kube-system/coredns-5766d4545-xng48"
kubernetes terraform aws-fargate amazon-eks
  • 1 个回答
  • 1238 Views
Martin Hope
argyrodagdileli
Asked: 2021-06-01 05:06:46 +0800 CST

EKS ARM 节点卡在 NotReady 状态 - 运行时网络未准备好 cni 配置未初始化

  • 2

我有一个名为cluster-main的 EKS 集群 (AWS)正在运行

  • Kubernetes 版本: 1.16
  • 平台版本: eks.4
  • CNI版本v1.6.1

集群中有两个节点组

集群名称 实例类型 AMI 类型
通用节点组 t3a.中 AL2_x86_64
内存节点组 r5a.大 AL2_x86_64

这些组中的节点工作正常。

我正在尝试添加一个由 ARM 实例组成的新节点组

集群名称 实例类型 AMI 类型
CPU 节点组 c6g.xlarge AL2_ARM_64

但是,由于以下问题,该组的节点卡在Not Ready状态,无法创建节点组

Conditions:

类型 地位 上次心跳时间 上次转换时间 原因 信息
准备好 错误的 2021 年 5 月 31 日星期一 08:40:22 -0400 2021 年 5 月 31 日星期一 08:38:21 -0400 Kubelet 未就绪 运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未准备好:cni 配置未初始化
  • 所有节点组都有节点 IAM 角色 ARN
  • 所有节点组都是 AWS 托管组。
  • 所有节点组都部署在两个特定子网(私有)下

当我通过 SSH 连接到 EC2 实例时,我得到以下日志/var/log/message

1430 cni.go:237] Unable to update cni config: no networks found in /etc/cni/net.d
1430 kubelet.go:2193] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

我已经确认/etc/cni/net.d目录确实是空的

我有另一个具有类似特征的 EKS 集群,其中 ARM 节点组已初始化,没有任何问题。但是,我发现了两个不同之处。测试集群使用:

  • 平台版本: eks.5
  • CNI 版本 1.7.5
    • amazon-k8s-cni-init:v1.7.5-eksbuild.1
    • amazon-k8s-cni:v1.7.5-eksbuild.1

有任何想法吗?

amazon-web-services kubernetes amazon-eks
  • 1 个回答
  • 2971 Views
Martin Hope
Andy Hunt
Asked: 2021-05-18 03:02:56 +0800 CST

在 Amazon EKS 中应用 k8s 网络策略

  • 1

我正在学习 Kubernetes 网络策略。我正在尝试创建一种情况,即同一命名空间中的两个 pod 关联了不同的网络策略:

  • pod A 有来自任何地方的入口
  • 吊舱 B 不知从何而来(但最终只有吊舱 A)

我发现 Kubernetes 似乎接受了网络策略,但没有执行它们。部署的 Pod 使用该ealen/echo-server:latest映像回显有关其运行环境的信息,并测试我从一个 Pod 向另一个 Pod 发出 HTTP 请求的策略:

kubectl exec \
      -n private-networking \
      POD_A_NAME \
      -- wget -O - service-b.private-networking

如果策略有效,我预计从 A 到 B 的调用会因超时而失败,而从 B 到 A 的调用会成功。目前,他们在两个方面都取得了成功。

该集群是使用 Amazon EKS 部署的,我没有使用 Calico 或任何东西(尽管您会在我尝试过的 github 存储库中看到)。

Pod 通过部署对象部署,仅在名称上有所不同。(注意,Pod 没有部署在 Fargate 上)

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-a
  namespace: private-networking
spec:
  selector:
    matchLabels:
      service: service-a
  template:
    metadata:
      labels:
        service: service-a
    spec:
      containers:
      - name: echo-a
        image: ealen/echo-server:latest
        resources:
          limits:
            memory: "128Mi"
            cpu: "100m"
        ports:
        - containerPort: 8080
        env:
        - name: PORT
          value: "8080"

应用的网络策略如下,也可以在 GitHub 上访问

我错过了什么?

---
# Deny all ingress and egress traffic across the board
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
  namespace: private-networking
spec:
  podSelector: {}
  policyTypes:
    - Ingress
    - Egress
---
# Allow all pods in the namespace to egress traffic to kube-dns
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-dns
  namespace: private-networking
spec:
  podSelector: {}
  policyTypes:
    - Egress
  egress:
    - to:
        - namespaceSelector: {}
          podSelector:
            matchLabels:
              k8s-app: kube-dns
      ports:
        - port: 53
          protocol: UDP
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: service-a-ingress-from-anywhere
  namespace: private-networking
spec:
  podSelector:
    matchLabels:
      service: service-a
  policyTypes:
    - Ingress
  ingress:
    - from:
        - ipBlock:
            cidr: 0.0.0.0/0
      ports:
        - port: 8080

---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: service-a-egress-to-anywhere
  namespace: private-networking
spec:
  podSelector:
    matchLabels:
      service: service-a
  egress:
    - {}
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: service-b-ingress-from-nowhere
  namespace: private-networking
spec:
  podSelector:
    matchLabels:
      service: service-b
  policyTypes:
    - Ingress
  ingress: [ ]

networking kubernetes amazon-eks
  • 1 个回答
  • 296 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve