背景:
跟其余公司单干,他们的wiki用的Requarks/wiki,看了一眼文档搭建还是很简略的:https://docs.requarks.io/install/docker。顺便国内搜了一下文档:https://blog.csdn.net/weixin_26750481/article/details/108131866。先不说翻译的咋样,yaml文件能不能保障一下格局?写的也太乱了!看了一下原文:https://medium.com/swlh/deploy-wiki-js-on-kubernetes-686cec78b29还是看原文吧!简略作一个wiki跑一下!
Kubernetes搭建wikijs
1.创立命名空间namespace
这算是一个集体习惯,将不同用处的利用放在不同的namespace也方便管理前期保护!创立一个namespace wiki
[root@iZ2zeasfsez3jz7eu7iuh2Z ~]# kubectl create ns wiki
namespace/wiki created
留神:这是个阿里云的ack集群……以后就一台服务器。因为这些我的项目跟人单干要跑在阿里云下面……创立了一个wiki的目录用于寄存yaml文件!
2.创立配置文件configmap
当然了,这里也能够不写configmap间接在利用的deployments配置文件外面增加零碎变量。这里看集体了!对于数据库wikijs反对很多种: DB_TYPE : 数据库类型 ( mysql, postgres, mariadb, mssqlor sqlite)参照官网文档:https://docs.requarks.io/install/docker。这里db_type我就应用了mysql了(开发要求,集体没有什么要求的其实)。数据库间接应用了阿里云的rds数据库最低配置一外围1G内存。当然了提前创立好wikijs库,并对内网服务器进行受权
[root@iZ2zeasfsez3jz7eu7iuh2Z wiki]# cat wiki-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: wiki-config
namespace: wiki
data:
DB_HOST: "xxxxx"
DB_PORT: "3306"
DB_USER: "root"
DB_PASS: "xxxxxxx"
DB_TYPE: "mysql"
DB_NAME: "wikijs"
kubectl apply利用生成cm配置文件(cm=configmap简称)
[root@iZ2zeasfsez3jz7eu7iuh2Z wiki]# kubectl apply -f wiki-config.yaml
configmap/wiki-config configured
3. 编写生成deployment配置文件
https://medium.com/swlh/deploy-wiki-js-on-kubernetes-686cec78b29这篇文章比拟古老首先apiVersion就要批改的,另外configmap都间接挂载了还一个个的ValueFrom干什么呢?间接简化一些!并做一下资源的限度!
[root@iZ2zeasfsez3jz7eu7iuh2Z wiki]# cat wiki.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: laya-wiki
namespace: wiki
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
selector:
matchLabels:
app: laya-wiki
template:
metadata:
labels:
app: laya-wiki
spec:
containers:
- name: laya-wiki
image: requarks/wiki:2.5
envFrom:
- configMapRef:
name: wiki-config
ports:
- containerPort: 3000
protocol: TCP
resources:
requests:
memory: "256M"
cpu: "250m"
limits:
memory: "2048M"
cpu: "2000m"
apply yaml文件期待pod running!
[root@iZ2zeasfsez3jz7eu7iuh2Z wiki]# kubectl apply -f wiki.yaml
deployment.apps/laya-wiki created
[root@iZ2zeasfsez3jz7eu7iuh2Z wiki]# kubectl get pods -n wiki
NAME READY STATUS RESTARTS AGE
laya-wiki-8554fb868f-sfqkw 1/1 Running 1 (19s ago) 50s
强调一下:image镜像latest的慎用!官网文档中也有提到。这算是一个常识吧!
4. 对于服务的对外裸露与拜访
失常的是作一个ClusterIP 而后应用traefik对外映射服务绑定域名!对于traefik参照:Kubernetes 1.20.5 装置traefik在腾讯云下的实际。我这里阿里云还没有备案….间接应用了nodeport的形式!间接治理控制台开启了
浏览器拜访ip+nodeport
恩注册管理员登陆治理页面
还是很清新的页面的,应用就不去深究了只是搭建一个简略的利用。
总结
- 只是作一个简略的服务,反复了一遍configmap deployments的应用
- 揭示本人慎用latest标签
- 没有备案域名用起来太不爽了…..阿里云的服务感觉比腾讯云的贵好多阿感觉哈哈哈哈
发表回复