前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes搭建wikijs

Kubernetes搭建wikijs

原创
作者头像
对你无可奈何
修改2022-04-15 15:01:42
6930
修改2022-04-15 15:01:42
举报
文章被收录于专栏:运维专栏

背景:

跟其他公司合作,他们的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

代码语言:txt
复制
[root@iZ2zeasfsez3jz7eu7iuh2Z ~]# kubectl create ns wiki
namespace/wiki created
kWyLrj5GDf.png
kWyLrj5GDf.png

注意:这是个某厂商的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库,并对内网服务器进行授权

image.png
image.png

root@iZ2zeasfsez3jz7eu7iuh2Z wiki# cat wiki-config.yaml

代码语言:txt
复制
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简称)

代码语言:txt
复制
[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干什么呢?直接简化一些!并做一下资源的限制!

image.png
image.png

root@iZ2zeasfsez3jz7eu7iuh2Z wiki# cat wiki.yaml

代码语言:txt
复制
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!

代码语言:txt
复制
[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的方式!直接管理控制台开启了

image.png
image.png

浏览器访问ip+nodeport

middle_img_v2_93564125-8930-4763-b2ff-963ce52dd6cg.png
middle_img_v2_93564125-8930-4763-b2ff-963ce52dd6cg.png

恩注册管理员登陆管理页面

image.png
image.png

还是很清爽的页面的,使用就不去深究了只是搭建一个简单的应用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景:
  • Kubernetes搭建wikijs
    • 1.创建命名空间namespace
      • 2.创建配置文件configmap
        • 3. 编写生成deployment配置文件
          • 4. 关于服务的对外暴露与访问
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档