blogger

k8s是一个相对比较复杂的系统,整个系统涉及网络、存储、配置、安全、服务等各个方面。对于绝大部分软件开发人员来说,大家并不需要完整的了解整个系统。但应用服务相关的几个基础概念,也就是 IngressServiceDeployment,还是很有必要有一个清晰的认知。这几个概念有助于大家深入了解一个网络请求是如何被k8s集群处理并返回客户端。

Ingress

Service

Deployment

常用命令

获取集群 dns

kubectl get svc -n kube-system | grep dns

writefreely 是一款颜值很能打的开源博客系统,一眼看去清清爽爽,可以在这里直观的体验一下。有技术背景的同学也可以直接上github看源码。当然,它的优点不只是颜值,它支持 Markdown 编写内容,而且作为一款极简的博客软件,它让用户能专注于写作。整体感觉,简单高效。

但,它的缺点在于,不支持 Markdown 实时预览,部署起来也稍显麻烦,尤其是在使用 mysql 作为数据库的时候。下面介绍另外一个开源项目,一键部署 mysql + writefreelygithub 直达

第一步:克隆代码

git clone https://github.com/huangq03/writefreely-docker-compose

克隆代码

第二步:配置环境变量

cd writefreely-docker-compose/
cp .env.example .env
#编辑 .env文件,以 vi 作为编辑器为例
vi .env

配置环境变量

.env 文件中有7个环境变量,分别是 * WRITEFREELY_ADMIN_USER,博客的管理员账号,如 blogger * WRITEFREELY_ADMIN_PASSWORD,博客的管理员密码,使用管理员账号和密码登录后才可以进入编写界面 * WRITEFREELY_HOST,博客的网址,如 https://my.blog.xyz,注意这里需要包含完整的 http scheme,也就是 http:// 或者 https://,不能只写域名。本地跑着玩就写 http://localhost:8080。提前准备了博客域名,需要免费 https 证书的,可以参考这个 * MYSQL_ROOT_PASSWORDmysql 数据库超管密码,方便有技术背景的同学操作数据库 * MYSQL_DATABASE,用于 writefreely 博客系统的数据库名 * MYSQL_USER,用于 writefreely 博客系统的数据库用户名 * MYSQL_PASSWORD,用于 writefreely 博客系统的数据库用户密码

第三步:启动服务

配置好环境变量后,一键启动服务

docker-compose up -d

启动服务

第四步:检查服务状态

docker-compose ps

正常情况下,服务状态如下 查看服务状态

服务日志如下

docker-compose logs -f writefreely

查看服务日志

如果 writefreely 服务不能正常启动,并且日志中出现以下权限错误,需要给 data 目录增加权限,然后再次启动服务 权限错误

chmod 777 data
docker-compose down
docker-compose up -d

第五步:登录系统开始写作

访问博客系统 /login 路径,就可以看到登录界面,比如本地访问 http://localhost:8080/login,就会出现类似如下登录界面 登录系统 使用环境变量中配置的 WRITEFREELY_ADMIN_USERWRITEFREELY_ADMIN_PASSWORD 登录系统后,就可以开始愉快的写作了。 写作

原文链接