kubernetes下traefik申请ssl证书(tlsChallenge、httpChallenge、dnsChallenge)

本文主要是介绍kubernetes下traefik申请ssl证书(tlsChallenge、httpChallenge、dnsChallenge),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

traefik有三种ssl证书申请方式,分别是tlsChallenge、httpChallenge、dnsChallenge,让我们来对比一下三种方式的区别

tlsChallengehttpChallengednsChallenge
443端口可访问80端口可访问指定provider和设置该provider需要的环境变量

dnsChallenge

helm配置

下面helm yaml以阿里云dns为例

image:name: registry-vpc.cn-shenzhen.aliyuncs.com/liweilun/traefiktag: "v2.6"
deployment:kind: Deployment
ingressRoute:dashboard:enabled: false
experimental:http3:enabled: true
env:- name: ALICLOUD_ACCESS_KEYvalueFrom:secretKeyRef:name: alidnskey: ALICLOUD_ACCESS_KEY- name: ALICLOUD_SECRET_KEYvalueFrom:secretKeyRef:name: alidnskey: ALICLOUD_SECRET_KEY
additionalArguments:- "--providers.kubernetescrd.allowexternalnameservices=true"- "--entrypoints.websecure.http3.advertisedport=443"- "--certificatesresolvers.myresolver.acme.dnschallenge.provider=alidns"- "--certificatesresolvers.myresolver.acme.keytype=EC256"- "--certificatesresolvers.myresolver.acme.dnschallenge.delaybeforecheck=0"
ports:web:port: 80websecure:port: 443http3: true
service:type: ClusterIP
hostNetwork: true
securityContext:capabilities:drop: [ALL]add: [NET_BIND_SERVICE]readOnlyRootFilesystem: falserunAsGroup: 0runAsNonRoot: falserunAsUser: 0

1、traefik申请证书要求是Deployment,不能是DaemonSet
2、env环境变量需要有ALICLOUD_ACCESS_KEYALICLOUD_SECRET_KEY
3、additionalArguments里面

- "--certificatesresolvers.myresolver.acme.dnschallenge.provider=alidns"

指定一个名字叫myresolver的dnschallenge,provider为alidns

- "--certificatesresolvers.myresolver.acme.keytype=EC256"

指定证书类型为ecc,256位长度,ecc证书兼容性不如rsa证书但性能更高,ecc的256位长度等于rsa的3072位长度

- "--certificatesresolvers.myresolver.acme.dnschallenge.delaybeforecheck=0"

表示一直等待证书直到申请成功
4、调整安全上下文securityContext为允许root,因为要操作acme.json,这里没尝试root以外的能否申请

ingress配置

这里以traefik的kubernetes IngressRoute模式为例,只需要在tls部分的certResolver使用刚刚helm设置的myresolver这个provider就能申请ssl证书

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:name: qcyn
spec:entryPoints:- websecureroutes:- match: Host(`xxx.cn`)kind: Rulemiddlewares:- name: headersnamespace: defaultservices:- name: yn-practiceport: 8080tls:certResolver: myresolveroptions:name: tlsoptionnamespace: defaultdomains:- sans:- 'xxx.cn'

dnsChallenge 优点

dnsChallenge是traefik申请通配符证书的唯一方式,避免在domain罗列大量域名

dnsChallenge 缺点

如果要在traefik里面使用dnsChallenge,providers不能有重复,因为环境变量只能有一对。例如我用阿里云dns,那ALICLOUD_ACCESS_KEY和ALICLOUD_SECRET_KEY就只能有一对

这篇关于kubernetes下traefik申请ssl证书(tlsChallenge、httpChallenge、dnsChallenge)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529032

相关文章

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

什么是Kubernetes PodSecurityPolicy?

@TOC 💖The Begin💖点点关注,收藏不迷路💖 1、什么是PodSecurityPolicy? PodSecurityPolicy(PSP)是Kubernetes中的一个安全特性,用于在Pod创建前进行安全策略检查,限制Pod的资源使用、运行权限等,提升集群安全性。 2、为什么需要它? 默认情况下,Kubernetes允许用户自由创建Pod,可能带来安全风险。

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

kubernetes集群部署Zabbix监控平台

一、zabbix介绍 1.zabbix简介 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。 2.zabbix特点 (1)安装与配置简单。 (2)可视化web管理界面。 (3)免费开源。 (4)支持中文。 (5)自动发现。 (6)分布式监控。 (7)实时绘图。 3.zabbix的主要功能