沉重哀悼在新冠病毒战疫中牺牲的烈士和逝去的同胞


好想重启2019啊,回到2018年底,那样,现在或许会不同。
无论如何,
明天总会来临,无论你觉得好不好,明天终会来到,时间终将抹去那些痛苦的记忆和伤痛,未来依然由你自己掌握。

traefik 作为一款稳定的网关,一直被很多微服务使用,目前traefik升级到了 2 版本,增加了针对tcp的支持,因为更新时间不长,还没有针对新版的中文文档,新版的文档在 官网,如果使用之前的版本,可以参考中文文档,之前在搭建k8s集群时曾经尝试过使用traefik 1+ 的版本,后来因为项目时间问题,最后放弃了使用k8s,也就没有仔细去体会traefik的强大功能。最近因为另一个项目有一些需求,计划使用traefik来做API网关,才翻出来看看,结果发现更新到了2.0版本,竟然支持TCP了,好了,废话不多说,开始体验一下新版的功能吧!
为了方便学习并去除系统差异,我将直接使用Docker来做环境,traefik 中支持 docker 模式,并能支持docker原生的swarm模式,下面我将统一使用docker-compose来做说明
首先我们先创建一个简单的例子,使用官方提供的 containous/whoami 来作为应用镜像,其可以显示请求的具体信息,以便一会做请求时来确认具体访问到的是哪个容器
下面我们来创建一个 docker-compose.yml 编排文件
version: "3.4"
services:
traefik:
image: traefik:v2.1
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
command:
- "--api.insecure=true"
- "--api.dashboard=true"
- "--accesslog=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
whoami:
image: containous/whoami
labels:
- "traefik.http.routers.app.rule=Host(`localhost`)"
- "traefik.http.routers.app.entrypoints=web"上面这个编排文件中,我们开放traefik与docker的守护进程通信
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"在启动命令中,我们首先开启了 dashboard 为了本地调试,我们使用 insecure 来开启不安全接口访问方便我们做本地调试
这几天在做新公司的新集群架构,肯定要用到镜像仓库,之前只用过docker registry来启用一个仓库,管理挺不方便,所以这次决定使用harbor来搭建一个企业级的私有容器仓库。
harbor的具体搭建,其实挺简单的,去下载的官方的安装包,解压后,
./prepare进行初始化配置,然后再install就行了
因为我搭建的Harbor仓库是在自己部署的Gitlab容器的服务器上,所以在最前端又用了nginx做了一个nginx做了反向代理,因为Harbor需要使用https,省事又自己弄了个自签证书
对于自签证书,现需要生成一个根证书,用于给自己做签名
openssl req -newkey rsa:4096 -nodes -sha256 -x509 -days 365 -keyout root.key -out root.crt回车后按照提示输入国家、地区组织信息就行了
之后我们需要生成一个域名的证书签名,比如域名为 developerhome.net
openssl req -newkey rsa:4096 -nodes -sha256 -keyout developerhome.net.key -out server.csr同样回车后按提示输入信息
这几天忙的要死,基本处于每天睡5个小时左右状态…各种事情,这今天加班到快11点,冒着瓢泼大雨开了25公里回家,躺下还失眠了…悲剧
说正事,这几天在忙着给新公司做部署架构更改,做k8s集群,过几天抽空分享下这些日子心得。
预告下吧,不立Flag感觉自己一不忙了就想睡觉呢@_@
暂时就想到这些,我继续闭眼忍着去了,还要6点多起床。