我最近使用 eksctl 在 EKS 上创建了一个集群。kubectl logs -f mypod-0遇到授权错误:
Error from server (InternalError): Internal error occurred: Authorization error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, subresource=proxy)
任何建议和见解表示赞赏
我正在尝试使用 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
我在远程 terraform-cloud 中管理状态
我已经下载并安装了最新的 terraform 0.13 CLI
然后我删除了.terraform。
然后我跑terraform init了,没有错误
然后我做了
? terraform apply -var-file env.auto.tfvars
Error: Provider configuration not present
To work with
module.kubernetes.module.eks-cluster.data.null_data_source.node_groups[0] its
original provider configuration at provider["registry.terraform.io/-/null"] is
required, but it has been removed. This occurs when a provider configuration
is removed while objects created by that provider still exist in the state.
Re-add the provider configuration to destroy
module.kubernetes.module.eks-cluster.data.null_data_source.node_groups[0],
after which you can remove the provider configuration again.
Releasing state lock. …Run Code Online (Sandbox Code Playgroud) 我正在寻找这些日志:
/var/log/kube-apiserver.log
/var/log/kube-scheduler.log
/var/log/kube-controller-manager.log
Run Code Online (Sandbox Code Playgroud)
在EKS中,用户无权访问控制平面,无法直接查看这些文件.
我知道AWS宣布的CloudTrail集成.但它显示的事件不是来自k8s API,而是来自事件的AWS EKS API CreateCluster.还有一个问题是如何获取调度程序和控制器管理器日志.
在pods列表中没有用于api和控制器的pod.
$ kubectl get po --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system aws-node-9f4lm 1/1 Running 0 2h
kube-system aws-node-wj2cg 1/1 Running 0 2h
kube-system kube-dns-64b69465b4-4gw6n 3/3 Running 0 2h
kube-system kube-proxy-7mt7l 1/1 Running 0 2h
kube-system kube-proxy-vflzv 1/1 Running 0 2h
Run Code Online (Sandbox Code Playgroud)
节点列表中没有主节点
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-10-0-0-92.ec2.internal Ready <none> 9m v1.10.3
ip-10-0-1-63.ec2.internal Ready <none> 9m v1.10.3
Run Code Online (Sandbox Code Playgroud) 我需要一些关于 k8s 1.14 和在其上运行 gitlab 管道的问题的建议。许多作业都抛出退出代码 137 错误,我发现这意味着容器突然终止。
集群信息:
Kubernetes 版本:1.14 正在使用的云:AWS EKS 节点:C5.4xLarge
深入挖掘后,我发现了以下日志:
**kubelet: I0114 03:37:08.639450** 4721 image_gc_manager.go:300] [imageGCManager]: Disk usage on image filesystem is at 95% which is over the high threshold (85%). Trying to free 3022784921 bytes down to the low threshold (80%).
**kubelet: E0114 03:37:08.653132** 4721 kubelet.go:1282] Image garbage collection failed once. Stats initialization may not have completed yet: failed to garbage collect required amount of images. Wanted to free 3022784921 bytes, but freed 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用loadBalancer类型服务向外界公开服务。
为此,我遵循了这个文档
https://aws.amazon.com/premiumsupport/knowledge-center/eks-kubernetes-services-cluster/
我的loadbalancer.yaml看起来像这样
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
Run Code Online (Sandbox Code Playgroud)
但是负载平衡器没有按预期创建我收到以下错误
Warning SyncLoadBalancerFailed 8s (x3 over 23s) service-controller Error syncing load balancer: failed to ensure load balancer: could not find any suitable subnets for creating the ELB
Run Code Online (Sandbox Code Playgroud)
似乎是因为子网标签中的一些问题需要解决,但我的子网中有所需的标签
kubernetes.io/cluster/<cluster-name>. owned
kubernetes.io/role/elb 1
Run Code Online (Sandbox Code Playgroud)
但是,我仍然收到错误 could not find any suitable subnets for creating the ELB
我有一个values.yaml文件,其中我已经给出了spring_datasource_hikari_maximum_pool_size: "10"
我已deployment yaml将此值用作
- name: SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE
value: {{ .Values.spring_datasource_hikari_maximum_pool_size }}
Run Code Online (Sandbox Code Playgroud)
但是,当在deployment.yaml 文件内部使用时,它会失败并出现以下错误。
Deploy failed: The request is invalid: patch: Invalid value: "map[metadata:map[annotations:map[kubectl.kubernetes.io/last-applied-configuration:{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":
{
(helm values etc)
`{"name":"SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE","value":10}]` **(this is the incorrect value)**
}
cannot convert int64 to string
Run Code Online (Sandbox Code Playgroud)
values.yaml 在文件中使用文件中的整数值的正确格式是什么deployment.yaml ?
我还尝试了多种带引号“”的组合,但似乎没有任何效果。
感谢任何帮助,提前致谢。
当我尝试测试kubectl的配置时
kubectl get svc
Run Code Online (Sandbox Code Playgroud)
我收到此错误:服务器没有资源类型“ svc”
当我尝试这个命令
kubectl get services
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:与服务器localhost:8080的连接被拒绝-您是否指定了正确的主机或端口?
我正在按照本用户指南在Mac上部署kubernetes应用程序
https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#eks-create-cluster
Admins-MacBook-Pro:~ Harshin$ kubectl version --short --client
Run Code Online (Sandbox Code Playgroud)
客户端版本:v1.10.3
请帮我!!
我在VPC中设置了EKS群集.工作节点在私有子网中启动.我可以成功部署pod和服务.
但是,我无法从pod中执行DNS解析.(它在容器外部的工作节点上工作正常.)
使用https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/进行故障排除会导致nslookup出现以下情况(大约一分钟后超时):
服务器:172.20.0.10地址1:172.20.0.10
nslookup:无法解析'kubernetes.default'
当我在一个全公开的VPC中启动集群时,我没有这个问题.我是否缺少私有子网内DNS解析的必要步骤?
非常感谢,丹尼尔
在经典的 Kubernetes Nginx 入口中,我知道可以通过应用此注释基于特定的正则表达式重写目标 url nginx.ingress.kubernetes.io/rewrite-target: /$1
但是此注释在 AWS ALB 入口中不起作用。有谁知道是否可以使用这种入口进行重写工作?
url-rewriting kubernetes kubernetes-ingress amazon-eks aws-application-load-balancer
amazon-eks ×10
kubernetes ×8
kubectl ×2
terraform ×2
amazon-vpc ×1
aws-application-load-balancer ×1
linux ×1
spinnaker ×1