k8s1.18.20:cert-manager 1.8 安装部署

cert-manager 安装部署

一、官网安装文档

https://cert-manager.io/docs/installation/

1.1、简介

cert-manager 在 Kubernetes 集群中增加了证书 (certificates) 和证书颁发者 (certificate issuers) 作为资源类型,并简化了获取、更新和应用这些证书的过程。

它能够从各种反对的起源签发证书,包含 Let’s Encrypt、HashiCorp Vault 和 Venafi 以及私人 PKI。

1.2、Issuer(证书颁发者)

在装置了 cert-manager 之后,须要配置的第一件事是一个证书颁发者,而后你能够用它来签发证书。

cert-manager 带有一些内置的证书颁发者,它们被示意为在cert-manager.io组中。除了内置类型外,你还能够装置内部证书颁发者。内置和内部证书颁发者的待遇是一样的,配置也相似。

有以下几种证书颁发者类型:

自签名 (SelfSigned)
CA(证书颁发机构)
Hashicorp Vault(金库)
Venafi (SaaS 服务)
External(内部)
ACME(主动证书治理环境)
HTTP01
DNS01

1.3、SelfSigned

如下:

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:annotations:meta.helm.sh/release-name: cert-manager-webhook-dnspodmeta.helm.sh/release-namespace: cert-managerlabels:app: cert-manager-webhook-dnspodapp.kubernetes.io/managed-by: Helmchart: cert-manager-webhook-dnspod-1.2.0heritage: Helmrelease: cert-manager-webhook-dnspodname: cert-manager-webhook-dnspod-selfsignnamespace: cert-manager
status:conditions:- lastTransitionTime: '2022-03-01T13:38:53Z'observedGeneration: 1reason: IsReadystatus: 'True'type: Ready
spec:selfSigned: {}

1.4、ACME – HTTP01

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:annotations:meta.helm.sh/release-name: ranchermeta.helm.sh/release-namespace: cattle-systemgeneration: 2labels:app: rancherapp.kubernetes.io/managed-by: Helmchart: rancher-2.6.4heritage: Helmrelease: ranchername: ranchernamespace: cattle-system
status:acme: {}conditions:- lastTransitionTime: '2022-03-08T14:34:08Z'message: The ACME account was registered with the ACME serverobservedGeneration: 2reason: ACMEAccountRegisteredstatus: 'True'type: Ready
spec:acme:preferredChain: ''privateKeySecretRef:name: letsencrypt-productionserver: https://acme-v02.api.letsencrypt.org/directorysolvers:- http01:ingress: {}

1.5、ACME – DNS01

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:annotations:meta.helm.sh/release-name: cert-manager-webhook-dnspodmeta.helm.sh/release-namespace: cert-managerlabels:app: cert-manager-webhook-dnspodapp.kubernetes.io/managed-by: Helmchart: cert-manager-webhook-dnspod-1.2.0heritage: Helmrelease: cert-manager-webhook-dnspod
status:acme:lastRegisteredEmail: cuikaidong@foxmail.comuri: https://acme-v02.api.letsencrypt.org/acme/acct/431637010conditions:- lastTransitionTime: '2022-03-01T13:38:55Z'message: The ACME account was registered with the ACME serverobservedGeneration: 1reason: ACMEAccountRegisteredstatus: 'True'type: Ready
spec:acme:email: cuikaidong@foxmail.compreferredChain: ''privateKeySecretRef:name: cert-manager-webhook-dnspod-letsencryptserver: https://acme-v02.api.letsencrypt.org/directorysolvers:- dns01:webhook:config:secretId: <my-secret-id>secretKeyRef:key: secret-keyname: cert-manager-webhook-dnspod-secretttl: 600groupName: acme.imroc.ccsolverName: dnspod

二、cert-manager版本与K8S版本支持关系

官网文档:https://cert-manager.io/docs/installation/supported-releases/
在这里插入图片描述

三、yaml方式部署

k8s版本:1.18.20
cert-manager:1.8

kubectl apply -f  https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml

验证容器部署

[root@k8s-node rancher]# kubectl get pod -o wide -n cert-manager
NAME                                       READY   STATUS    RESTARTS   AGE    IP              NODE       NOMINATED NODE   READINESS GATES
cert-manager-744c65bc9b-2vgl5              1/1     Running   0          6h2m   10.42.113.139   k8s-node   <none>           <none>
cert-manager-cainjector-85dd4cc89f-grs6s   1/1     Running   0          6h2m   10.42.113.138   k8s-node   <none>           <none>
cert-manager-webhook-5cf5c59b-vsg55        1/1     Running   0          6h2m   10.42.113.140   k8s-node   <none>           <none>

四、helm方式部署

4.1、添加helm源

helm repo add jetstack https://charts.jetstack.io

4.2、更新helm源

helm repo update

4.3、安装cert-manager

helm install \cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace \--version v1.8.0 \# --set installCRDs=true

五、使用cert-manager申请三个月免费证书

5.1、创建HTTP-01方式issuer

[root@k8s-node ~]# cat clusterissuer-prod.yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:name: letsencrypt-prod
spec:acme:#server: https://acme-staging-v02.api.letsencrypt.org/directoryserver: https://acme-v02.api.letsencrypt.org/directoryprivateKeySecretRef:name: letsencrypt-prodsolvers:- http01:ingress:class: nginx

5.2、以HTTP-01方式申请域名证书

[root@k8s-node ~]# cat  ssl.yaml
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:name: ssl   #证书名称namespace: cert-manager  #名称空间
spec:secretName: ssl   #证书名称issuerRef:name: letsencrypt-prod   #指定ISSUERkind: ClusterIssuerduration: 2160hrenewBefore: 360hdnsNames:- www.demo.cn- app.demo.cn

Issuer/ClusterIssuer: 用于指示 cert-manager 用什么方式签发证书,本文主要讲解签发免费证书的 ACME 方式。ClusterIssuer 与 Issuer 的唯一区别就是 Issuer 只能用来签发自己所在 namespace 下的证书,ClusterIssuer 可以签发任意 namespace 下的证书。
Certificate: 用于告诉 cert-manager 我们想要什么域名的证书以及签发证书所需要的一些配置,包括对 Issuer/ClusterIssuer 的引用。

参考:https://blog.csdn.net/weixin_44692256/article/details/108274385

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Orbit 的云原生应用交付基础原则与良好实践

点击官网了解详情 本文作者&#xff1a;何文强——腾讯云 CODING 高级架构师。 负责 CODING DevOps产品解决方案架构设计和技术产品布道以及 CODING 云原生技术研究与落地实践。在多个技术大会担任演讲嘉宾&#xff0c;腾讯云 CODING DevOps 课程认证出品人&#xff0c;腾讯云云…

PWM呼吸灯+流水灯设计

完成任务&#xff1a; 在流水灯基础上加入pwm呼吸灯设计&#xff0c;关于pwm呼吸灯设计可以看博主上一篇博客PWM呼吸灯设计 &#xff0c;开发板上灯每两秒进行一次切换&#xff0c;每一个的亮灭间隔为一秒。 代码参考&#xff1a; module pwm_led_change(input wire …

数据结构初阶--排序2

目录 前言快速排序思路hoare版本代码实现挖坑法代码实现前后指针法代码实现 快排优化三项取中法代码实现三指针代码实现 快排非递归代码实现 归并排序思路代码实现归并非递归代码实现 计数排序思路代码实现 前言 本篇文章将继续介绍快排&#xff0c;归并等排序算法以及其变式。…

antd-React Table 中文转化

1.首先需要进行中文包导入 2.引入标签对Table进行包裹即可 import zh_CN from antd/lib/locale-provider/zh_CN;import {ConfigProvider} from antd;<ConfigProvider locale{zh_CN}><Tablecolumns{columns}rowKey{record > record.id}dataSource{data}pagination{p…

【ArcGIS】shp导入报错ORA-00911无效字符

这个当个问题记录以下&#xff0c;就是shp文件名或者字段名有非正常字符&#xff0c;修改下名称重新导入即可&#xff1b; 直接改shp没法修改字段&#xff0c;会报错&#xff0c;需要先转化为gdb文件&#xff0c;然后在修改

el-table组件插槽“slot-scope”

目录 一、代码展示 二、返回的数组对象不含value或者ispass&#xff0c;不会报错 三、插槽里面放的是要手动输入的值时 一、代码展示 <el-table v-loading"loading" :data"checklistList" selection-change"handleSelectionChange"><…

OV7670摄像头模块的使用

OV7670摄像头模块介绍 OV7670 CAMERACHIPTM 图像传感器&#xff0c;体积小、 工作电压低&#xff0c;提供单片 VGA 摄像头和影像处理器的所有功能。通过 SCCB 总线控制&#xff0c;可以输出整帧、子采样、取窗口等方式的各种分辨率 8 位影响数据。该产 品 VGA 图像最高达到 30…

【Linux】内存使用相关

free 命令 查看内存大小 free -g :G单位 free -h : 可读性较高较理解 free -m : MB单位 total: 总内存used: 正在运行的进程使用的内存(used total – free – buff/cache)free: 未使用的内存 (free total – used – buff/cache)shared: 多个进程共享的内存buffers: 内存保留…

面试题更新之-伪元素和伪类

文章目录 伪元素和伪类是什么&#xff1f;伪元素&#xff08;Pseudo-elements&#xff09;:伪类&#xff08;Pseudo-classes&#xff09;: css伪元素和伪类的区别使用css伪元素的好处使用css伪类的好处 伪元素和伪类是什么&#xff1f; 在CSS中&#xff0c;伪元素&#xff08;…

xpath下载安装——Python爬虫xpath插件下载安装(2023.7亲测可用!!)

目录 1.免费下载插件链接&#xff08;若失效评论区留言发送最新链接&#xff09;&#xff08;2023.7亲测可用&#xff09; 2.安装插件 &#xff08;1&#xff09;打开chrome浏览器页面&#xff0c;点击&#xff1a;右上角三个点 > 扩展程序 > 管理拓展程序 &#xff…

gitbash2.41安装教程——2023.07

文章目录 1、下载安装包2、安装 1、下载安装包 进入官网下载&#xff0c;官网链接 上面有多种系统可以选择&#xff0c;我是windows&#xff0c;点击windows进行下载 这里可以直接下载最新版本的git 2.41.0 64位。 下载可能有点慢&#xff0c;耐心等待。 2、安装 下载完…

JVM——类加载和垃圾回收

目录 前言 JVM简介 JVM内存区域划分 JVM的类加载机制 1.加载 双亲委派模型 2.验证 验证选项 3.准备 4.解析 5.初始化 触发类加载 JVM的垃圾回收策略 GC 一&#xff1a;找 谁是垃圾 1.引用计数 2.可达性分析 &#xff08;这个方案是Java采取的方案&#x…

基于单片机智能台灯坐姿矫正器视力保护器的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;LCD1602液晶显示当前当前光线强度、台灯灯光强度、当前时间、坐姿距离等&#xff1b;按键设置当前时间&#xff0c;闹钟、提醒时间、坐姿最小距离&#xff1b;通过超声波检测坐姿&#xff0c;当坐姿不正容易对眼睛和身体腰部等造成…

MySQL索引详解

索引 在MySQL中&#xff0c;查询方式可以根据访问表数据的方式分为两种&#xff1a;全表扫描和使用索引。 全表扫描&#xff08;Full Table Scan&#xff09;&#xff1a; 全表扫描是指在查询过程中&#xff0c;MySQL会遍历整个表的每一行来检查满足查询条件的数据。当查询条件…

Ubuntu下安装、配置及重装CUDA教程

安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例&#xff1a; 查看显卡驱动 nvidia-smi如果显卡驱动已经装了&#xff0c;那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…

Spring AOP

目录 AOP 理解AOP AOP组成 AOP的优点 Spring AOP 使用Spring AOP 定义切面和切点 定义通知 动态代理 织入 AOP 理解AOP AOP即面向切面编程&#xff0c;简单来说&#xff0c;就是把一部分通用的功能集中的放在一个地方处理的思想。假如某一段代码很多地方要用到&…

创建型模式 - 建造者模式

概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于&#xff1a;某个对象的构建过程复杂的情况。 由于实现了构建和装配的解耦。…

pytest 参数化进阶

目录 前言&#xff1a; 语法 参数化误区 实践 简要回顾 前言&#xff1a; pytest是一个功能强大的Python测试框架&#xff0c;它提供了参数化功能&#xff0c;可以帮助简化测试用例的编写和管理。 语法 本文就赶紧聊一聊 pytest 的参数化是怎么玩的。 pytest.mark.par…

openGauss学习笔记-13 openGauss 简单数据管理-DELETE语句

文章目录 openGauss学习笔记-13 openGauss 简单数据管理-DELETE语句13.1 语法格式13.2 参数说明13.3 示例 openGauss学习笔记-13 openGauss 简单数据管理-DELETE语句 DELETE语句可以从指定的表里删除满足WHERE子句的行。如果WHERE子句不存在&#xff0c;将删除表中所有行&…

css 禁止多次点击导致的选中了目标div的文字

像下面这样的情况&#xff0c;就可以用这种方法避免掉 禁止多次点击&#xff0c;导致的&#xff0c;选中了目标div的文字 或者 禁止多次点击&#xff0c;导致&#xff0c;html结构被选中显示出来 .targetDiv {-webkit-user-select: none;-moz-user-select: none;-ms-user-sel…