В этом документе описывается, как развернуть Harbor в Kubernetes.
docker load -i harbor.*.tgz
Мы предоставляем скрипт на Python make/kubernetes/prepare
для создания файлов ConfigMap Kubernetes.
Скрипт написан на языке Python, поэтому вам нужна версия Python в вашей среде развёртывания.
Также скрипту нужен openssl
для генерации закрытого ключа и сертификата, убедитесь, что у вас есть работающий openssl
.
У скрипта есть несколько аргументов:
../harbor.cfg
. Вы можете указать другой конфигурационный файл Harbor.ssl_cert_key
в harbor.cfg
.ssl_cert
в harbor.cfg
.Эти базовые конфигурации необходимо установить. В противном случае вы не сможете развернуть Harbor в Kubernetes.
make/harbor.cfg
: Базовая конфигурация Harbor. Обратитесь к harbor.cfg
.
make/kubernetes/**/*.rc.yaml
: Укажите конфигурацию контейнеров.
Вам нужно указать путь к вашим образам во всех *.rc.yaml
. Пример:
containers:
- name: nginx-app
# очень важно, чтобы вы изменили путь образа.
image: harbor/nginx
make/kubernetes/pv/*.pvc.yaml
: Запрос постоянного тома.
Вы можете установить ёмкость хранилища в этих файлах. Пример:
resources:
requests:
# вы можете установить другое значение, чтобы адаптировать его к своим потребностям
storage: 100Gi
make/kubernetes/pv/*.pv.yaml
: Постоянный том. Связан с *.pvc.yaml
.
PV и PVC соответствуют один к одному. Если вы измените ёмкость PVC, вам нужно установить ёмкость PV вместе.
Пример:
capacity:
# то же значение, что и у PVC
storage: 100Gi
В PV вы должны установить другой способ хранения данных, кроме hostPath
:
# это значение по умолчанию, вы должны использовать другие, такие как nfs.
hostPath:
path: /data/registry
Для получения дополнительной информации о способах хранения обратитесь к документации Kubernetes.
Затем вы можете создать файлы ConfigMap с помощью команды:
python make/kubernetes/prepare
Будут созданы следующие файлы:
Если базовая конфигурация не соответствует вашим требованиям, вы можете прочитать этот раздел для получения более подробной информации.
./prepare
имеет определённый формат заполнителя:
{{key}}
: Это означает, что мы должны заменить заполнитель значением в config.cfg
, которое называется key
.{{num key}}
: Используется для многострочного текста. Он добавит num
пробелов в начало каждой строки текста.Вы можете найти все конфигурации Harbor в make/kubernetes/templates/
. Есть спецификации этих файлов:
jobservice.cm.yaml
: ENV и веб-конфигурация jobservice
mysql.cm.yaml
: Пароль root MySQL
nginx.cm.yaml
: Сертификат https и конфигурация nginx. Если вы знакомы с nginx, вы можете изменить его.
registry.cm.yaml
: Сертификация службы токенов и конфигурация реестра
Реестр использует файловую систему для хранения данных образов. Вы можете найти её так:
storage:
filesystem:
rootdirectory: /storage
Если вы хотите использовать другой бэкенд хранилища, обратитесь к документу Docker. Запуск
Когда вы закончите настройку и сгенерируете файлы ConfigMap, вы можете запустить Harbor в Kubernetes с помощью следующих команд:
# создать pv & pvc
kubectl apply -f make/kubernetes/pv/log.pv.yaml
kubectl apply -f make/kubernetes/pv/registry.pv.yaml
kubectl apply -f make/kubernetes/pv/storage.pv.yaml
kubectl apply -f make/kubernetes/pv/log.pvc.yaml
kubectl apply -f make/kubernetes/pv/registry.pvc.yaml
kubectl apply -f make/kubernetes/pv/storage.pvc.yaml
# создать конфигурационную карту
kubectl apply -f make/kubernetes/jobservice/jobservice.cm.yaml
kubectl apply -f make/kubernetes/mysql/mysql.cm.yaml
kubectl apply -f make/kubernetes/nginx/nginx.cm.yaml
kubectl apply -f make/kubernetes/registry/registry.cm.yaml
kubectl apply -f make/kubernetes/ui/ui.cm.yaml
# создать сервис
kubectl apply -f make/kubernetes/jobservice/jobservice.svc.yaml
kubectl apply -f make/kubernetes/mysql/mysql.svc.yaml
kubectl apply -f make/kubernetes/nginx/nginx.svc.yaml
kubectl apply -f make/kubernetes/registry/registry.svc.yaml
kubectl apply -f make/kubernetes/ui/ui.svc.yaml
# создать k8s rc
kubectl apply -f make/kubernetes/registry/registry.rc.yaml
kubectl apply -f make/kubernetes/mysql/mysql.rc.yaml
kubectl apply -f make/kubernetes/jobservice/jobservice.rc.yaml
kubectl apply -f make/kubernetes/ui/ui.rc.yaml
kubectl apply -f make/kubernetes/nginx/nginx.rc.yaml
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )