云服务器使用K8s Helm部署教程与实战
在云服务器的日常运维中,Kubernetes(K8s)作为容器编排的核心工具,已成为企业级应用部署的标配。而Helm作为K8s的包管理工具,通过封装复杂的资源配置,让应用部署从“手动搭建”升级为“一键安装”。本文将结合云服务器环境,详细讲解如何用Helm完成K8s应用的高效部署与管理。
环境搭建:K8s集群与Helm客户端
首先需在云服务器上完成K8s集群安装。云服务器常见的Linux系统(如Ubuntu、CentOS)可参照K8s官方文档操作,确保Master节点与Worker节点网络互通、资源分配合理。接下来安装Helm客户端:从Helm官方发布页下载对应系统的二进制包,解压后将可执行文件移动至/usr/local/bin目录(例如Linux系统执行`mv helm /usr/local/bin`),即可在任意路径调用Helm命令。
Helm核心:理解Chart与仓库
Helm的核心是Chart(应用包),它像一个“应用安装向导”,包含K8s资源的模板文件(存于templates目录)和元数据描述(Chart.yaml),而Values.yaml则是模板的“参数配置单”,可灵活调整应用的部署细节。
添加与更新Chart仓库
Helm通过仓库集中管理Chart,添加官方或第三方仓库后,即可快速获取所需应用包。例如添加稳定仓库的命令:
helm repo add stable https://charts.helm.sh/stable
添加完成后需更新仓库列表,确保获取最新Chart信息:
helm repo update
搜索与查看Chart详情
若想了解可用Chart,可执行搜索命令查看列表:
helm search repo stable
若需查看特定Chart的配置参数和依赖项,使用`show`命令:
helm show chart stable/nginx-ingress
部署实战:从Nginx到WordPress
以Nginx Ingress Controller部署为例,执行命令即可完成安装:
helm install my-nginx stable/nginx-ingress
其中“my-nginx”是部署实例名,方便后续管理。若需自定义配置(如调整副本数、资源限制),可通过`--values`参数加载自定义Values.yaml文件:
helm install my-nginx stable/nginx-ingress --values my-values.yaml
全生命周期管理:升级与卸载
部署后可通过`helm list`查看所有实例状态;若需更新应用版本,使用`upgrade`命令:
helm upgrade my-nginx stable/nginx-ingress
若需移除不再使用的部署,执行卸载命令:
helm uninstall my-nginx
进阶案例:WordPress快速上线
以WordPress部署为例,首先添加Bitnami仓库(提供常用应用Chart):
helm repo add bitnami https://charts.bitnami.com/bitnami
更新仓库后,创建自定义Values.yaml文件设置数据库密码(关键配置):
mariadb:
auth:
password: "your-strong-password"
执行部署命令完成安装:
helm install my-wordpress bitnami/wordpress --values my-values.yaml
部署完成后,通过K8s服务暴露的外部IP(可通过`kubectl get svc`获取)即可访问WordPress管理后台。
在云服务器上使用Helm部署K8s应用,不仅降低了操作门槛,还通过标准化的Chart管理提升了部署效率和可维护性。从Nginx到WordPress,Helm让复杂的容器编排变得简单可控,是云服务器运维的实用工具。