自动签发https证书工具 cert manager

最近cert manager进行升级,不再支持0.11以下的版本了,所以进行升级。但是发现不能直接通过更改镜像版本来升级,在Apps里的版本也是旧版本,部署后发现不支持,于是自已动手,根据文档整理了一套部署cert manager的过程。

## Steps
1. create namespace
`kubectl create namespace cert-manager`
2. install custome resource definition
`kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml`
3. label cert-manager as disable-validation
`kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true`
4. add jetstack helm repos
`helm repo add jetstack https://charts.jetstack.io`
5. update local helm chart repository
`helm repo update`
6. install cert-manager with helm chart
`helm install --name cert-manager --namespace cert-manager --version v0.11.0 jetstack/cert-manager`
7. create a clusterissuer
`kubectl apply -f issuer.yaml`

```
# issuer.yaml
apiVersion: v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
# You must replace this email address with your own.
# Let‘s Encrypt will use this to contact you about expiring
# certificates, and issues related to your account.
email: [email protected]
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
# Secret resource used to store the account‘s private key.
name: issuer-key
# Add a single challenge solver, HTTP01 using nginx
solvers:
- http01:
ingress:
class: nginx
```
8. config annotation in your ingress
```
apiVersion: v1
kind: Ingress
metadata:
name: my-nginx
annotations:
# config the cluster issuer defined in issuer.yaml
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
spec:
rules:
- host: test.nginx.com # dns for your ingress
http:
paths:
- backend:
serviceName: my-nginx
servicePort: 443
path: /
tls: #enable tls
#secretName for this ingress,this will be stored in certificates
- secretName: test-nginx-secret
hosts:
- test.nginx.com # dns for your ingress
```
## Troubleshooting
1. serviceaccount Tiller not found
`kubectl apply -f tiller.yaml`
```
#tiller.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: cert-manager
---
apiVersion: v1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: cert-manager
```

原文地址:https://www.cnblogs.com/flyingaway/p/11811964.html

时间: 2024-10-13 21:35:34

自动签发https证书工具 cert manager的相关文章

1.5-puppet配置自动签发证书

puppet配置自动签发证书 *服务端删除客户端证书 puppet cert clean client.wyp.com *客户端删除SSL相关文件 rm -rf /val/lib/puppet/ssl/* *服务端创建自动签发的配置文件 vim /etc/puppet/puppet.conf   #在[main]下加入一行 autosign = true vim /etc/puppet/autosign.conf  #加入以下内容 *.wyp.com *服务端重启puppetmaster服务 /

我的Android进阶之旅------>Android关于HttpsURLConnection一个忽略Https证书是否正确的Https请求工具类

下面是一个Android HttpsURLConnection忽略Https证书是否正确的Https请求工具类,不需要验证服务器端证书是否正确 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEn

Puppet配置自动签发证书

配置自动签发证书 服务端上删除客户端证书puppet cert clean client.aming.com 客户端上删除ssl下的文件rm -rf /var/lib/puppet/ssl/* 服务端更改配置文件vim /etc/puppet/puppet.conf在[main]下面加一行autosign = true 服务端创建自动签发的配置文件 vim /etc/puppet/autosign.conf加入如下内容:*.aming.com 重启puppetmaster服务/etc/init.

Nginx 通过 certbot 为网站自动配置 SSL 证书并续期

一.背景知识 1.1.http 和 https 是什么? 简单来说,http 是一个传输网页内容的协议,比如你看到的 http 开头的网站 http://www.163.com ,其网页上的文字.图片. CSS . JS 等文件都是通过 http 协议传输到我们的浏览器,然后被我们看到. 而 https 可以理解为“ HTTP over SSL/TLS ”,好端端的 http 为什么需要“ over SSL/TLS ”呢,因为 http 是明文传输的,通过 http 协议传输的内容很容易被偷看和

OpenSSL编程初探3 --- 根据给定的域名自动伪造应用证书

SSL中间人相关技术---根据给定的域名自动伪造证书 本文由CSDN-蚍蜉撼青松[主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 一.基于OpenSSL命令的证书手工制作流程 在实现证书的自动生成前,必须先弄清楚使用OpenSSL命令手工制作证书的方法与步骤.以生成一个二级证书链为例,将会用到以下命令: // 生成顶级CA的公钥证书和私钥文件,有效期10年(RSA 1024bits,默认) openssl req -new -x509 -days 36

Let's Encrypt,免费好用的 HTTPS 证书

#参考https://imququ.com/post/letsencrypt-certificate.html#####argparse安装#http://www.cnblogs.com/emanlee/p/4577249.html 很早之前我就在关注 Let's Encrypt 这个免费.自动化.开放的证书签发服务.它由 ISRG(Internet Security Research Group,互联网安全研究小组)提供服务,而 ISRG 是来自于美国加利福尼亚州的一个公益组织.Let's E

免费 Https 证书(Let's Encrypt)申请与配置

之前要申请免费的 https 证书操作步骤相当麻烦,今天看到有人在讨论,就搜索了一下.发现现在申请步骤简单多了. 1. 下载 certbot git clone https://github.com/certbot/certbot cd certbot ./certbot-auto --help 解压打开执行就会有相关提示 2. 生成免费证书 ./certbot-auto certonly --webroot --agree-tos -v -t --email 邮箱地址 -w 网站根目录 -d

Fiddler抓取https证书问题

正常的使用方法  Fiddler 抓包工具总结 大部分问题的解决方案  fiddler4在win7抓取https的配置整理 像我脸一样黑的解决方案  Fiddler https 证书问题 可能的解释: Fiddler自带两个cert engine,一个是makecert,一个是CertEnroll,可能是由于版本问题,makecert能够正常生成证书,但是没办法获取ca认证,造成登录https网站时显示"您的链接不是隐私链接":CertEnroll engine无法生成根证书,不断弹出

Tomcat自动重定向https笔记

此博客不探讨Nginx.Apache或者其它代理实现https形式访问,只探讨tomcat自动重定向https. 1.证书请求,颁发,导入,生成:此步骤根据官方手册即可 一般是jks和keystore两种格式 2.server.xml配置 <!-- Connector definition for TCP port 80 --> <Connector port="80"            maxHttpHeaderSize="8192"