/images/avatar.jpg

重启吧

好想重启2019啊,回到2018年底,那样,现在或许会不同。

无论如何, 明天总会来临,无论你觉得好不好,明天终会来到,时间终将抹去那些痛苦的记忆和伤痛,未来依然由你自己掌握。

加油吧,2020!

traefik2初体验

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 来开启不安全接口访问方便我们做本地调试

harbor中login提示401 Unauthorized解决

这几天在做新公司的新集群架构,肯定要用到镜像仓库,之前只用过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感觉自己一不忙了就想睡觉呢@_@

  • 首先就是Elasticsearch,这个肯定要分享下,虽然之前也用过,不过只是用Kibana做了一些日志分析,做了一些性能的监控图和点击等统计,这次也是第一次用语言自己调用接口,自己设计索引,弄好了会给大家分享一波心得。
  • 第二个就是K8s集群的搭建吧,虽然现在已经跑起来了,但是搭建过程中发现很多问题,主要还是k8s更新太快,度娘的搜索结果基本都废了,Google还是能找到一点当前版本的,不过最后还是啃英文看的原文档搞定了@×@
  • 下面就是微服务了,这个先暂时定下吧,因为新公司手下都是phper,系统现在也都是laravel写的,重构还有很长路要走,慢慢来吧。(不是说php不适合做微服务啊,我也考虑swoole写微服务,还要看手下人水平,待定待定)

暂时就想到这些,我继续闭眼忍着去了,还要6点多起床。