Kubernetes хореография артефакта Helm

Что такое Kubernetes Helm? Зачем использовать шлем?

предисловие

Kubernetes написать кучу конфигурационных файлов очень хлопотное дело. Для некоторых судов, мы , возможно , потребуется более 10 YAML файлов. Поддержание их проблема, и запустите файл , используя тот же или в другой среде , это кошмар.
Мы можем использовать некоторый Баш уловку , чтобы заменить какую - то ценность, но это плохая практика.
Именно поэтому мы хотим использовать штурвал.
Следует отметить , что есть еще один хороший инструмент ksonnet, по- своему, «то же самое» операция.
В этой статье я опишу , почему Хелм Kubernetes существенный элемент приложения, приложение будет Kubernetes Helm и процесс упаковки, а также как использовать некоторые сложные приложения развертывания Helm может иметь.

Зачем использовать пульт управления

Я недавно microService очень сложные развертывания, мой издатель файлы в каталоге имеет более чем 65 Kubernetes O файл конфигурация ... ( ^ ▽ ^ ) ┛).
Главный вопрос в том, как я кладу эту услугу для развертывания нескольких сред?
Или как использовать Kubernetes CI / CD?
Конечно, чтобы сделать некоторый сценарий оболочки является выбором, но я не люблю делать это.
Затем я начал использовать Kubernetes исследования CI / CD pipline, Helm найти некоторые команды интегрированы в процесс.

Мы можем понимать как пакет для применения в качестве приложения, как, что, где мы можем рассчитывать на управлении, различные виды крюка (предварительно установленные, предварительно обновить, установку и т.д.), и могут быть легко модернизированы или откат.

устанавливать

  • Выберите версию вы хотите установить https://github.com/helm/helm/releases
  • декомпрессия tar -zxvf helm-v3.0.0-linux-amd64.tar.gz
  • Распакуйте каталог, чтобы найти двоичный файл, переместить его в системных переменных, таких как каталог mv linux-amd64/helm /usr/local/bin/helm
[root@localhost helm-test]# helm init
Creating /root/.helm
Creating /root/.helm/repository
Creating /root/.helm/repository/cache
Creating /root/.helm/repository/local
Creating /root/.helm/plugins
Creating /root/.helm/starters
Creating /root/.helm/cache/archive
Creating /root/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /root/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
[root@localhost helm-test]#

стручки зрения kubernetes Кубэ-системы в пространстве имен

[root@localhost test-app]# kubectl get pods --namespace=kube-system
NAME                                            READY   STATUS             RESTARTS   AGE
coredns-58cc8c89f4-q7lgg                        1/1     Running            4          40d
coredns-58cc8c89f4-wdqqx                        1/1     Running            4          40d
etcd-localhost.localdomain                      1/1     Running            4          40d
kube-apiserver-localhost.localdomain            1/1     Running            4          40d
kube-controller-manager-localhost.localdomain   1/1     Running            4          40d
kube-proxy-gt72b                                1/1     Running            4          40d
kube-scheduler-localhost.localdomain            1/1     Running            4          40d
tiller-deploy-58f57c5787-t2b7w                  0/1     ImagePullBackOff   0          22m
weave-net-qdr2l                                 2/2     Running            8          40d
[root@localhost test-app]#

Найдет tiller-deploy-*начинается.

Создать образец

[root@localhost helm-test]# helm create test-app
Creating test-app
  • После создания структуры каталогов выглядит следующим образом
[root@localhost helm-test]# tree test-app/
test-app/
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml

3 directories, 9 files
[root@localhost helm-test]#
  • Chart.yaml: Это основной файл описания диаграммы
  • values.yaml: Это файл, который содержит значение по умолчанию Диаграммы
  • templates: Это определяется как шаблон каталог ресурсов Kubernetes
  • charts: Это необязательный каталог, он может содержать суб-граф
Key %%

Подобно тому , как мы уже видели, все шаблоны папок профилей Kubernetes являются шаблонами.
Вы можете использовать Chart.yamlфайл для описания текущего проекта, и он может быть версированным.
Нам просто нужен файл, который используется для настройки приложения, и values.yamlвсе значения сохраняются.

Run:

⚡ helm install --name test test-app/

Так наш первый демо-штурвал успеха реализации.

Кроме того , следующее сообщение об ошибке от имени стручка tiller-deploy-*не началась успешно:

Error: could not find a ready tiller pod

Для получения дополнительной информации обратитесь к официальной документации https://helm.sh/docs/

рекомендация

отwww.cnblogs.com/jasondayee/p/12091046.html