K3S +Helm +NFS最小化测试安装和部署仅需十分钟
大家好,K3S +Helm +NFS最小化测试安装和部署仅需十分钟相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于K3S +Helm +NFS最小化测试安装和部署仅需十分钟和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
什么是k3s
K3S是一种轻巧的Kubernetes发行版,可用于边缘计算,物联网和其他方案。 K3S具有以下增强功能:包装为单个二进制。使用基于SQLITE3的轻型存储后端作为默认存储机制。还支持的是ETCD3,MySQL和PostgreSQL作为存储机制。封装在一个简单的启动程序中,通过该程序处理许多复杂的TLS和选项。默认情况下,它是安全的,具有合理的默认值适合轻质环境。添加了简单但功能强大的电池功能,例如:本地存储提供商,服务负载平衡器,Helm Controller和Traefik Ingress Controller。 Kubernetes控制平面组件的所有操作都封装在单个二进制文件和过程中,使K3S具有自动化和管理复杂集群操作(包括证书分配)的能力。为了最大程度地减少外部依赖性,K3S仅需要内核和cgroup安装座。 K3S软件包所需的依赖项包括:集装
绒布
coredns
CNI
主机实用程序(iptables,socat等)
入口控制器(Traefik)
嵌入式服务负载平衡器
嵌入式网络策略控制器
为什么叫 k3s?
K3S记忆足迹是K8S Kubernetes的一半是一个10字母的单词,缩写为K8SkubEnetes的一半是5个字母,缩写为K3S :0101
适用场景
K3S适用于以下场景。
边缘计算-Edge IoT- Iotcideplowentmentarm嵌入K8,因为运行K3所需的资源很少,因此K3S也适用于开发和测试方案。在这些情况下,如果开发人员或测试人员需要验证某些功能或重现某些问题,则使用K3不仅会减少启动集群的时间,而且还会减少群集需要消耗的资源。
架构介绍
K3S服务器是运行K3S服务器命令(裸机或虚拟机)的机器,而K3S Worker节点是运行K3S Worker命令的机器。 K3S单节点群集的架构如下图所示。该集群具有带有嵌入式SQLITE数据库的单节点K3S服务器。在此配置中,每个工人节点都注册到同一服务器节点。 K3S用户可以通过在服务器节点上调用K3S API来操作Kubernetes资源。
单节点架构
虽然单个节点K3S群集可以符合各种用例,但您可以在高度可用的配置中运行K3S,对于对Kubernetes控制平面的正确操作至关重要的环境。一个高度可用的K3S群集由以下部分组成:K3S服务器节点:两个或多个服务器节点将为Kubernetes API服务,并运行其他控制平面服务外部数据库:与嵌入式嵌入式SQLITE数据存储相反,在单个节点K3S设置中使用的SQLITE数据存储,高度可用的K3需要将外部数据库作为介质的数据库作为中介质作为介质的介质。 K3S高可用性体系结构:
高可用架构
在高度可用的K3S服务器配置中,每个节点还必须使用固定的注册地址向Kubernetes API注册。注册后,工人节点直接建立了与服务器节点之一的连接,如下图所示:
固定 worker 节点的注册地址
代理节点是通过K3S Works流程启动的WebSocket连接注册的,并且该连接由运行的客户端负载平衡器作为代理流程的一部分维护。代理将使用节点群集秘密和随机生成的节点密码在K3S服务器上注册,该密码存储在/etc/rancher/rancher/node/passwass路径中。 K3S服务器将作为Kubernetes Secrets存储每个节点的密码,随后的任何尝试都必须使用相同的密码。节点密码秘密存储在kube-system名称空间中,使用模板使用该名称。如果删除工人的/etc/rancher/node目录,则需要重新创建工人的密码文件,或从服务器中删除条目。通过使用-With-node-ID标志启动K3S服务器或Worker,您可以将唯一的节点ID连接到主机名。
注册 worker 节点
位于目录路径/var/lib/rancher/k3s/server/清单上的清单在构建时间捆绑到K3S二进制中。它将在Rancher/Helm-Controller时在运行时安装。
自动部署的清单
K3S默认运行时使用容器作为容器。在儿童进程:的Goroutine中启动集装箱验证
PS Aux | GREP“ K3S Server” PS -A -Ostat,PID,PPID,CMD | GREP 7897
k3s默认容器运行时
准备工作
您可以使用两种不同的方法在离线环境中安装K3。离线环境是未直接连接到Internet的任何环境。您可以部署一个私有图像存储库,也可以手动部署图像,例如小簇。离线安装过程主要分为以下两个步骤:
步骤1:部署图像
步骤2:安装K3S
**离线升级K3S版本: **离线安装K3S后,您还可以通过脚本升级K3S版本,或启用自动升级功能以将K3S版本保持在与最新K3S版本同步的离线环境中。
概述
先决条件
建造一个私人仓库,例如港口仓库
创建一个镜子存储库yaml
请根据K3S私人镜像存储库配置创建并配置registry.yaml文件。完成后,您现在可以转到下面的[安装K3S]部分,然后开始安装K3手动部署镜像先决条件
假设在离线环境中创建了节点。这种方法要求您手动将必要的图像部署到每个节点,并且适用于无法部署镜像存储库的边缘部署方案。
操作步骤
请按照下面的步骤准备镜像目录和K3S二进制
获取您正在从K3S GITHUB发行页面上运行的K3S版本的图像焦油文件。 Place the tar file in the images directory, for example: sudo mkdir -p /var/lib/rancher/k3s/worker/images/sudo cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/worker/images/Place the k3s binary file in the /usr/local/bin/k3s path and make sure to have executable permissions.完成后,您现在可以转到下面的安装K3S部分,然后开始安装K3。 CHMOD +X K3S CP K3S/usr/local/bin/
部署私有镜像仓库
更多安装选项参考安装选项简介|牧场主文档
先决条件
在安装K3S之前,请完成上述专用图像存储库或手动部署图像的部署,并导入安装K3S所需的图像。从发布页面下载K3S二进制文件,该页面需要匹配离线图像的版本。将二进制文件放入/usr/local/bin中的每个离线节点上,并确保二进制可执行。下载K3S安装脚本:https://get.k3s.io。将安装脚本放在每个离线节点上的任何位置,并命名IT install.sh。使用install_k3s_skip_download环境变量运行K3S脚本时,K3S使用本地脚本和二进制。
安装 k3s
服务器节点
install_k3s_skip_download=true ./install.sh
工人节点
# Replace myserver with server's IP or valid DNS# Replace mynodetoken with server node token# tokens normally in /var/lib/rancher/k3s/server/node-tokenINSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://172.16.100.126:6443 K3S_Token=K10CCF50E87C24F9A1DB535BDC5F6CD0C7E87B4B4B7B321118C393563B0 7E0FA8B39F333333333:SERVER3:6B9604A66F7A2D2AC2AC2A2A2A2A2A2A22A22835E3AA7500 ./install.sh。注意:K3S还为Kubelets提供了一个-resolv-conf标志,这可能有助于配置离线网络中的DNS

添加工人角色标签
设置工人角色。默认情况下,工人节点不能添加工作角色。您需要执行命令以手动添加。新版本可能已经解决了此问题。 kubectl标签节点节点名称node-role.kubernetes.io/您想要的角色(=/ - )在最后一个括号中添加或减去符号。负符号是删除角色,相等的符号是添加roleskubectl标签节点k3s-node1 node-role.kubernetes.io/worker=true -overwriteKubectl标签k3s-node2 k3s-node2 node-node-role.kubernetes.io oio oio oio torker=traber=true lab lab lab k3-k3 k3 k3 node-role.kubernetes.io/worker=true - overwrite - overwrite意味着,如果工作角色标签已经存在,请覆盖(创建新标签时此操作将不会生效)
单节点安装
yum安装bash-completion -ymrce/usr/usr/share/bash-completion/bash_completionsource(kubectl interion bash)echo'source'source'source'source'source'source'source(kubectl interion bash)'本地。您还将使用install_k3s_exec='args'为K3S提供其他参数。
kubectl命令行补全
离线环境的升级可以通过以下步骤完成:
从K3S GitHub发行页面下载您要升级到的K3S版本。将焦油文件放在每个节点的/var/lib/rancher/k3s/worker/worker/images/目录中。删除旧的焦油文件。重新启动K3S服务。
高可用安装
除了对K3的脚本升级外,您还可以启用自动升级功能,以使K3S版本保持在与最新的K3S版本同步的离线环境中。
从v1.17.4+K3S1开始,K3S支持自动升级。要在离线环境中启用此功能,您必须确保在私人镜像存储库中可用所需的图像。
您将需要与您打算升级到的K3S版本相对应的Rancher/K3S升级版本。请注意,镜像标签在K3S版本中替换为- 因为Docker映像不支持+。您还需要您要部署的系统upgrad-controller supertyaml中指定的System-upgrad-controller和kubectl的版本。在此处查看最新版本的System-Upgrad-controller,然后下载System-upgrad-controller.yaml,以确定您需要将哪个版本推入私有图像存储库。例如,在v0.4.0的系统升级- 控制器的V0.4.0版本中,这些图像在清单YAML:Rancher/System-Upgrade-controller 3:V0.4.4.0您的私人图像存储库,您可以遵循K3S自动升级指南。
通过脚本升级
启用自动升级功能
停止K3SSYSTEMCTL停止K3SSYSTEMCTL禁用K3SKILL杀死命令/usr/locar/local/bin/k3s-killall.sh如果您使用Docker,则需要执行ps-a | grep -v contuner ps-a | awk | awk | awk | 1 -a | grep -v容器| awk'{打印$ 1}'| xargs docker docker rsyctl停止docker systemctl禁用docker
停止k3s
停止k3s -agentsystemctl stop k3s -agentystemctl stop k3s -agentsystemctl dicker w. '{打印$ 1}'| xargs docker stopdocker ps -a | grep -v容器| awk'{print $ 1}'| xargs docker docker docker rsystemctl stop dockersystemctl dockersystemctl docker :010101010 docker
server节点停止k3s
拆卸的k3s将删除k3将删除cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster cluster数据。
要使用不同的安装选项重新启动群集,请重新运行带有不同标志的安装脚本。
worker节点停止k3s
/usr/local/bin/k3s-uninstall.sh
卸载 k3s
/usr/local/local/bin/k3s-agent-uninstall.sh
server 节点卸载 k3s
:010 :010
worker 节点卸载 k3s
KUBERNETES是基于容器的基于基于容器的应用程序群体管理解决方案。 Kubernetes提供了一系列完整的功能,例如部署和操作,资源调度,服务发现以及容器化应用程序的动态缩放。
Kubernetes的核心设计理念是:用户为要部署的应用程序定义规则,而Kubernetes负责根据定义的规则部署和运行应用程序。如果应用程序有问题导致其偏离定义规范,则Kubernetes负责自动纠正它。例如:定义的应用程序规则需要部署两个实例(POD),其中一个规则异常终止。 Kubernetes将检查并重新启动一个新实例。
用户通过使用kubernetes API对象来描述应用程序规则,包括POD,服务,卷,名称空间,replaciCet,reploceret,部署,作业等。通常,这些资源对象的定义需要写入一系列YAML文件中,然后通过Kubernetes命令行kubectl进行部署,以调试Kubernetes api。
以典型的三层应用程序WordPress为例,该应用程序涉及多个Kubernetes API对象,并描述这些Kubernetes API对象,可以同时维护多个YAML文件。
从上图可以看出,部署Kubernetes软件时,我们遇到以下问题:
如何管理,编辑和更新这些分散的Kubernetes应用程序配置文件。如何将一组相关配置文件作为应用程序管理。如何分发和重复使用Kubernetes应用程序配置。头盔似乎可以很好地解决上述问题。
Helm简介
Helm是DEIS开发的Kubernetes应用程序的软件包管理工具,主要用于管理图表。在ubuntu或centos中的yum中有点类似。
Helm Chart是一系列YAML文件,用于封装Kubernetes本机应用程序。当您部署应用程序以促进应用程序的分布时,您可以自定义应用程序的一些元数据。
对于应用程序发布者,他们可以包装应用程序,管理应用程序依赖性,管理应用程序版本并通过Helm将应用程序发布给存储库。
对于用户,使用Helm后,您无需编写复杂的应用程序部署文件。您可以以简单的方式在Kubernetes上找到,安装,升级,后退和卸载应用程序。
Kubernetes 应用部署的挑战
Helmhelm是命令行下的客户端工具。主要用于Kubernetes应用程序图表的本地和远程图表存储库的创建,包装,发布以及创建和管理。
Tillertiller是Helm的服务器,并部署在Kubernetes群集中。 Tiller用于接收Helm的请求,并根据图表生成Kubernetes部署文件(Helm Callme Release),然后将其提交给Kubernetes以创建应用程序。 Tiller还提供了一系列功能,例如升级,删除和发行版回滚。
Charthelm的软件包,以tar格式。类似于APT或rpm yum的DEB软件包,该软件包包含一组定义Kubernetes资源的YAML文件。
RepoistoryHelm的存储库本质上是一个Web服务器,它包含一系列图表软件包供用户下载,并提供了用于查询的存储库的图表包的清单文件。头盔可以同时管理多个不同的存储库。
发布是使用名为Release的Helm install命令在Kubernetes群集中部署的图表。
注意:应该注意的是,掌舵中提到的发行版与我们通常的概念中的版本不同。这里的版本可以理解为使用图表软件包部署的应用程序实例。
Helm 是什么?
此图描述了Helm,Helm(Client),Tiller(Server),存储库(图表软件存储库)的几个关键组成部分与图表(软件包)之间的关系。
图表安装过程
从指定的目录或焦油文件中掌舵解析图表结构信息。赫尔姆通过GRPC将指定的图表结构和价值信息传递给Tiller。 Tiller根据图表和值生成版本。 Tiller将释放发送到Kubernetes生成释放。图表更新过程
从指定的目录或焦油文件中掌舵解析图表结构信息。赫尔姆传递了需要更新为tiller的发行版的名称,图表结构和值。 Tiller生成版本并使用指定名称更新版本的历史记录。 Tiller将发布到Kubernetes进行更新发布。图表回滚过程
赫尔姆将释放的名称滚回去。 Tiller以发行名称找到历史。 Tiller从历史上获取了先前的版本。 Tiller将先前的版本发送到Kubernetes,以替换当前版本。图表依赖处理指令
当Tiller处理图表时,它直接将图表合并为单个版本,并将其传递给Kubernetes。因此,Tiller不负责管理依赖关系之间的启动顺序。图表中的应用需要能够自己处理依赖关系。
Helm 组件及相关术语
Helm 工作原理
安装头盔有很多方法,并且在此处安装在二进制中。有关更多安装方法,请参阅Helm的官方帮助文档。
使用官方脚本安装curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get get_helm.sh $ chmod 700 get_helm.sh./get_helm.sh.sh./get_helm.sh手动下载二进制包装安装
您会看到Tiller的服务和部署是正常的,但是POD是异常的。如果为失败的图像拉动图像,我们会注意:storage.googleapis.com默认情况下无法访问,因此,如果更改源,请下载它;参考:https://www.hi-linux.com/posts/21466.html更改源,因为HELM将默认访问storage.googleapis.com默认来拉动图像,如果您当前执行的计算机无法访问域名,则可以使用以下命令使用以下命令来安装它:
使用云图像安装并将默认存储库设置为cloud $ helm init-upgrade-tiller-image cloud Image address /google_containers/tiller:v2.12.12.12.12.2 - stable-repo-repo-url https://在正常运行中可以看到云图像地址/图表。检查详细信息kubectl描述pod tiller-deploy-dc95dbd5c-gvldb -namespace=kube-systemnext以查看状态
如上图可以看出:现在,Helm版本可以查看服务器版本信息,并且部署已完成
随后的下载软件包将报告错误,因为从Kubernetes 1.6版开始,API服务器已启用RBAC授权。默认情况下,当前的分er部署并未定义授权的ServiceAccount,这在访问API服务器时可能会导致拒绝。因此,我们需要明确添加用于分er部署的授权。
部署 Helm
KUBERNETES网络文件系统,主要用于持续存储,例如ES,Kafka,Minio等。
安装 Helm 客户端
===========================服务器端(NFS节点)按如下操作================
ils rpcbind# 启动服务systemctl start rpcbindsystemctl enable rpcbindsystemctl start nfssystemctl enable nfs# 查看nfs服务是否安装正常rpcinfo -p localhost# 或者是通过公网测试服务端的nfs服务是否可用。rpcinfo -p ServerIP# 显示如下即正常program vers proto port service100000 4 tcp 111 portmapper100000 3 tcp 111 portmapper...100024 1 udp 45993 status100024 1 tcp 39431 status...100005 1 udp 20048 mountd100005 1 tcp 20048 mountd...100003 3 tcp 2049 nfs100003 4 tcp 2049 nfs100227 3 tcp 2049 nfs_acl...100021 3 tcp 33941 nlockmgr100021 4 tcp 33941 nlockmgr# ===========客户端(k8s节点)操作如下===========# 通过yum目录安装nfs服务和rpcbind服务yum -y install nfs-utils rpcbind配置共享目录
# ===========以下全部为nfs节点操作如下===========# 比如我们在服务端的共享目录为/export/nfs-share,接着输入以下命令echo "/export/nfs-share 172.16.100.0/20(rw,sync,no_root_squash,no_all_squash)" > /etc/exports# 要保证/export/nfs-share目录已经存在节点上,然后输入以下命令使共享目录生效。exportfs -r# 重新启动服务systemctl restart rpcbindsystemctl restart nfs# 测试showmount -e localhost# 或者showmount -e 公网ipshowmount 命令查询“mountd”守护进程,以显示NFS服务器加载的信息部署Pod遇到的问题
Helm部署Chart时报错
Error: INSTALLATION FAILED: create: failed to create: Request entity too large: limit is 3145728以上报错信息,一般是由于chart目录里面存在大文件,把不必要的文件删除,只保留chart相关的,再次helm install即可部署 nfs pod时报错
# 上面的原因一般是由于nfs运行所在的节点,访问nfs不通,需要在集群的全部工作节点执行安装nfs客户端命令:yum -y install nfs-utils rpcbindPod拉取镜像超时报错
以上报错信息,一般是由于官网方法部署k3s,默认使用的是containerd作为容器运行环境,使用的是海外的镜像仓库,导致拉镜像超时,可在pod配置镜像加速,设置地址为国内,参考常用命令:crictl命令使用 --> 配置containerd镜像加速注:如果受公网限制,可能在有公网的环境下,把对应的镜像先自行下载下来,再上传到集群用命令行导入到镜像库常用命令行
kubectl命令
node的标签操作
# 查看当前所有node的标签kubectl get nodes --show-labels # 查看某个node的标签kubectl describe node k3s-master # k3s-master 节点名 # node自定义标签kubectl label node k3s-master1 project=k8snewnode/k3s-master1 labeledkubectl label node k3s-master1 node=second-nodenode/k3s-master1 labeled# yaml引用node的label示范# vim haproxyDep.yaml apiVersion: apps/v1kind: Deploymentmetadata: namespace: k8s-new name: haproxy-deployment labels: app: haproxyspec: replicas: 1 selector: matchLabels: app: haproxy template: metadata: labels: app: haproxy spec: containers: - name: haproxy image: k8s.org/haproxy-2.5.0:v1 imagePullPolicy: IfNotPresent resources: requests: cpu: 200m memory: 200Mi ports: - containerPort: 9999 protocol: TCP name: status - containerPort: 9527 protocol: TCP name: haproxy01 nodeSelector: #注意必须配置在containers参数结束后的部分 node: first-node #之前配置的192.168.1.96节点的label# 自定义node label的删除kubectl label nodes k3s-master1 project-注:命令格式即:kubectl label nodes node节点名称/nodeIP node对应的key-ctr 命令使用
containerd 相比于docker , 多了namespace概念, 每个image和container 都会在各自的namespace下可见 # 查询ctr版本ctr version# 查看ctr image可用操作ctr image listctr i listctr i ls# 镜像标记tagctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2# 若新镜像reference 已存在, 需要先删除新reference, 或者如下方式强制替换ctr -n k8s.io i tag --force registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2# 删除镜像ctr -n k8s.io i rm k8s.gcr.io/pause:3.2# 拉取镜像ctr -n k8s.io i pull -k k8s.gcr.io/pause:3.2# 推送镜像ctr -n k8s.io i push -k k8s.gcr.io/pause:3.2# 导出镜像ctr -n k8s.io i export pause.tar k8s.gcr.io/pause:3.2# 导入镜像# 不支持 build,commit 镜像ctr -n k8s.io i import pause.tar# 查看容器相关操作ctr c# 运行容器–null-io: 将容器内标准输出重定向到/dev/null–net-host: 主机网络-d: 当task执行后就进行下一步shell命令,如没有选项,则会等待用户输入,并定向到容器内–mount 挂载本地目录或文件到容器–env 环境变量ctr -n k8s.io run --null-io --net-host -d \–env PASSWORD="123456"–mount type=bind,src=/etc,dst=/host-etc,options=rbind:rw# 容器日志注意: 容器默认使用fifo创建日志文件, 如果不读取日志文件,会因为fifo容量导致业务运行阻塞如要创建日志文件,建议如下方式创建:ctr -n k8s.io run --log-uri file:///var/log/xx.logctr,crictl,docker命令对比 Ctr命令 Crictl命令 Docker命令 详细描述 ctr task ls crictl ps -a docker ps 查看运行中的容器阴阳师4月22日更新内容:帝释天上线技能调整,红莲华冕活动来袭[多图],阴阳师4月22日更新的内容有哪些?版本更新
2025-07-10四川电视台经济频道如何培养孩子的学习习惯与方法直播在哪看?直播视频回放地址[多图],2021四川电视台经济频
2025-07-10湖北电视台生活频道如何培养孩子的学习兴趣直播回放在哪看?直播视频回放地址入口[多图],湖北电视台生活频道
2025-07-10
用户评论
这也太方便了吧!我之前试过各种方法搭建集群,一直耗费很多时间。K3s加上Helm和NFS简直是神器,十分钟搞定真是太棒了!
有12位网友表示赞同!
十分钟就能完成部署?感觉有些夸张啊!我还是比较注重稳定性和安全性,这种快速安装的方式会不会风险很大呢?
有13位网友表示赞同!
看完文档之后试了一下,确实很省时间!Helm的图表真方便,直接一键安装就搞定了。以前用命令线搭建还得费半天劲,这K3S简直是救星啊!
有17位网友表示赞同!
对于新手来说可能太简单了,毕竟很多配置都需要懂kubernetes的基本知识吧?文档也需要再详细一点,这样初学者才能更容易上手。
有10位网友表示赞同!
终于不用纠结于部署太慢的问题了!这个方案挺适合我现在这种需要快速迭代的环境。以后可以直接把 K3s 加上Helm 作为我的首选搭建工具啦!
有12位网友表示赞同!
说的像10分钟完成所有配置一样,实际体验应该更复杂一些吧?毕竟NFS的安装和管理也有很多细节需要注意...
有18位网友表示赞同!
这么便捷的部署方式真的很有吸引力!我现在还在学*K3s 和 Helm ,有机会一定要试试这个方案。快速上手真的很重要!
有17位网友表示赞同!
10分钟是单节点部署吧?如果是多节点集群,可能时间会长很多... 而且稳定性能不能保证,还是要看看实际测试结果
有7位网友表示赞同!
这种轻量级的 K3s + Helm + NFS 方案挺适合小型环境的。对于大型企业要考虑的数据安全和高可用性问题就不一定适用...
有10位网友表示赞同!
我觉得还是太依赖于Helm了!如果Helm出现了问题,部署整个集群就比较麻烦。最好结合一些其他工具来保证更全面的配置管理
有17位网友表示赞同!
这个方案非常适合学* Kubernetes 的小伙伴们!可以快速搭建一个简单的环境进行实验,不用花很多时间在部署上浪费精力。
有13位网友表示赞同!
文档写的不错,很容易理解。K3s + Helm + NFS 的组合确实很强大,为快速部署容器化应用提供了很好的方案!
有12位网友表示赞同!
以前总觉得 kubernetes 太复杂了,一直没敢深入学*。现在只要十分钟就能搭建环境,是不是可以试一试了呢?
有6位网友表示赞同!
感觉这个方案还是比较适合前端开发的小伙伴们。对于后端系统,安全性及可靠性要求更高,可能仍然需要更为成熟的解决方案!
有10位网友表示赞同!
十分钟就能部署完成,这得是多么强大的工具啊!我已经把它加入到我的学*计划中啦!期待能够快速上手使用!
有17位网友表示赞同!
这个方案对于小型应用来说很棒,但是大型企业环境可能需要考虑更复杂的架构和安全措施。希望作者能分享更多关于拓展和定制的内容。
有16位网友表示赞同!
10分钟安装完成听起来太理想了!实际操作中估计还要考虑到网络延迟、资源配置等因素的影响吧?期待看到一些更详细的实战案例分析!
有15位网友表示赞同!
这个方案虽然快速便捷,但我还是更倾向于选择经过长期稳定测试的成熟工具。毕竟对于生产环境来说,稳定性和安全是至关重要的!
有15位网友表示赞同!