k8s整合helm3

前言

k8s集群搭建参考:
https://blog.youkuaiyun.com/centrl/article/details/134291473

前期准备

和k8s版本对应关系:
https://helm.sh/docs/topics/version_skew/
下载对应版本

wget https://get.helm.sh/helm-v3.11.3-linux-amd64.tar.gz

安装

解压

tar -zxvf helm-v3.11.3-linux-amd64.tar.gz

安装可执行文件

sudo mv linux-amd64/helm /usr/local/bin/helm

验证安装

helm version --short

功能测试

# 查看已安装
helm list
# 查看本地仓库
helm repo list
# 添加本地仓库并查看
helm repo add my-repo https://charts.bitnami.com/bitnami
helm repo list
# 搜索nginx
helm search repo nginx
# 安装nginx
helm install my-nginx --set service.type=NodePort --set service.ports.http=8181  my-repo/nginx
# helm查看安装
helm list 
# k8s查看安装
kubectl get pods
kubectl get svc
# 如果设置了代理,需要先移除代理
unset http_proxy
unset https_proxy
# 本机测试
curl http://${CLUSTER-IP}:8181

或在集群外的机器浏览器访问:
http://172.16.16.100:${NODE_PORT}/

最后删除应用

helm delete my-nginx
# helm、k8s查看
helm list
kubectl get all
Docker 镜像是容器化的基础组件,而 Kubernetes (k8s) 则是一个用于自动化部署、管理和扩展容器化应用程序的平台。HelmKubernetes 的包管理工具,它可以帮助用户更方便地安装和管理复杂的 k8s 应用。 为了让你创建的 Docker 镜像能够很好地与 HelmK8S 协同工作,你可以参考以下几个步骤: ### 创建合适的 Dockerfile 首先你需要确保你的应用被打包成一个合适形式的 Docker 镜像,并编写适当的 `Dockerfile` 来构建这个镜像。这包括但不限于选择正确的基础镜像、指定工作目录、拷贝必要的文件等操作。 例如,在 Python Web 应用场景下: ```dockerfile FROM python:3.9-slim-buster as base WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["python", "main.py"] ``` ### 准备好 YAML 文件描述服务 Kubernetes 使用一系列资源对象来配置集群的行为和服务运行的方式,因此我们需要准备对应的 YAML 文件去告诉 Kubernetes 怎么样启动我们的服务。一般而言,我们会涉及到 Deployment(负责 Pod 副本集), Service(提供网络访问入口),PersistentVolumeClaim(存储卷声明),ConfigMap 或 Secret (保存配置信息或敏感数据) 等类型的资源定义文件。 如下面是一个简单的 deployment.yaml 示例: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-app-deployment spec: replicas: 2 # 定义副本数 selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-container-name image: your-dockerhub-id/my-image:v0.1 # 引用之前制作好的 Docker Image ... ``` ### 打包并发布到 helm chart 中 接下来就可以把上述提到的所有东西整合Helm Chart 当中了。一个完整的 Helm Chart 包含了一个 `_charts` 目录以及一些默认生成出来的模板文件(`templates/`)和其他辅助脚本。 - 将前面我们已经写好了的服务资源配置 yaml 放入 templates 下面; - 修改 values.yaml 提供变量替换支持; - 更新 README.md 描述当前项目功能特性; 最后通过命令行将整个 Helm Chart 进行打包上传至私有仓库或者其他公开源码托管站点上分享给更多开发者们使用! 当以上所有准备工作完成后,你只需要通过简单的几条指令便可以轻松地将你的应用程序从本地测试环境迁移到生产环境中运行起来啦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值