前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Kubernetes部署Yapi平台

Kubernetes部署Yapi平台

作者头像
院长技术
发布于 2022-03-23 07:48:32
发布于 2022-03-23 07:48:32
1.6K00
代码可运行
举报
文章被收录于专栏:院长运维开发院长运维开发
运行总次数:0
代码可运行
yapi项目
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/YMFE/yapi/tags
镜像
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://hub.docker.com/r/jayfong/yapi
创建资源清单

vim yapi.yaml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: v1
kind: Namespace
metadata:
  name: yapi
---
apiVersion: v1
kind: Service
metadata:
  name: mongo
  namespace: yapi
  labels:
    app: mongo
spec:
  ports:
    - port: 
      targetPort: 
      name: mongo
  selector:
    app: mongo
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mongo
  namespace: yapi
  labels:
    app: mongo
spec:
  serviceName: mongo
  replicas: 
  selector:
    matchLabels:
      app: mongo
  template:
    metadata:
      labels:
        app: mongo
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
        - name: mongo
          image: harbor.myit.icu/yapi/mongo:latest  # mongo:latest
          imagePullPolicy: IfNotPresent
          resources:
            limits:
              cpu: 500m
              memory: 1024Mi
            requests:
              cpu: 200m
              memory: 512Mi
          env:
          - name: TZ
            value: Asia/Shanghai
          ports:
          - name: mongo
            containerPort: 
            protocol: TCP
          volumeMounts:
          - name: mongo-pvc
            mountPath: /data/db
  volumeClaimTemplates:
  - metadata:
      name: mongo-pvc
    spec:
      accessModes: [ "ReadWriteMany" ]  # 有的为RWO
      storageClassName: nfs-storage   # sc名字
      resources:
        requests:
          storage: 100Gi
---
apiVersion: v1
kind: Service
metadata:
  name: yapi
  namespace: yapi
  labels:
    app: yapi
spec:
  ports:
    - port: 
      targetPort: 
      name: yapi
#      nodePort: 32368
#  type: NodePort
  type: ClusterIP
  selector:
    app: yapi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: yapi
  namespace: yapi
  labels:
    app: yapi
spec:
  replicas: 
  selector:
    matchLabels:
      app: yapi
  strategy:
    rollingUpdate:
      maxSurge: 
      maxUnavailable: 
  template:
    metadata:
      labels:
        app: yapi
    spec:
      containers:
        - name: yapi
          image: harbor.myit.icu/yapi/yapi:latest
          imagePullPolicy: IfNotPresent
          resources:
            limits:
              cpu: 500m
              memory: 1024Mi
            requests:
              cpu: 200m
              memory: 512Mi
          env:
          - name: TZ
            value: Asia/Shanghai
          - name: VERSION
            value: 1.8.0
          - name: LOG_PATH
            value: /tmp/yapi.log
          - name: HOME
            value: /home
          - name: PORT
            value: "32368"
          - name: ADMIN_EMAIL
            value: deanmr@qq.com
          - name: DB_SERVER
            value: mongo
          - name: DB_NAME
            value: yapi
          - name: DB_PORT
            value: "27017"
          ports:
          - name: yapi
            containerPort: 
            protocol: TCP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: yapi
  namespace: yapi
  annotations:
    nginx.ingress.kubernetes.io/proxy-read-timeout: '3600'
    nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'
    nginx.ingress.kubernetes.io/proxy-body-size: 1g
spec:
#  tls:
#    - hosts:
#        - 'yapi.myit.icu'
#      secretName: local
  rules:
  - host: yapi.myit.icu
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: yapi
              port:
                name: yapi
查看资源情况
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[15:27:39root@k8s-master1 ~]#kubectl get all -n yapi 
NAME                        READY   STATUS    RESTARTS   AGE
pod/mongo-0                 1/1     Running   0          21m
pod/yapi-5dd5ddf4c9-t9jtl   1/1     Running   0          21m

NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
service/mongo   ClusterIP   10.108.24.188   <none>        27017/TCP   21m
service/yapi    ClusterIP   10.107.43.72    <none>        32368/TCP   21m

NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/yapi   1/1     1            1           21m

NAME                              DESIRED   CURRENT   READY   AGE
replicaset.apps/yapi-5dd5ddf4c9   1         1         1       21m

NAME                     READY   AGE
statefulset.apps/mongo   1/1     21m


NAME                                                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                              STORAGECLASS   REASON   AGE
persistentvolume/pvc-ffc0edbd-e400-42bf-8a90-6e7e8275f948   100Gi      RWX            Delete           Bound    yapi/mongo-pvc-mongo-0                                             nfs                     22m

NAME                                      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
persistentvolumeclaim/mongo-pvc-mongo-0   Bound    pvc-ffc0edbd-e400-42bf-8a90-6e7e8275f948   100Gi      RWX            nfs            22m
查看yapi的Pod的日志
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
依赖库安装完成,正在初始化数据库mongodb...
 
> yapi-vendor@1.8.0 install-server /home/vendors/vendors
>  node server/install.js


 log: mongodb load success...

 初始化管理员账号成功,账号名:"deanmr@qq.com",密码:"ymfe.org"

部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:32368 访问
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问: 
http://127.0.0.1:32368/
log: mongodb load success...
查看账户密码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[15:18:22root@k8s-master1 ~]#kubectl logs -n yapi yapi-5dd5ddf4c9-t9jtl | grep deanmr
 初始化管理员账号成功,账号名:"deanmr@qq.com",密码:"ymfe.org"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
YAPI-高效、易用、功能强大的 api 管理平台
在前后端分离的架构流行的时下,前后端部门之间交流更多的就是在数据处理和定义前端的接口,但是一边开发一遍维护接口文档,对于开发者来说是一个非常头疼的事情:
公众号: 云原生生态圈
2020/06/15
2.1K0
YAPI-高效、易用、功能强大的 api 管理平台
在 Kubernetes 上编排 MongoDB 集群
无状态应用在 Kubernetes 中的使用非常方便,但是对于一些有状态应用部署还是相对较麻烦,虽然也有单独的 StatefulSets 资源对象来处理有状态应用,但是毕竟不具有通用性,有状态应用的编排和具体的应用息息相关,比如 MongoDB、ElasticSearch、Redis、Zookeeper 等应用。我们这里不再对 StatefulSets 的具体使用展开介绍了,将通过部署一个可扩展的 MongoDB 集群为例进行说明。
我是阳明
2020/08/11
4.5K2
在 Kubernetes 上编排 MongoDB 集群
使用Kubernetes容器快速部署常用服务
项目地址: https://github.com/grafana/grafana/ 官方地址: https://grafana.com
全栈工程师修炼指南
2022/09/29
5580
使用Kubernetes容器快速部署常用服务
Kubernetes 中部署 Maven 私有仓库 Sonatype Nexus3
背景: java程序员们想弄一个私有maven仓库,嗯 正常的是用nexus or artfactory? artfactory是两三年前听jfrog的讲座知道的,程序说他原来用的nexus。那
对你无可奈何
2021/06/01
1.8K0
Kubernetes部署MySQL5.7单机---NFS存储
实验目的: 将MySQL5.7使用nfs持久化存储部署到Kubernetes集群中 nfs存储地址: nfs.myit.icu nfs存储配置: 临时测试---100G 安装nfs yum install -y nfs-utils rpcbind 创建nfs存储目录 [root@nfs ~]#mkdir /data/nfsData -p 格式化磁盘 [root@nfs ~]#mkfs.ext4 /dev/vdb 挂载磁盘到nfs存储目录 [root@nfs ~]#mount /dev/vdb /data/n
院长技术
2022/03/23
1.2K0
Kubernetes部署Jenkins
vim 06-jenkins-deployment.yaml ### 如果出现问题,可以把探测关掉---待测试
院长技术
2022/03/15
1.1K0
如何部署一个生产级别的 Kubernetes 应用
本文我们用一个 Wordpress 示例来尽可能将前面的知识点串联起来,我们需要达到的目的是让 Wordpress 应用具有高可用、滚动更新的过程中不能中断服务、数据要持久化不能丢失、当应用负载太高的时候能够自动进行扩容、当然还有 HTTPS 访问等等,这些是我们的应用部署到线上环境基本上要具备的一些能力,接下来我们就来一步一步完成这些需求。
我是阳明
2020/12/01
1.1K0
如何部署一个生产级别的 Kubernetes 应用
Kubernetes实战之部署ELK Stack收集平台日志
ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack。其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es。Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elasticsearch/kafka等)。Kibana可以将elasticsearch的数据通过友好的页面展示出来,提供实时分析的功能。
没有故事的陈师傅
2019/12/11
5.5K0
kubernetes1.22安装使用ingress-nginx
我们已经了解了 Ingress 资源对象只是一个路由请求描述配置文件,要让其真正生效还需要对应的 Ingress 控制器才行,Ingress 控制器有很多,这里我们先介绍使用最多的 ingress-nginx,它是基于 Nginx 的 Ingress 控制器。
我是阳明
2021/12/27
3.2K0
kubernetes1.22安装使用ingress-nginx
Prometheus监控神器-Kubernetes篇(二)
本篇使用StorageClass来持久化数据,搭建Statefulset的Grafana,并且在Dashboard导入前配置前面已经创建好的Prometheus的集群内部访问地址,同时配置ingress-nginx外部访问。
Kubernetes技术栈
2020/09/09
8620
Kubernetes 之 Ingress 服务
Kubernetes 中为了实现服务实例间的负载均衡和不同服务间的服务发现,创造了 Service 对象,同时又为从集群外部访问集群创建了 Ingress 对象。
民工哥
2021/04/21
5180
Kubernetes核心实战
此时的应用还不能外部访问: 指非集群结点,不能访问该应用,同一个 pod 共享网络与存储空间、因此 pod 内部访问其他的容器,ip 地址是 127.0.0.1
OY
2023/02/23
6520
Kubernetes核心实战
从无到有基于腾讯云TKE部署Kubernetes全流程-Ingress(五)
由于大规模使用Kuberntes后,容器中的Service变得较多,怎样让这么多Service被集群外部的服务所访问也是一个急需解决的问题,NodePort这样一种方案显然不太适合。
蒋经纬
2020/06/29
1.1K0
我要在k8s集群部署jumpserver(helm)
真的是,几乎没什么文章讲解helm安装jumpserver,jumpserver官方给的k8s安装方式就是helm
dgds
2023/06/09
2.7K3
在Kubernetes上使用Openldap做集中认证
LDAP是Lightweight Directory Access Protocol的缩写,提供LDAP服务的软件有很多商业上获得成功的,其中以MS的AD和Redhat的NDS(Netscape directory server)使用最为广泛,而开源领域则是OpenLdap了,为了集成认证后面需要的gitlab,jenkins,nexus,harbor等,因此我们在准备在kubernetes上部署一下openldap和openldap的界面管理工具phpldapadmin.
公众号: 云原生生态圈
2020/06/15
1.7K0
在Kubernetes上使用Openldap做集中认证
Kubernetes 1.20.5 安装gitlab
参照https://www.yuque.com/duiniwukenaihe/ehb02i内https://www.yuque.com/duiniwukenaihe/ehb02i/qz49ev之前文章。要完成kubernetes devops工作流的完成。前面已经搭建了jenkins。gitlab代码仓库也是必不可缺少的。现在搞一下gitlab,关于helm前面也做了详细的讲述,这里略过了。另外之前gitlab版本没有中文版本可参照https://hub.docker.com/r/twang2218/gitlab-ce-zh/ twang2218的汉化版本。现在的gitlab已经支持多语言了,可以略过。下面就开始安装gitlab。看了一眼helm的安装方式...文章较少。还是决定老老实实yaml方式安装了
对你无可奈何
2021/04/01
2.5K0
Kubernetes Service & LB & Networking :Ingress
简单服务路由,将 Node 的入站流量从 80 端口转发到服务 blog-anoyi, 查看 ingress 规则:
轻量级云原生架构实验室
2018/08/02
6430
Kubernetes Service & LB & Networking :Ingress
Kubernetes搭建LNMP环境并部署wordpress
1、在镜像仓库上,构建镜像,创建文件夹,将相应的文件放入,Dockerfile和安装包放在百度网盘了,这里就不多介绍了。
kubernetes中文社区
2019/06/24
2.4K0
Kubernetes搭建LNMP环境并部署wordpress
K3S从放弃到入门(三) 搞点有用的
搞了两天集群了,得搞点有实际用途的东西出来,所以决定搭建一个WordPress的博客。
2022/03/31
1.1K0
Kubernetes之日志和监控(十五)
当然,kubectl describe除了能够查看pod的日志信息,还能查看比如Node、RC、Service、Namespace等信息。 注意 :要是想查看指定命名空间之下的,可以-n=namespace
落寞的鱼丶
2022/02/07
6850
相关推荐
YAPI-高效、易用、功能强大的 api 管理平台
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验