1. 程式人生 > >K8s helm 建立自定義Chart

K8s helm 建立自定義Chart

# 刪除之前建立的 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: [email protected]
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