- tocdepth
2
Развертывание Jira
В этом разделе рассмотрен пример развертывания Jira в Managed Kubernetes.
Перед началом работы
Создайте кластер и группу узлов.
Установите Kubernetes CLI (kubectl).
Скачайте и примените Kubeconfig.
Разработка спецификации приложения Jira
Создайте YAML-файл my-jira.yml
и сохраните спецификации следующих объектов Kubernetes:
Persistent Volume Claim
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jira-disk namespace: default labels: app: jira spec: storageClassName: csi-sbercloud-nd accessModes: - ReadWriteOnce resources: requests: storage: 10GiГде:
metadata.name
— название диска.
spec.storageClassName
— тип подключаемого диска.
spec.accessModes
— режим доступа к диску. В Managed Kubernetes возможно использование толькоReadWriteOnce
— диск может быть смонтирован для чтения и записи одним узлом.
spec.resources
— запрашиваемые ресурсы для диска.
spec.resources.requests.storage
— объем диска.
Load Balancer
apiVersion: v1 kind: Service metadata: name: jira-lb spec: selector: app: jira ports: - port: 8080 targetPort: 8080 type: LoadBalancerГде:
metadata.name
— название Load Balancer.
spec.selector.app
— название связующей метки. В нашем примере jira.
spec.ports.port
— порт, на котором работает сервис. Для развертывания Jira необходимо указать порт 8080.
spec.ports.targetPort
— порт, на который сервис будет отправлять запросы.
Контейнер Jira
apiVersion: apps/v1 kind: StatefulSet metadata: name: jira-demo namespace: default labels: app: jira spec: replicas: 1 serviceName: "jira" selector: matchLabels: app: jira template: metadata: creationTimestamp: null labels: app: jira spec: volumes: - name: jira-disk persistentVolumeClaim: claimName: jira-disk containers: - name: jira-0 image: atlassian/jira-software:8.15.0 env: - name: JIRA_VERSION value: 8.15.0 - name: JIRA_HOME value: /var/atlassian/application-data/jira - name: JIRA_INSTALL value: /opt/atlassian/jira - name: CATALINA_OPTS value: "-Dfile.encoding=UTF-8 -Xms1024m -Xmx3072m" volumeMounts: - name: jira-disk mountPath: /var/atlassian/application-data/jiraГде:
kind
— тип создаваемого объекта.
metadata
— данные для идентификации объекта.
metadata.name
— название объекта.
metadata.namespace
— пространство имен объекта.
metadata.labels
— связующая метка объекта с другими сервисами.
metadata.labels.app
— название метки.
spec
— спецификация объекта.
spec.replicas
— количество экземпляров подов, которые будут работать одновременно.
spec.serviceName
— название управляющей службы.
spec.template.spec
— cпецификация шаблона пода.
spec.template.spec.volumes
— диск, который необходимо предоставить для пода.
spec.template.spec.containers
— настройки контейнера.
spec.template.spec.containers.name
— название контейнера.
spec.template.spec.containers.image
— образ контейнера. Добавьте ссылку на нужный DockerHub, в примере — atlassian/jira-software версии 8.15.0.
env
— дополнительные параметры контейнера. Описание см. в документе Environment variables.
Настройка сетевых параметров приложения
Авторизуйтесь в консоли управления платформы Облако VMware.
Примечание
Данные для входа в личный кабинет предоставляет специалист Cloud.ru после заказа услуги Managed Kubernetes.
Нажмите Data Centers и в меню слева выберите Edges.
Выберите пограничный маршрутизатор Edge gateway.
Создайте правило для сети. Для этого выберите NAT и нажмите NEW.
Установите следующие обязательные параметры для правила в окне Add NAT Rule:
Name — название правила. В этом примере — Jira.
Description — краткое описание правила.
State — статус правила. Активируйте чекбокс.
Interface Type — установите тип DNAT.
External IP — внешний IP-адрес. В этом примере ― 37.18.107.135.
Internal IP — внутренний IP-адрес. В этом примере ― 100.128.240.121.
External Port — внешний порт. В этом примере ― 8080.
Нажмите Save.
См.также
Подробнее про сетевое взаимодействие.
Проверьте доступ развернутого приложения в интернет. В примере ссылка на приложение будет следующего вида — http://37.18.107.135:8080/secure/Dashboard.jspa.
для Dev & Test