阿里云K8s集群部署cert-manager

基础环境

Kubenetes版本: v1.22.3
cert-manager版本: v1.8.1
注意事项: Kubenetes版本必须大于等于v1.19.0

K3s环境下如何启用traefik的dashboard

前言

没得前言,就一个简单记录

配置

master机器上添加文件/var/lib/rancher/k3s/server/manifests/traefik-config.yaml,内容如下:

Nginx配置resolver

前言

没得前言,就一个简单记录

配置

次该nginx配置文件,格式如下:

http {  
resolver X.X.X.X valid=5s;

server {

    server_name www.example.com;
    set $dn "foo.dnsalias.net"; 

    location / {
        proxy_pass http://$dn;
        ...
    }

}

} </pr

Redis未授权访问漏洞利用小结

Redis因配置不当可以未授权访问。攻击者无需认证访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall来清空所有数据。  
攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件。  
如果Redis以root身份运行,可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。  


        
        
        
      

使用Docker一键搭建MQTT服务器(EMQ X)

这是个草稿,后面再完善

1883:MQTT 协议端口
8883:MQTT/SSL 端口
8083:MQTT/WebSocket 端口
8080:HTTP API 端口
18083:Dashboard 管理控制台端口


        
        
        
      

【设计模式系列】策略模式

什么是策略模式

定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。
主要是为了解决在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。

Drone 自动构建 Hugo 并推送到阿里云服务器

准备条件

  1. Git 仓库(推荐自建,我是用的 Gitea,和 Drone 比较契合),将hugo new site生成的文件全部推到仓库里
  2. Drone 环境,前文已经写过,不再赘述

编写 Drone 配置文件

kind: pipeline
name: default

steps:
  - name: 生成静态资源
    image: hypervtechnics/drone-hugo
    settings:
      # 指定hugo版本
      hugo_version: 0.70.0
      # 是否校验配置文件是否合法
      validate: true
      # 指定配置文件
      config: config.yaml
      # 指定文章目录
      content: content
      # 指定生成的静态资源路径
      output: ./hugo

  - name: 推送到服务器
    image: appleboy/drone-scp
    settings:
      # 服务器IP
      host: 10.0.0.1
      # 需要替换的服务器的路径,我的是服务器的`/data/hugo`目录,由于打包的文件的路径就是`hugo`,所以这儿只需要写`/data`即可
      target: /data
      # 本地生成的静态资源的路径
      source: hugo/*
      # 服务器账号
      username: root
      # 服务器登录密码
      password: password
      # 服务器端口
      port: 22
    when:
      # 当仓库的 master 分支收到 push 事件,并且前一步构建成功的时候触发当前步骤
      event: push
      branch: master
      status: success

  - name: 发送电报通知消息
    image: appleboy/drone-telegram
    settings:
      token: 机器人Token
      to: 收信人用户ID
      message: >
        {{#success build.status}}
          博客更新成功
        {{else}}
          博客更新失败
        {{/success}}
        更新记录:{{commit.author}} - {{commit.message}}        


        
        
        
      

Watchtower - 自动更新 Docker 镜像与容器

前言

在服务器上部署 Docker 容器有一种在手机上装 APP 的感觉,但 Docker 容器并不会像手机 APP 那样会自动更新,而如果我们需要更新容器一般需要以下三个步骤:

使用Drone构建Docker镜像一键发布并推送电报通知

书接上回,上文已经搭建好了Drone CI环境,本文就搭建一个Golang + Docker的Demo。
具体代码见:示例代码

使用Docker一键搭建Drone CI

什么是Drone CI

不想写,自个儿搜吧。
这玩意儿作为CI入门还是可以的,部署方便,功能也比较强大。

环境工作

  1. Gitea私服(也可以用其他的,Github、Gogs等都可以,我是用的Gitea)
  2. Docker 以及 Docker Compose

开始部署

  1. 在gitea新建一个应用

操作流程:

关于开源电商平台“鲸宵”的一点想法

关于“鲸宵”

鲸宵是一个开源的电商平台,囊括了服务端(管理系统、API)、APP端(Flutter)、小程序三方面,后期也许会出H5版本的。

用 Docker 搭建 Hexo 博客

安装Docker

略,自个儿百度

拉取镜像

docker pull yoshikazum/hexo

创建容器

# 创建基础目录
mkdir /data/blog
# 创建容器并开机自启
docker run -d -p 4000:4000 --restart=always --privileged --name=blog -v /data/blog:/blog yoshikazum/hexo