# 刪除以前建立的 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