Traefik的TLS配置

生产环境的部署大多采用F5+ Traefik这种方式,因为Traefik的SSL方式相对来说比较慢,因此SSL更多的在F5上开放,而F5到Traefik之间以及后端都是http方式。
但客户需要在开发和测试环境直接用SSL,因此需要配置。
遇到一些小坑,记录一下理解
- 先生成一个secret,记住别搞个一年就过期的啊。
openssl req \
-newkey rsa: -nodes -keyout tls.key \
-x509 -days -out tls.crt
- 创建secret
kubectl create secret generic traefik-cert \
--from-file=tls.crt \
--from-file=tls.key -n kube-system
- 创建configmap,此处有坑,/ssl/tls.crt等路径不是我们本地的路径,而是在容器内路径,所以不要去修改!
# traefik.toml
defaultEntryPoints = ["http","https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
CertFile = "/ssl/tls.crt"
KeyFile = "/ssl/tls.key"
如果需要同时打开80和443,需要如下配置文件
# traefik.toml
defaultEntryPoints = ["http","https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
CertFile = "/ssl/tls.crt"
KeyFile = "/ssl/tls.key"
建立起来
kubectl create configmap traefik-conf --from-file=traefik.toml -n kube-system
- traefik.yaml文件
随便找了段贴上去啊,看详细日志打开
logLevel=DEBUG
apiVersion: v1
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: traefik-ingress-controller
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
replicas:
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
terminationGracePeriodSeconds:
volumes:
- name: ssl
secret:
secretName: traefik-cert
- name: config
configMap:
name: traefik-conf
hostNetwork: true
containers:
- image: registry.yourcompany.com/traefik:v1.1.1
name: traefik-ingress-lb
volumeMounts:
- mountPath: "/ssl"
name: "ssl"
- mountPath: "/config"
name: "config"
resources:
limits:
cpu: 200m
memory: 30Mi
requests:
cpu: 100m
memory: 20Mi
ports:
- name: http
containerPort:
hostPort:
- name: https
containerPort:
hostPort:
- name: admin
containerPort:
args:
- --configfile=/config/traefik.toml
- --web
- --kubernetes
- --logLevel=DEBUG
此处的坑是/config/traefik.toml是容器内地址,不是宿主机的路径,不要手贱去修改!
- 测试
可以在浏览器上直接测试,也可以用命令行。
curl -k https://...

Traefik的TLS配置的更多相关文章
- k8s traefik ingress tls
		使用下面的 openssl 命令生成 CA 证书: $ openssl req -newkey rsa:2048 -nodes -keyout tls.key -x509 -days 365 -out ... 
- [FTP] Pure-FTPd SSL/TLS 配置方法
		一.准备 & 安装启用 Pure-FTPd SSL/TLS 连接方式在安装时需要检查以下两项:1.系统中是否已经安装了 openssl 和 openssl-devel 包?2.在编译 Pure ... 
- ETCD TLS 配置的坑
		一.环境准备 环境总共 3 台虚拟机,系统为centos7,1个 master,2 个 etcd 节点,master 同时也作为 node 负载 pod,在分发证书等阶段将在另外一台主机上执行,该主机 ... 
- Pureftp  SSL/TLS配置
		一.准备 & 安装 启用 Pure-FTPd SSL/TLS 连接方式在安装时需要检查以下两项: 1.系统中是否已经安装了 openssl 和 openssl-devel 包? 2.在编译 P ... 
- SSL/TLS 配置
		Quick Start 下列说明将使用变量名 $CATALINA_BASE 来表示多数相对路径所基于的基本目录.如果没有为 Tomcat 多个实例设置 CATALINA_BASE 目录,则 $CATA ... 
- Traefik HTTPS 配置
		参考 add-a-tls-certificate-to-the-ingress Entry Points Definition 使用traefik作为ingress controller透出集群中的h ... 
- kubernetes Traefik ingress配置详解
		理解Ingress 简单的说,ingress就是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上.Ingress相当于nginx.apache等负载均衡方向代 ... 
- Traefik实现Kubernetes集群服务外部https访问
		转载请注明出处:http://www.cnblogs.com/wayneiscoming/p/7707942.html traefik 是一个前端http反向代理服务器以及负载均衡器,支持多种微服务后 ... 
- 使用traefik作为kubernetes的ingress
		目录 说明 部署 创建一个独立的命名空间 配置rbac授权 配置secret 创建一个configmap用于存放traefik的配置文件 配置traefik的deployment文件 配置服务 通过p ... 
随机推荐
- vue页面高度填充,不出现滚动条
			现在的需求是这样:vue单页工程化开发,上面有一个header,左边有一个侧边栏,右边内容展示.要求左边侧边栏的高度,要填充满整个页面(除了header外,header:height:60px)--如 ... 
- leetcode 136 137 Single Number
			题目描述(面试常考题) 借助了异或的思想 class Solution { public: int singleNumber(vector<int>& nums) { ; ; i ... 
- 虚拟机 VMware Workstation12 安装Ubuntu系统
			Ubuntu 系统是一款优秀的.基于GNU/Linux 的平台的桌面系统. 当然,目前为止很多应用程序还完全不能允许运行在 Ubuntu 系统上,而且 Ubuntu 的界面.使用方法会让大部分Wind ... 
- springmvc3 拦截器,过滤ajax请求,判断用户登录,拦截规则设置
			web.xml设置:(/拦截所有请求) <servlet> <servlet-name>dispatcher</servlet-name> <servlet- ... 
- oracle 导入dmp文件
			/*第1步:创建临时表空间 */ create temporary tablespace webdata_temp tempfile 'D:\oracle\product\10.2.0\oradat ... 
- IIS 安装问题
			今天去客户现场的内网环境安装IIS,结果第一步尴尬,是虚拟机搭出来,安装时没有源文件,然后让那边运维给系统盘挂上了,第一步通过了,可以安装了,但是由于之前也没吝啬,啥都点了,这次就合计不用那么多,结果 ... 
- catalina.out日志切割
			安装cronlog rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum ins ... 
- 安装 gcc 编译器
			1.安装编译工具 gcc.gcc-c++.make 注意解决依赖关系,推荐使用 yum 安装,若不能联网可使用安装光 盘做为 yum 源 1)编辑 yum 配置文件: Mount /dev/cdrom ... 
- Java GlassPane进度条遮罩
			package com.swing.demo; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Flo ... 
- 洛谷——P1208 [USACO1.3]混合牛奶 Mixing Milk
			P1208 [USACO1.3]混合牛奶 Mixing Milk 题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业 ... 
