nodejs + pm2 +gitee+Ubuntu 配置一键部署的开发环境

JavaScript020

nodejs + pm2 +gitee+Ubuntu 配置一键部署的开发环境,第1张

1.安装 npm install vue-cli pm2 -g

sudo apt-get install nginx

mac os : 先安装brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

nginx -v

创建配置文件:在路径 /etc/nginx/conf.d/ 下创建.conf文件

按官网安装,注意在配置repo库时换成阿里云的库:"mirrors.aliyun.com/mongodb/"

服务器和开发机都要做

使用脚本语音自己编写就可以实现

比如用shell脚本,perl脚本,python脚本 都可以

思路:

把部署目录复制出来

提取其中需要人工配置的文件

然后脚本根据系统,自动替换配置文件中对应内容,再放置到发布的目录中

lafyun.com 是基于 开源云开发平台 laf.js 部署的公开运营版云开发平台。

lafyun.com 内测阶段是基于 docker-compose 部署的单机版,现在平台正式开放公测,需要基于 kubernetes 部署集群版。

Kubernetes 的部署采用 sealos 一键部署。

系统选择了 centos 7.9,最初经反复测试过 Aliyun Linux 3.x,Kubernetes 表现极不稳定,系统经常会因为 OOM 宕机或断连等问题,特别是单次启动 pod 数量过百之后,后选择了 centos 7.9 表现极其稳定。

kubernetes 选择了 v1.23.2,此版本默认已不支持 docker ,故容器运行时使用了 containerd。

把下面节点的IP换成服务器的内网IP即可,确保 master &node 的 ip 互相可连通后:

查看节点运行状态,在 master 节点运行:

可选择让 master 成为工作节点:

直接参考 laf.js 仓库下 /deploy/kubernetes 目录中的配置启动即可。

一、增加 kubernetes 默认单个节点最大运行 110 个 Pod 的限制,在每个节点做以下操作:

- 编辑 /var/lib/kubelet/config.yml ,修改 maxPods 字段即可;

- 执行 systemctl restart kubelet 使之生效;

二、解除 api-server 默认的 qps 限制,否则当 Pod 数量超过200时,api-server 可能会卡死或超时响应,导致集群不可用:

- 编辑 /var/lib/kubelet/config.yml ,修改 kubeAPIQPS 字段为 50 或 更大的数字;

- 修改 kubeAPIBurst 字段为 100 或 更大的数字;

- 执行 systemctl restart kubelet 使之生效;

三、阿里云 ECS DNS 服务地址与默认 Pod 网段冲突,导致 Pod 无法访问外网的问题:

因为 Sealos 默认 Pod 网段 为 100.164.x.x/20,与阿里云 默认 DNS 服务地址100.x.x.x 冲突,故无法访问外网域名,需要修改 Pod 网段。

所以,在上面执行 sealos init 时我们已经加上了 --podcidr 10.160.0.0/12 选项,配置 Pod 网段为 10.160.0.0/12 ,已解决此问题。

如果要修改 Pod 网段,请避免使用 172.16.0.0/12 网段,会与阿里云 ECS 内网网段冲突。