TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
Лекции по разработке

23 Jul, 23:10

Open in Telegram Share Report

Подробнее о Helm

В продолжение последнего поста решил подробнее рассказать, что есть Helm, почему это пакетный менеджер.
Helm — помощник kubernetes.
Когда мы работаем с kubernetes, то нам приходится конфигурировать то, как у нас кластер будет развёрнут.
Кластер, ещё раз — это набор узлов. Рабочий узел — набор подов. Под — запущенный контейнер. Контейнер — запущенное приложение.
И вот таких конфигураций много, и каждую нужно вызывать отдельно через команду kubectl (kube-control).
Для того, чтобы это всё не делать, умные люди придумали Helm.
Есть некий чарт — пакет, который содержит шаблоны и значения, которые нужно подставить в эти шаблоны.
И далее, через команду helm install, этот пакет запускается и разворачивается в кубер с нужными конфигурациями.
Для обновления конфигураций, если изменились какие-то значения, нужно использовать команду helm upgrade.

Пример конфигурационных файлов Helm:

Структура:
my-app/
├── Chart.yaml
├── values.yaml
└── templates/
├── deployment.yaml
└── service.yaml

Chart.yaml — паспорт чарта:
apiVersion: v2
name: my-app
version: 1.0.0
appVersion: "2.4.1"
values.yaml — конфигурация:
replicas: 3
image:
repository: nginx
tag: "1.25"
port: 80
templates/deployment.yaml — шаблон:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ` `.`Release`.`Name ` — тянется из параметра команды helm install
spec:
replicas: ` `.`Values`.`replicas `
selector:
matchLabels:
app: ` `.`Release`.`Name `
template:
metadata:
labels:
app: ` `.`Release`.`Name `
spec:
containers:
- name: app
image: ` `.`Values`.`image`.`repository `:` `.`Values`.`image`.`tag `
ports:
- containerPort: ` `.`Values`.`port `
templates/service.yaml:
apiVersion: v1
kind: Service
metadata:
name: ` `.`Release`.`Name `
spec:
selector:
app: ` `.`Release`.`Name `
ports:
- port: ` `.`Values`.`port `
targetPort: ` `.`Values`.`port `
Запуск:
helm install my-app ./my-app/
Обновление:
helm upgrade my-app ./my-app/

#fullstack

90 0 0 3
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot