背景

找来找去都没找到简单方便的部署yapi到k8s的教程,就自己写了个;

本教程部署的版本是: 1.10.2

部署步骤

克隆仓库:

git clone https://github.com/gebiWangshushu/hei-yapi-k8s-deploy.git

第一步 部署MongoDB

如果已有MongoDB请跳过这步

先创建命名空间

kubectl create ns yapi

创建pv的Secret

kubectl create secret generic mongo-azure-secret --from-literal=azurestorageaccountname=<blobAccountName> --from-literal=azurestorageaccountkey=<blobAccountKey> -n yapi

如果大家不是很清楚什么是pv/pvc 的需要先去了解下;

创建pv/pvc

kubectl apply -f mogon-pv.yaml

我这里是挂载到azure blob file share,大家可以改为挂载到自己喜欢的地方;

部署mongo

kubectl apply -f mogon.yaml

验证mongo部署

用端口转发访问mongo

https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/port-forward-access-application-cluster/

kubectl get deployment

kubectl port-forward deployment/mongodb 27017:27017

这样就可以用 mongodb://127.0.0.1:27017 连接到mongo了

第二步 部署Yapi构建程序

kubectl apply -f yapi.yaml

第三步 开始部署Yapi

方式一 使用WebUI部署(推荐)

需要service为NodePort(也可以用kubectl port-forward),打开:集群ip: 可看到:

填好配置后看“开始部署“按钮即可,这种简单方便且是官方推荐方式;

方式二 使用shell自动部署

参考:https://hellosean1025.github.io/yapi/devops/index.html

1、先修改yapi-vendors.yaml对应环境变量

比如以下是我的配置:

YAPI_PORT=3000
YAPI_ADMIN_ACCOUNT=wangsiheng@gmail.com
YAPI_ADMIN_PASSWORD=zixia@123
YAPI_CLOSE_REGISTER=false
YAPI_NPM_REGISTRY=https://registry.npm.taobao.org
YAPI_DB_SERVERNAME=127.0.0.1
YAPI_DB_PORT=27017
YAPI_DB_DATABASE=yapi
YAPI_DB_USER=wangsiheng@gmail.com
YAPI_DB_PASS=password@123
YAPI_DB_AUTH_SOURCE=admin

把对应的环境变量替换到yapi-vendors.yaml的env下面

再执行:

kubectl apply -f yapi-vendors.yaml

源码

https://github.com/gebiWangshushu/hei-yapi-k8s-deploy

Yapi部署到kubernetes(k8s)--Azure AKS的更多相关文章

  1. Docker系列(三):将.Net Core Api部署到Kubernetes (K8s)中

    1.新建一个WebApi项目,并添加Dockerfile文件: FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EX ...

  2. China Azure中部署Kubernetes(K8S)集群

    目前China Azure还不支持容器服务(ACS),使用名称"az acs create --orchestrator-type Kubernetes -g zymtest -n kube ...

  3. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  5. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  8. 吾八哥学k8s(二):golang服务部署到kubernetes

    本篇主要讲解如何将golang的服务部署到kubernetes集群里,附带相关的golang的demo和yml文件内容.纯新手入门方式,生产服务需要完整的CI/CD流程来支持. golang服务代码 ...

  9. Kubernetes K8S之Helm部署、使用与示例

    Kubernetes K8S之Helm部署.使用.常见操作与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2 ...

  10. Kubernetes K8S之通过helm部署metrics-server与HPA详解

    Kubernetes K8S之通过helm部署metrics-server与 Horizontal Pod Autoscaling (HPA)详解 主机配置规划 服务器名称(hostname) 系统版 ...

随机推荐

  1. [GPT] 用 document.querySelector('.xxx') 选择下级的第二个 div 要怎么写

      要选择类名为 .xxx 的元素下的第二个子<div>元素,可以将 querySelectorAll()方法与CSS选择器一起使用. 以下是一个示例: const secondChild ...

  2. dotnet C# 推荐一个适合新手入门阅读学习的控制台游戏项目

    对于 C# 编程新手,学习语法和框架是必要的,但是如何将它们灵活地运用到实际项目中,是一个更高层次的挑战.如果只是死记硬背语法规则和框架用法,而没有足够的编程实践,很难提高编程水平和逻辑思维.这个时候 ...

  3. vue-cli快速搭建项目的几个文件(一)

    ===========app.vue文件============= <template>   <div id="app">       <router ...

  4. oracle RDBMS Kernel Executable 占用内存过高

    oracle RDBMS Kernel Executable 占用内存过高 参考:https://www.cnblogs.com/markkang/archive/2019/11/25/1192540 ...

  5. postgresql 主键id配序列

    一.手动创建序列 1.表格id字段,设置主键(PRIMARY KEY),类型为int4 2.创建序列 CREATE SEQUENCE public.moni_wzhour_warn_id_seq IN ...

  6. 微信小程序长按识别二维码

    微信小程序长按识别二维码 image 组件中二维码/小程序码图片不支持长按识别.仅在 wx.previewImage 中支持长按识别示例代码

  7. java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连

    java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连 maven依赖 <dependency> <groupId>io.netty< ...

  8. wblockCloneObjects 写块克隆的使用

    写块克隆可以把当前数据库的实体写入到另一个dwg文件中去.用法根deepclone类似,不过deepclone只能复制到同一数据库中,而写块克隆是在不同数据库中进行复制的.写块克隆也算是深度克隆,能把 ...

  9. k8s ingress部署安装

    ingress概念 ingress与service,deployment同样都是k8s中的一种资源 ingress用于实现域名方式访问k8s内部应用 安装ingress 1. 安装helm: wget ...

  10. 《iOS面试之道》-勘误2

    一.如何保证NSTimer不受Runloop的影响,准时触发 书中提到两种方案, 一种是改变timer加入到runloop中的Mode,为CommonModes不受Runloop的Mode影响 第二种 ...