+++
title = "Развертывание Harvest в Kubernetes"
description = "Руководство по развертыванию Harvest в Kubernetes"
keywords = ["harvest", "configuration", "documentation", "kubernetes"]
weight = 700
+++

## Развертывание Harvest в Kubernetes

На этой странице объясняется, как установить и запустить Harvest в Kubernetes (K8S). Он использует манифесты Kubernetes для настройки. Если вы предпочитаете Helm, обратитесь к [диаграммам сообщества Harvest Helm](https://github.com/harvest/helm-charts ). 

Если вас интересует Harvest Enterprise (не Harvest OS), перейдите к разделу [Развертывание Harvest Enterprise в Kubernetes](#deploy-harvest-enterprise-on-kubernetes).

### Создать манифест Harvest Кубернетеса
1. Создайте файл с именем `harvest.yaml`, затем вставьте содержимое ниже. 

``ямл
---
apiVersion: v1
вид:
метаданные PersistentVolumeClaim:
  название: графана-
спецификация пвх:
  Режимы доступа:
    -
Ресурсы ReadWriteOnce:
    запросы:
      хранение: 1 кг
---
apiVersion: приложения/v1
вид:
Метаданные развертывания:
  этикетки:
    приложение: harvest
название:
спецификация harvest:
  селектор:
    Соответствующие метки:
      приложение:
шаблон harvest:
    метаданные:
      этикетки:
        приложение:
спецификация harvest:
      Безопасностьконтекст:
        fsGroup: 472
        Дополнительные группы:
        - 0
контейнеров:
        - имя: графана
          изображение: графана/графана:7.5.2
          imagePullPolicy: если не присутствует
          порты:
            - Контейнерный порт: 3000
              имя: http-harvest
              протокол: TCP
          Проверка готовности:
            Порог сбоя: 3
            HttpGet HttpGet:
              путь: /robots.txt
              порт: 3000
              схема: HTTP
            Начальные задержки: 10 секунд
            периодСекунды: 30
            Порог успеха: 1
            Время ожидания в секундах: 2
          Проверка жизнеспособности:
            Порог сбоя: 3
            Начальные задержки секунд: 30
            периодСекунды: 10
            Порог успеха: 1
            TCPSocket:
              порт: 3000
            Время ожидания в секундах: 1            
          ресурсы:
            запросы:
              процессор: 250 м
              память: 750Mi
          Объемные установки:
            - Путь к горе: /var/lib/harvest
              имя: графана-pv
      тома:
        - имя: графана-pv
          Настойчивое требование объема:
            Название претензии: графана-пвх
---
apiVersion: v1
вид: Служебные
метаданные:
  имя: графана
спец:
  порты:
    - порт: 3000
      протокол: TCP
      Целевой порт: селектор http-графана
:
    приложение: harvest
sessionAffinity: Нет
тип: Балансировщик нагрузки
```


### Отправить манифест на сервер API Kubernetes

1. Выполните следующую команду: 
`kubectl apply -f harvest.yaml`

1. Проверьте, что это сработало, выполнив следующее:
`служба переадресации портов kubectl/harvest 3000:3000`

1. Перейдите к "localhost:3000` в вашем браузере. Вы должны увидеть страницу входа в Harvest. 

1. Используйте `admin" как для имени пользователя, так и для пароля для входа в систему.

## Развертывание Harvest Enterprise на Kubernetes
Процесс развертывания Harvest Enterprise почти идентичен описанному выше процессу, за исключением некоторых дополнительных шагов, необходимых для добавления в ваш файл лицензии. Они описаны в следующих разделах.

### Получить корпоративную лицензию Harvest
Для запуска Harvest Enterprise вам необходима действующая лицензия. [Свяжитесь с представителем Harvest Labs](https://harvest.com/contact?about=harvest-enterprise ) для получения лицензии. В этом разделе предполагается, что вы уже сделали это и у вас есть файл `license.jwt`. Ваша лицензия также должна быть связана с URL-адресом, который мы будем использовать позже в этом разделе. 

### Создать секрет лицензии
Создайте секрет Kubernetes из вашего файла лицензии, используя следующую команду:
``bash
kubectl создает секретную универсальную ge-лицензию --from-file=/path/to/your/license.jwt
```

### Создать корпоративную конфигурацию Harvest
Создайте конфигурационный файл Harvest с именем "harvest.ini`. Затем вставьте содержимое ниже. 
>** Примечание:** Вам нужно будет обновить поле `root_url` до URL-адреса, связанного с предоставленной вам лицензией. 
``ямл
[предприятие]
license_path = /etc/harvest/лицензия/лицензия.jwt
[сервер]
root_url =/ваш/лицензия/корень/url

```

### Создать конфигурационную карту для конфигурации предприятия Harvest
Создайте конфигурационную карту Kubernetes из вашего файла harvest.ini с помощью следующей команды:
``bash
kubectl создать конфигурационную карту ge-config --from-file=/path/to/your/config.ini
```
### Создать манифест Harvest Enterprise Kubernetes
Создайте файл `harvest.yaml`, затем вставьте содержимое ниже. Этот YAML идентичен тому, который используется для установки Harvest OS, за исключением дополнительных ссылок на Configmap, в котором содержится ваш конфигурационный файл Harvest, и Секрет, в котором есть ваша лицензия. 

``ямл
---
apiVersion: v1
вид:
метаданные PersistentVolumeClaim:
  имя: графана
спец:
  Режимы доступа:
    -
Ресурсы ReadWriteOnce:
    запросы:
      хранилище: 1gi
storageClassName: локальный путь
---
apiVersion: приложения/v1
вид:
Метаданные развертывания:
  этикетки:
    приложение: harvest
название:
спецификация harvest:
  селектор:
    Соответствующие метки:
      приложение: графана
  шаблон:
    метаданные:
      этикетки:
        приложение:
спецификация harvest:
      контейнеры:
        - изображение: графана/графана-предприятие:последнее
          imagePullPolicy: если не присутствует
          имя: графана
          порты:
            - Контейнерный порт: 3000
              имя: http-harvest
              протокол: TCP
          Проверка готовности:
            Порог сбоя: 3
            HttpGet HttpGet:
              путь: /robots.txt
              порт: 3000
              схема: HTTP
            Начальные задержки: 10 секунд
            периодСекунды: 30
            Порог успеха: 1
            Время ожидания в секундах: 2
          ресурсы:
            пределы:
              память: 4Gi-
запроса:
              процессор: 100 м
              память: 2 гб объемных
накопителей:
            - Путь к горе: /var/lib/harvest
              имя: графана
            - Путь к горе: /etc/harvest
              имя: ge-config
            - Путь к горе: /etc/harvest/лицензия
              название: ge-лицензия
      тома:
        - имя: графана
          Настойчивое требование объема:
            Имя претензии: графана
        - имя: ge-config
          Конфигурационная карта:
            имя: ge-config
        - название: ge-лицензия
          секрет:
            Секретное имя: ge-лицензия
---
apiVersion: v1
вид: Служебные
метаданные:
  имя: графана
спец:
  порты:
    - порт: 3000
      протокол: TCP
      Целевой порт: селектор http-графана
:
    приложение: harvest
sessionAffinity: Нет
тип: Балансировщик нагрузки
```
 
1. Отправьте манифест на сервер API Kubernetes
`kubectl apply -f harvest.yaml`

1. Проверьте, что это сработало, выполнив следующее:
`служба переадресации портов kubectl/harvest 3000:3000`

1. Перейдите к "localhost:3000` в вашем браузере. Вы должны увидеть страницу входа в Harvest. 

1. Используйте `admin" как для имени пользователя, так и для пароля для входа в систему.
Если это сработало, вы должны увидеть "Предприятие (лицензировано)" в нижней части страницы.