Yapi部署到kubernetes(k8s)--Azure AKS
背景
找来找去都没找到简单方便的部署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
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的更多相关文章
- Docker系列(三):将.Net Core Api部署到Kubernetes (K8s)中
1.新建一个WebApi项目,并添加Dockerfile文件: FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EX ...
- China Azure中部署Kubernetes(K8S)集群
目前China Azure还不支持容器服务(ACS),使用名称"az acs create --orchestrator-type Kubernetes -g zymtest -n kube ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...
- 吾八哥学k8s(二):golang服务部署到kubernetes
本篇主要讲解如何将golang的服务部署到kubernetes集群里,附带相关的golang的demo和yml文件内容.纯新手入门方式,生产服务需要完整的CI/CD流程来支持. golang服务代码 ...
- Kubernetes K8S之Helm部署、使用与示例
Kubernetes K8S之Helm部署.使用.常见操作与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2 ...
- Kubernetes K8S之通过helm部署metrics-server与HPA详解
Kubernetes K8S之通过helm部署metrics-server与 Horizontal Pod Autoscaling (HPA)详解 主机配置规划 服务器名称(hostname) 系统版 ...
随机推荐
- [GPT] 用 document.querySelector('.xxx') 选择下级的第二个 div 要怎么写
要选择类名为 .xxx 的元素下的第二个子<div>元素,可以将 querySelectorAll()方法与CSS选择器一起使用. 以下是一个示例: const secondChild ...
- dotnet C# 推荐一个适合新手入门阅读学习的控制台游戏项目
对于 C# 编程新手,学习语法和框架是必要的,但是如何将它们灵活地运用到实际项目中,是一个更高层次的挑战.如果只是死记硬背语法规则和框架用法,而没有足够的编程实践,很难提高编程水平和逻辑思维.这个时候 ...
- vue-cli快速搭建项目的几个文件(一)
===========app.vue文件============= <template> <div id="app"> <router ...
- oracle RDBMS Kernel Executable 占用内存过高
oracle RDBMS Kernel Executable 占用内存过高 参考:https://www.cnblogs.com/markkang/archive/2019/11/25/1192540 ...
- postgresql 主键id配序列
一.手动创建序列 1.表格id字段,设置主键(PRIMARY KEY),类型为int4 2.创建序列 CREATE SEQUENCE public.moni_wzhour_warn_id_seq IN ...
- 微信小程序长按识别二维码
微信小程序长按识别二维码 image 组件中二维码/小程序码图片不支持长按识别.仅在 wx.previewImage 中支持长按识别示例代码
- java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连
java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连 maven依赖 <dependency> <groupId>io.netty< ...
- wblockCloneObjects 写块克隆的使用
写块克隆可以把当前数据库的实体写入到另一个dwg文件中去.用法根deepclone类似,不过deepclone只能复制到同一数据库中,而写块克隆是在不同数据库中进行复制的.写块克隆也算是深度克隆,能把 ...
- k8s ingress部署安装
ingress概念 ingress与service,deployment同样都是k8s中的一种资源 ingress用于实现域名方式访问k8s内部应用 安装ingress 1. 安装helm: wget ...
- 《iOS面试之道》-勘误2
一.如何保证NSTimer不受Runloop的影响,准时触发 书中提到两种方案, 一种是改变timer加入到runloop中的Mode,为CommonModes不受Runloop的Mode影响 第二种 ...
