问题标签 [cert-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
https - 通过 istio 网关公开 kibana(eck 运算符) - https 问题(错误 503)
我想用 istio 网关公开 kibana,因为我使用了这个配置文件
我公开的所有其他应用程序使用相同的配置运行良好,但使用 kibana 我有 http 503,并显示此消息“上游连接错误或在标头之前断开/重置。重置原因:连接终止”
如果我从网关中删除 https 配置并且只保留 http ,它可以工作。 证书是从证书管理器生成的,它们适用于其他应用程序(现在我使用自签名证书进行测试)
你期待看到什么?
通过 https 暴露的 Kibana
你看到了什么?在什么情况下?
503 错误,此消息“上游连接错误或在标头之前断开/重置。重置原因:连接终止”
环境
ECK 版本:
https://download.elastic.co/downloads/eck/1.0.0-beta1/all-in-one.yaml
Istio 版本:=1.4.0
Kubernetes 信息:
云:EKS Kubernetes 客户端版本:version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10- 15T12:11:03Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"windows/amd64"} 服务器版本:version.Info{Major:"1", Minor:"14+", GitVersion :“v1.14.9-eks-c0eccc”,GitCommit:“c0eccca51d7500bb03b2f163dd8d534ffeb2f7a2”,GitTreeState:“clean”,BuildDate:“2019-12-22T23:14:11Z”,GoVersion:“go1.12.12”,编译器:“gc” , 平台:"linux/amd64"}
kubernetes - 注解 cert-manager.io/cluster-issuer: acme-issuer 是否足以生成 TLS 证书?
来自cert-manager
文档:将注释添加cert-manager.io/cluster-issuer: acme-issuer
到Ingress
对象应触发 shim,向此颁发者请求证书,并存储证书(没有任何命名空间?)(使用哪个名称?)。
我试过这个,它什么也没做。在 yaml 定义中添加一个tls:
部分Ingress
会触发 shim,请求证书并将其存储在与Ingress
.
这意味着文档不正确,或者它真的应该在没有tls:
部分的情况下工作吗?
kubernetes - 主要更新停止工作后的证书管理器
该问题是在 cert-manager 从 0.6.0 到 0.11.0 版本的重大更新之后开始的。更新已通过配置备份、cert-manager remove、helm update、cert-manager install 和 backup restore 进行处理。更新期间没有配置更改。
Pod 和服务已启动,但更新后未颁发证书。
cert-manager 服务有日志:
我的 ClusterIssuer yaml:
并描述 ClusterIssuerletsencrypt-prod
kubernetes - 使用 TLS 为 GRPC 正确设置 Istio 网关
我一直在尝试设置一个面向外部的 GRPC 支付微服务客户端,并使用 tls 自动更新证书。
到目前为止,我已经正确设置了带有证书续订的 certmanager,但是我的网关似乎没有正确转发流量,因为这kubectl -n istio-system describe challenge payments-cert
表明挑战由于HTTP 404
被退回而出错。
我曾经grpcurl
测试过服务的活跃度,结果是这样的:
Failed to dial target host "payments.mywebsite.com:443": read tcp 192.168.0.16:58849
->xx.xx.xxx.xx:443: read: connection reset by peer
这表明ip已经被dns正确注册,并且地址确实到达了443,所以我的Gateway -> VirtualService -> Service -> Deployment
设置肯定有问题。
在描述 istio ingress ( kubectl get svc -n istio-system istio-ingressgateway
) 时,我得到:
istio-ingressgateway LoadBalancer 10.0.13.184 xx.xx.xx.xx ...443:31390/TCP...
哪个似乎没有转发443
到预期的端口?
我想让流量进入“payments.mywebsite.com:443”(使用 let-encrypt 自动更新证书)以路由到容器端口上的我的 grpc 后端50051
。我一直很难破译Istio
文档和资源来完成这项工作!
任何帮助都将受到热烈欢迎!
网关
虚拟服务
服务
部署
编辑 1:从网关添加日志
编辑 2:添加了代理边车日志(省略了不记名令牌)
编辑 3:支付证书结构和集群发行者
编辑 4:describe payment-cert 的输出(+ istio sidecar injector 的附加日志)
我还查看了谷歌云上 istio sidecar 注入器发出的事件,记录了这些日志:
kubernetes - cert-manager-webhook:FailedDiscoveryCheck,命名空间在终止时挂起
我删除了一个命名空间,该命名空间的服务通过 nginx-ingress 公开,并带有由 cert-manager 控制的 Let's Encrypt 证书。命名空间的删除以终止状态挂起。
如这里所解释的,这可能是内部 API 的问题。当我运行时:
它返回无法访问 certmanager webhook API:
错误:无法检索服务器 API 的完整列表:webhook.certmanager.k8s.io/v1beta1:服务器当前无法处理请求
当我运行时kubectl get apiservices v1beta1.webhook.certmanager.k8s.io -o yaml
,用于检查其状态条件:
所有 nginx-ingress 和 cert-manager pod 都处于良好状态。我在部署和删除此命名空间时对 certmanager 进行了更新,这可能是对问题的解释。如何解决这个问题?
版本:
kubernetes - 来自证书管理器的证书请求卡在 OpenShift CRC(代码就绪容器)中
在 OpenShift CRC (Code Ready Containers) 环境中,我尝试使用 cert-manager 和 Let's Encrypt 来申请证书,但是证书请求卡住并以“等待”状态结束。
我的ClusterIssuer
样子:
运行上述 YAML 文件后,ClusterIssuer
已经创建成功。
我的证书如下所示:
运行上述 YAML 文件后,我检查我的秘密对象是否已创建,但tls.cert
为 0 字节。
然后我检查证书状态,它显示:
显然,证书请求被卡住了。
这里有什么问题?为什么证书请求最终处于等待状态?它是由 Code Ready Containers 引起的(不确定 CRC 是否有访问外部的路由)?
kubernetes - 我应该在 OpenShift 中使用 certmanager.k8s.io 或 certmanager.io 哪个?
我正在尝试用户 cert-manager 来管理 OpenShift 中的证书,但我看到一些示例使用了 apiVersion:cert-manager.io,一些示例使用了 apiVersion:certmanager.k8s.io。
我在我的 OpenShift 中检查它们,似乎只有 certmanager.k8s.io,即使我已经安装了最新的 cer-manager。
我很困惑,他们有什么区别?我应该使用哪一个?谢谢你的想法。
kubernetes - Kubenetes ApiService 删除后重新生成
我正在尝试在我的 kubernetes 集群中升级 cert-manager。目前安装的版本是 pre crd 名称更改,我正在尝试清理旧的 CRD。
识别出 crd 后,我将其删除:
删除kubectl get crd | grep certmanager.k8s.io
后没有显示 crd,但大约 30 秒后它们会重新生成。我需要在哪里寻找以确定导致它们再生的原因。
所有其他 cert-manager 资源已被删除。
这是因为我似乎无法查看/编辑/删除新 CRD 中的资源,但应用更改会更新(隐藏的)资源。
ssl - Kubernetes:cert-manager 证书处于待处理状态
我已经为 SSL 证书安装了 cert-manager 0.12.0。
我的发行人文件是
我的证书文件
入口配置是
但是,SSL 证书仍然无效。通用名称是“Kubernetes Ingress Controller Fake Certificate”。
以下结果显示订单和挑战
我已经更新了资源限制范围并使用 helm 重新安装了 cert-manager。我仍然收到此错误。我不确定出了什么问题或显示如何解决此问题。
如果您需要任何东西,请告诉我。提前致谢!