小编Pjo*_*erS的帖子

Terraform AWS EKS ALB Kubernetes Ingress 不会创建侦听器或目标组

我正在尝试使用 Terraform 资源创建一个带有 ALB 入口的 AWS EKS 集群。

该文档表明入口将自动创建一个带有关联侦听器和目标组的负载均衡器。

Kubernetes Ingress 创建 ALB 负载均衡器、安全组和规则,但不创建目标组或侦听器。我曾尝试使用网关或应用程序子网,但没有任何区别。我尝试设置安全组,但 ALB 设置并使用了它自己的自我管理的安全组。

我依赖本指南

ALB 的卷曲让我感到

无法连接到 de59ecbf-default-mainingre-8687-1051686593.ap-southeast-1.elb.amazonaws.com 端口 80:连接被拒绝

我分别创建了 IAM 角色和 ACM 证书,因为 AWS 对这些有配额限制。我的 EKS 集群和节点角色是标准的,节点角色附加了最新的策略。

我曾经kubectl单独应用 kubernetes 入口,但结果相同。它创建 ALB 和一个安全组,其中包含端口规则,但没有目标组或侦听器。

当我将集群端点粘贴aws eks describe-cluster --name my-tf-eks-cluster --query "cluster.endpoint"到浏览器中时,我得到以下信息:

{ "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "forbidden: User "system:anonymous" cannot get path "/ "", "reason": "Forbidden", "details": { }, "code": 403 }

此外,入口没有 IP 地址。 …

terraform kubernetes-ingress terraform-provider-aws amazon-eks

12
推荐指数
1
解决办法
2930
查看次数

docker for windows 上的 Kubernetes,带有 hostPath 的持久卷给出了“不允许操作”

我正在尝试将 Windows 中的文件夹连接到容器文件夹。这适用于需要读取文件夹中文件的 .NET 应用程序。在普通的 docker 容器中,使用 docker-compose,该应用程序可以正常运行,但由于这只是我们必须监视的几个不同应用程序之一,因此我们正在尝试让 kubernetes 参与其中。这也是我们失败的地方。作为 kubernetes 的初学者,我使用 kompose.exe 将 compose 文件转换为 kuberetes 风格。但是,无论我使用 hostPath 还是 permanentVolumeClaim 作为标志,我都无法让事情“开箱即用”。使用 hostPath 时,路径非常不正确,而使用 permanentVolumeClaim 时,我收到一条警告,指出不支持在主机上安装卷。因此,我尝试自己完成这一部分,但既不能使用持久卷,也不能直接在部署文件中输入安装数据。我最接近的是我可以进入该文件夹,并且可以更改为其中的子文件夹,但是一旦我尝试运行任何其他命令,无论是“ls”还是“cat”,我都会收到“不允许操作” 。这是我的 docker compose 文件,它按预期工作

version: "3.8"
services:
    test-create-hw-file:
        container_name: "testcreatehwfile"
        image: test-create-hw-file:trygg
        network_mode: "host"
        volumes:
            - /c/temp/testfiles:/app/files
Run Code Online (Sandbox Code Playgroud)

在该文件上运行 konvert compose:

PS C:\temp> .\kompose.exe convert -f .\docker-compose-tchwf.yml --volumes hostPath -v
DEBU Checking validation of provider: kubernetes
DEBU Checking validation of controller:
DEBU Docker Compose version: 3.8
WARN Service "test-create-hw-file" won't be created because 'ports' is …
Run Code Online (Sandbox Code Playgroud)

windows volumes docker kubernetes

10
推荐指数
1
解决办法
7921
查看次数

如何使用基于目标组“IP”的 [AWS] 设置 Kubernetes NLB 负载均衡器?

目前,我正在使用网络负载均衡器公开 k8s 服务。它创建了一个网络负载均衡器并将目标组设置为基于实例,一切正常。正如我们所知,节点中的端口始终在 30000 - 32767 的范围内。

不同的目标群体存在差异。基于实例的目标组用于保留客户端 IP,其中基于 IP 的目标组不保留客户端 IP。

现在安全组有问题,我想限制节点端口只能由负载均衡器的CIDR访问。由于它是基于实例的目标组,因此入站 IP 始终是客户端 IP。因此很难限制仅对某些 IP 的访问。

所以我的计划是将目标组切换到基于“IP”的组,这样我就可以限制对负载均衡器的 CIDR 的访问。

有没有其他方法可以使用基于 IP 的目标类型创建 NLB 负载平衡器?你能帮我一些建议吗?

apiVersion: v1
kind: Service
metadata:
  name: nginx-router
  annotations:
    service.beta.kubernetes.io/do-loadbalancer-protocol: "http"
    service.beta.kubernetes.io/do-loadbalancer-healthcheck-path: "/healthz"
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
    service.beta.kubernetes.io/aws-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: [tes]

    # service.beta.kubernetes.io/healthcheck-path: /healthz
spec:
  selector:
    app: nginx-router
  externalTrafficPolicy: Local
  ports:
    - port: 80
      targetPort: 80
      protocol : TCP
      name : http
    - port : 443
      targetPort: 443
      protocol : TCP
      name : https

  type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)

amazon-web-services kubernetes kubectl kubernetes-helm kubernetes-ingress

7
推荐指数
1
解决办法
962
查看次数

增加弹性搜索 Kubernetes 中的分片数量

部署了一个Elasticsearchon GKE. ECK有3个主节点和2个数据节点。创建包含 1 个分片和 1 个副本的索引时,当分片计数达到 1000 时,会收到 400 错误响应。

是否可以增加分片数量?请建议一种增加分片数量的方法。

错误详情

Invalid NEST response built from a unsuccessful (400) low level call on PUT: /t-2af14520-e76d-4091-a51d-1c89cf990e97
Audit trail of this API call:
[1] BadResponse: Node: http://eck.com/ Took: 00:00:00.2833118
OriginalException: Elasticsearch.Net.ElasticsearchClientException: Request failed to execute. Call: Status code 400 from: PUT /t-2af14520-e76d-4091-a51d-1c89cf990e97. ServerError: Type: illegal_argument_exception Reason: "Validation Failed: 1: this action would add [2] total shards, but this cluster currently has [2000]/[2000] maximum shards open;"
Request:
<Request …
Run Code Online (Sandbox Code Playgroud)

elasticsearch kubernetes google-kubernetes-engine

5
推荐指数
1
解决办法
6204
查看次数

问题:nginx:[emerg] mkdir()“/var/cache/nginx/client_temp”失败(13:权限被拒绝)

我正在尝试运行NginxOpenshift面临此目录权限问题。由于此错误,容器未创建。以下权限设置为手动创建的文件。

drwxr-xr-x.  3 root root   79 Dec 22 02:50 /etc/nginx
drwxr-xr-x.  2 root root   26 Dec 22 02:50 /etc/nginx/conf.d
-rw-r--r--.  1 root root 5231 Dec 22 02:48 /etc/nginx/mime.types
drwxrwxr-x.  3 root root   25 Dec 22 01:23 /var/cache/nginx
drwxrwxr-x.  2 root root    6 Dec 22 01:10 /var/log/nginx
drwxrwxr-x. 47 root root 1340 Dec 21 06:51 /var/run
Run Code Online (Sandbox Code Playgroud)

nginx openshift kubernetes kubernetes-ingress nginx-config

5
推荐指数
1
解决办法
7381
查看次数

EKS 中的节点无法解析 RDS 的 DNS 名称(IP 工作)

我再次需要 Stack Overflow 的帮助:)。

我们有一个新的公共访问端点 EKS Cluster,这是节点内的一个应用程序,可从 RDS 返回某些内容。集群的 VPC 是与保存 RDS 的私有 VPC 对等的 VPC。我们还启用了接受器 DNS解析。接受者是RDS VPC。

当通过 SSH 连接到我的工作节点并远程登录 RDS 时,它就解决了这个问题。最初,连接字符串是与端点建立的。它没有到达数据库。我将其更改为RDS的IP并且它起作用了。

使用 DNS 名称时,需要:

1)大量的时间来加载,

2)

无法检索错误:超时已过期。从池中获取连接之前超时时间已过。发生这种情况的原因可能是所有池连接都在使用中并且已达到最大池大小。

因此我想知道你们中是否有人遇到过这个问题以及如何解决的?使用 EKS 进行 DNS 解析似乎很有趣,但我不太确定为什么实例可以解析,但 Pod 不能解析。

感谢您的帮助!

dns amazon-web-services amazon-rds kubernetes amazon-eks

3
推荐指数
1
解决办法
3870
查看次数

无法解析docker端点

发布我最新的 Docker 更新安装,我收到以下错误

PS C:\Users\vpasumar> docker ps -a
unable to resolve docker endpoint: default orchestrator is kubernetes but unable to resolve kubernetes endpoint: Error loading config file "C:\Users\vpasumar\.kube\config": yaml: control characters are not allowed
Run Code Online (Sandbox Code Playgroud)

我认为 docker 正在运行,而 kubernetes 仅作为“启动”。我也没有在很长时间后开始。

任何想法,如何访问docker。

docker kubernetes docker-for-windows

3
推荐指数
1
解决办法
5643
查看次数

使用 Kubectl 调整 Kubernetes 中 PVC 的大小

最近我试图在 的PersistentVolumeClaim帮助下调整大小Kubectl edit pvc以增加存储空间10 Gi70 Gi但它给出了错误:

persistentvolumeclaims "myclaim" was not valid:
* spec: Forbidden: spec is iimmutable after creation except resources.requests for bound claims
Run Code Online (Sandbox Code Playgroud)

如何在Kubectl edit.

错误画面

kubernetes persistent-volume-claims

3
推荐指数
1
解决办法
2841
查看次数

Kubectl get deployments 显示在默认命名空间中找不到资源

我正在尝试使用 Kubernetes 并尝试将映像部署到 k8s 服务中

root@KubernetesMiniKube:/usr/local/bin# kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080
pod/hello-minikube created

root@KubernetesMiniKube:/usr/local/bin# kubectl get pod

NAME             READY   STATUS    RESTARTS   AGE
hello-minikube   1/1     Running   0          16s

root@KubernetesMiniKube:/usr/local/bin# kubectl get deployments

No resources found in default namespace.
Run Code Online (Sandbox Code Playgroud)

为什么我看到没有找到资源,但实际上有一个资源在默认命名空间内运行。

kubectl

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

您的存储桶尚未针对 Firebase Storage 正确设置

请有人帮我解决这个错误firebaseStorage吗?

引起原因:java.io.IOException: { "error": { "code": 400, "message": "您的存储桶尚未正确设置 Firebase 存储。请访问 'https://console.firebase.google .com/project/task-management-app-99c32/storage/files' 自动修复此问题,然后重试。如果问题持续时间超过五分钟,您可能没有足够的权限来修复该项目。您可以检查您的权限通过访问“https://console.firebase.google.com/iam-admin/iam/project?project=task-management-app-99c32”。” }}

dart firebase flutter firebase-storage

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