问题标签 [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.

0 投票
1 回答
1402 浏览

ssl - Kubernetes/Ingress Nginx/Cert Manager 证书有命名空间吗?

我正在尝试部署“kube-lego”的继任者“cert-manager”(https://github.com/jetstack/cert-manager)项目。我发现证书与正在创建的证书不匹配,我想知道之前是否有人尝试过。

我正在使用“monitoring-xxx-com”创建一个 tls secretName,并且在 ingress-nginx 日志中我发现它正在尝试搜索 namespace/monitoring-xxx-com 而没有找到它所期望的。

我想知道这是否是因为 ingress-nginx 正在尝试自动使用 pods 命名空间,而 cert-manager 正在创建没有命名空间的证书,因此这就是永远找不到证书的原因。

并在“cert-manager”创建的证书中:

0 投票
1 回答
3074 浏览

kubernetes - 如何在裸机集群上使用 cert-manager 在 Kubernetes 中自动进行 Let's Encrypt 证书更新?

我想使用暴露的 Nginx Ingress Controller 访问我的 Kubernetes 裸机集群以进行 TLS 终止。为了能够自动更新证书,我想使用 Kubernetes 插件cert-manager,它是 kube-lego 的继任者。

到目前为止我做了什么:

  • 按照本指南,使用 kubeadm 和 flannel 作为 pod 网络在裸机(1 个 master,1 个 minion,均运行 Ubuntu 16.04.4 LTS)上设置 Kubernetes (v1.9.3) 集群。

  • 使用 Kubernetes 包管理器helm安装nginx-ingress(图表版本 0.9.5)
    helm install --name nginx-ingress --namespace kube-system stable/nginx-ingress --set controller.hostNetwork=true,rbac.create=true,controller.service.type=ClusterIP

  • 使用 helm安装cert-manager(图表版本 0.2.2)
    helm install --name cert-manager --namespace kube-system stable/cert-manager --set rbac.create=true

当我使用 Ingress 资源进行测试时,Ingress Controller 已成功公开并按预期工作。为了使用 cert-manager 进行适当的 Let's Encrypt 证书管理和自动续订,我首先需要一个 Issuer 资源。我从这个acme-staging-issuer.yaml创建它:

kubectl create -f acme-staging-issuer.yaml运行成功,但kubectl describe issuer/letsencrypt-staging给了我:

如果没有现成的颁发者,我将无法继续生成 cert-manager 证书或使用 ingress-shim(用于自动续订)。

我的设置中缺少什么?使用hostNetwork=true公开入口控制器是否足够,或者是否有更好的方法在裸机集群上公开其端口 80 和 443?如何解决tls:创建 cert-manager Issuer 资源时收到的超大记录错误?

0 投票
2 回答
181 浏览

kubernetes - 是否可以在多个 K8S 集群中使用通过 cert-manager (Lets Encrypt) 生成的通配符证书

我会为不同的服务使用不同的子域,但这些服务将驻留在不同的 K8S 集群中。我想知道我是否可以跨集群复制通配符证书。另外,如果某处有类似的示例,请将我链接到它。任何帮助,将不胜感激。

0 投票
1 回答
146 浏览

kubernetes - Cert-Manager 不创建 https 路由

给定: 我想通过证书管理器运行带有letsencrypt证书的Web应用程序

问题 我可以使用 http 访问该站点,但 https 不起作用,即使我可以看到 cert-manager 创建了一个也保存为机密的证书。

我做了什么

1.) 我用 helm 安装了 cert-manager

然后我应用了我的 k8s yaml。

我还缺少什么来获得 https 路由?

0 投票
2 回答
5438 浏览

kubernetes - Kubernetes 中带有子域重定向的通配符 SSL 证书

我已经使用 cert-manager 和letsencrypt 将我的Kubernetes 配置为对我的所有应用程序使用一个通配符SSL 证书,现在的问题是我无法配置子域重定向,因为Ingress 有点“僵硬”。这是我试图实现这一目标的方法:

问题是 Ingress 忽略了声明的子域重定向,因为它们没有在“tls:hosts”部分中列出。如果我确实把它们放在那里,它会尝试使用通配符和其他子域以及同一个证书中的其他子域来颁发 SSL 证书,这会导致颁发者拒绝订单,说的很明显:“subdomain.domain.com 和 * .domain.com 是多余的”

有没有其他方法可以声明这些重定向并强制它们使用我的 SSL 通配符证书?

0 投票
2 回答
987 浏览

ssl - 在 gke 上设置没有 helm 或 rbac 的证书管理器时遇到问题

我相信我已遵循本指南: https ://medium.com/@hobochild/installing-cert-manager-on-a-gcloud-k8s-cluster-d379223f43ff

其中,让我without-rbac从这个 repo 安装 cert-manager 的版本: https ://github.com/jetstack/cert-manager

但是,当 cert-manager pod 启动时,它开始发送垃圾邮件此错误: leaderelection.go:224] error retrieving resource lock cert-manager/cert-manager-controller: configmaps "cert-manager-controller" is forbidden: User "system:serviceaccount:cert-manager:default" cannot get configmaps in the namespace "cert-manager": Unknown user "system:serviceaccount:cert-manager:default"

希望有人有一些想法。

0 投票
1 回答
321 浏览

docker - 带有证书管理器的 Kubernetes 中的 Docker 注册表

我正在使用cert-manager进行 SSL 管理,并在入口级别进行配置。例如这个配置<myhost>.com(跳过metadata和其他不相关的配置部分):

现在我正在尝试将我的 docker 注册表移动到 kubernetes 集群中,但它需要证书文件来配置注册表部署。

是否可以在没有 SSL 的情况下使用 docker 注册表(因为可以在入口级别完成加密)或使用 cert-manager 从 docker 注册表获取证书?

0 投票
1 回答
222 浏览

kubernetes - 我无法访问在谷歌云 kubernetes 上提供的 https url

全部,

我遵循了本教程:https ://github.com/ahmetb/gke-letsencrypt 。我在谷歌云中有一个 kubernetes 的入口设置,我有一个静态 IP 地址并创建了秘密。这是我的入口配置:

我可以访问http://app-solidair-vlaanderen.com,但不能访问 https 网址。

如果我调用描述入口,我会得到以下输出:

有人知道我错过了什么吗?

0 投票
1 回答
2760 浏览

kubernetes - Kubernetes Let's Encrypt cert-manager Error secret not found

我按照本教程在 kubernetes 中进行加密:https ://github.com/ahmetb/gke-letsencrypt/blob/master/

我遇到了一些问题,cert-manager 没有创建所需的秘密。你能帮我解决这个问题吗?

证书管理器错误:

这是我的 kubernetes 对象:

kubectl -n kube-system describe pod cert-manager

kubectl describe clusterissuer

kubectl -n coffeer-ci describe certificate

kubectl -n coffeer-ci describe ingress

我也有错误错误 403: 超出配额'BACKEND_SERVICES'。限制:全局9.0。,在入口处配额超过。

谢谢

0 投票
0 回答
425 浏览

google-kubernetes-engine - 控制器和入口垫片错误

我试图让它在 GKE 上工作,但不幸的是没有运气,我似乎无法弄清楚为什么。我正在使用 websockets,一切正常,DNS 指向正确的 IP,但问题是我无法让 wss / ssl 工作。

我的架构由一个 LoadBalancer 服务和一个带有 nodejs 服务器的简单 ubuntu pod 组成。我为每个 pod 添加了一个额外的 pod 服务。以下是配置: LB

服务

应用程序

我安装了一个值为“myapp-tls”的卷,因为创建 wss 服务器需要 .key 和 .cert 文件(https.createServer({key: fs.readFileSync('keys/server.key'), cert: fs.readFileSync('keys/server.crt')}, this.app)

我使用静态 yamls 在默认 ns 中安装了 cert-manager。 crd

- 证书


部署

我为letsencrypt创建了一个秘密

将其添加到我的clusterIssuer

并创建了证书

现在,如果我记录cert-manager mgrpod,我会每 20 分钟得到一次输出: