# 删除之前创建的 charthelm listhelm delete --purge redis1# 创建自定义 chart myappcd ~/helmhelm create myappcd myapp/# 修改 Chart.yamlcat Chart.yamlapiVersion: v1appVersion: "1.0"description: A Helm chart for Kubernetes myapp chartname: myappversion: 0.0.1maintainer:- name: klvchen email: klvchen@126.com url: http://www.klvchen.com# 修改 values.yamlcat values.yaml # Default values for myapp.# This is a YAML-formatted file.# Declare variables to be passed into your templates.replicaCount: 2image: repository: ikubernetes/myapp tag: v1 pullPolicy: IfNotPresentservice: type: ClusterIP port: 80 targetPort: 80ingress: 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.localresources: # 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: 128MinodeSelector: {}tolerations: []affinity: {}# 测试打包cd ..helm lint ./myapphelm package myapp/# 创建代理,注意这里需要在 myapp-0.0.1.tgz 同级上执行,这里会启动一个web服务,端口为 8879helm serve# 新开一个终端,安装helm install --name myapp1 local/myapp# 测试,访问 ClusterIPcurl 10.102.91.53#运行结果,正常:Hello MyApp | Version: v1 | Pod Name# 查看 myapp1 的状态helm status myapp1