K8s helm 创建自定义Chart

时间:2023-03-08 22:02:01
# 删除之前创建的 chart
helm list
helm delete --purge redis1 # 创建自定义 chart myapp
cd ~/helm
helm create myapp cd myapp/ # 修改 Chart.yaml
cat Chart.yaml apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes myapp chart
name: myapp
version: 0.0.1
maintainer:
- name: klvchen
email: klvchen@126.com
url: http://www.klvchen.com # 修改 values.yaml
cat values.yaml # Default values for myapp.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates. replicaCount: 2 image:
repository: ikubernetes/myapp
tag: v1
pullPolicy: IfNotPresent service:
type: ClusterIP
port: 80
targetPort: 80 ingress:
enabled: false
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
path: /
hosts:
- chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local resources:
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi nodeSelector: {} tolerations: [] affinity: {} # 测试打包
cd ..
helm lint ./myapp
helm package myapp/ # 创建代理,注意这里需要在 myapp-0.0.1.tgz 同级上执行,这里会启动一个web服务,端口为 8879
helm serve # 新开一个终端,安装
helm install --name myapp1 local/myapp # 测试,访问 ClusterIP
curl 10.102.91.53
#运行结果,正常:
Hello MyApp | Version: v1 | <a href="hostname.html">Pod Name</a> # 查看 myapp1 的状态
helm status myapp1