k8s是一个相对比较复杂的系统,整个系统涉及网络、存储、配置、安全、服务等各个方面。对于绝大部分软件开发人员来说,大家并不需要完整的了解整个系统。但应用服务相关的几个基础概念,也就是 Ingress,Service 和 Deployment,还是很有必要有一个清晰的认知。这几个概念有助于大家深入了解一个网络请求是如何被k8s集群处理并返回客户端。
Ingress
Service
Deployment
常用命令
获取集群 dns
kubectl get svc -n kube-system | grep dns
writefreely 是一款颜值很能打的开源博客系统,一眼看去清清爽爽,可以在这里直观的体验一下。有技术背景的同学也可以直接上github看源码。当然,它的优点不只是颜值,它支持 Markdown 编写内容,而且作为一款极简的博客软件,它让用户能专注于写作。整体感觉,简单高效。
但,它的缺点在于,不支持 Markdown 实时预览,部署起来也稍显麻烦,尤其是在使用 mysql 作为数据库的时候。下面介绍另外一个开源项目,一键部署 mysql + writefreely,github 直达。
第一步:克隆代码
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_PASSWORD,mysql 数据库超管密码,方便有技术背景的同学操作数据库
* 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_USER 和 WRITEFREELY_ADMIN_PASSWORD 登录系统后,就可以开始愉快的写作了。

原文链接