Добавлен: 22.11.2023
Просмотров: 23
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
В ходе производственной практики на предприятии были применены полученные ранее знания, умения и опыт, полученные в процессе обучения в Высшем учебном заведении. Эти знания и навыки оказались неоценимыми при выполнении задач и решении возникающих проблем.
Во-первых, подготовка в области информационных технологий и управления проектами позволила эффективно анализировать требования предприятия и разрабатывать соответствующие стратегии и планы действий. Были использованы методы и инструменты, изученные в рамках учебного процесса, для анализа бизнес-процессов, определения потребностей пользователей и оптимизации процессов внедрения и поддержки ИТ-решений.
Во-вторых, успешно применялись знания о построении ИТ-инфраструктуры, включая сетевое оборудование, серверы, хранилища данных и системы безопасности. Были проанализированы требования к инфраструктуре, разработаны соответствующие решения, а также участвовали в их развертывании и настройке. Опыт в выборе и интеграции различных технологий позволил создать эффективную и надежную ИТ-инфраструктуру, отвечающую потребностям предприятия.
В-третьих, использовались навыки в управлении проектами для организации работ, установления сроков, распределения ресурсов и контроля выполнения задач. Были разработаны планы проектов, управляли командами и обеспечивали эффективное взаимодействие между различными стейкхолдерами. Опыт в управлении проектами помог достичь поставленных целей в рамках практики и обеспечить своевременное выполнение задач.
4 ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
Индивидуальное задание на предприятие было в следующем виде:
Построение ИТ инфраструктуры подсистемы хранилища данных.
4.1 Настройка Kubernetes, mangoDB, Express, Docker
Для начало создаем файл mongo-configmap.yaml. Это манифест Kubernetes для создания ConfigMap, который используется для хранения конфигурационных файлов для MongoDB
Рисунок 3- хранения конфигурационных файлов для MongoDB
В данном манифесте мы создаем ConfigMap, который содержит файл mongod.conf, в котором находятся настройки для MongoDB. Затем мы монтируем этот файл в контейнеры MongoDB, чтобы они могли использовать эти настройки при запуске.
Дальше создаем файл mongo-express.yaml. Это манифест Kubernetes для создания деплоймента и сервиса для ненавязчивого пользовательского интерфейса Mongo-Express(Приложение А). В данном манифесте мы создаем деплоймент и сервис для контейнера Mongo-Express, который предоставляет удобный веб-интерфейс для управления базой данных MongoDB. Деплоймент определяет, какой контейнер будет запущен и какое количество реплик будет создано. Сервис позволяет обращаться к контейнеру по имени и порту.
Необходимо создать еще mangodb.yalm. Это манифест Kubernetes для создания деплоймента и сервиса для контейнера MongoDB(Приложение Б)
Далее нам нужен mango-secret.yml. Это манифест Kubernetes для создания секрета, который используется для хранения конфиденциальной информации, такой как учетные данные для базы данных MongoDB.
Рисунок 4- Хранения конфиденциальной информации пользователя
В данном манифесте мы создаем секрет, который содержит учетные данные для подключения к MongoDB. Этот секрет используется в манифесте деплоймента для передачи этих данных контейнеру MongoDB.
5. Тестирование
Запускаем сервис Mongo Express в браузере по умолчанию на локальном компьютере.
Рисунок 3- запуск mangodb express
Далее переходим в браузер и проверяем результат.
Рисунок 4 – Результат работ
ЗАКЛЮЧЕНИЕ
В результате мы успешно развернули MongoDB и настроили доступ к ненавязчивому пользовательскому интерфейсу Mongo-Express в Kubernetes.
Мы создали манифесты для различных компонентов, таких как деплойменты, сервисы, ConfigMap и Secret, и использовали их для настройки и запуска контейнеров MongoDB и Mongo-Express.
Теперь мы можем легко масштабировать нашу базу данных MongoDB и управлять ей с помощью удобного веб-интерфейса Mongo-Express, используя Kubernetes в качестве оркестратора контейнеров.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Руководство по Docker Compose для начинающих [Электронный ресурс] // Все ста. под. / Ха. : [офиц. сайт] / Все статьи подряд / Хабр . – Москва, [2003?]. – Электрон. дан. – Режим доступа: https://habr.com/ru/companies/ruvds/articles/450312/ (дата обращения : 30.04.2023). – Загл. с экрана.
ПРИЛОЖЕНИЕ А
apiVersion: apps/v1 | |
| kind: Deployment |
| metadata: |
| name: mongo-express-deployment |
| namespace: mongo-database |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| app: mongo-express |
| template: |
| metadata: |
| labels: |
| app: mongo-express |
| spec: |
| containers: |
| - name: mongo-express |
| image: mongo-express |
| |
| env: |
| - name: ME_CONFIG_MONGODB_ADMINUSERNAME |
| valueFrom: |
| secretKeyRef: |
| name: mongodb-secret |
| key: mongo-root-username |
| - name: ME_CONFIG_MONGODB_ADMINPASSWORD |
| valueFrom: |
| secretKeyRef: |
| name: mongodb-secret |
| key: mongo-root-password |
| - name: ME_CONFIG_MONGODB_SERVER |
| valueFrom: |
| configMapKeyRef: |
| name: mongodb-configmap |
| key: database_url |
| ports: |
| - name: mongo-express |
| containerPort: 8081 |
| --- |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| name: mongo-express-service |
| namespace: mongo-database |
| spec: |
| selector: |
| app: mongo-express |
| type: LoadBalancer |
| ports: |
| - name: mongo-express |
| port: 8081 |
| protocol: TCP |
| targetPort: 8081 |
| nodePort: 30000 |
ПРИЛОЖЕНИЕ Б
apiVersion: apps/v1 | |
| kind: Deployment |
| metadata: |
| name: mongodb-deployment |
| namespace: mongo-database |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| app: mongodb |
| template: |
| metadata: |
| labels: |
| app: mongodb |
| spec: |
| containers: |
| - image: mongo:latest |
| name: mongodb |
| |
| env: |
| - name: MONGO_INITDB_ROOT_USERNAME |
| valueFrom: |
| secretKeyRef: |
| name: mongodb-secret |
| key: mongo-root-username |
| - name: MONGO_INITDB_ROOT_PASSWORD |
| valueFrom: |
| secretKeyRef: |
| name: mongodb-secret |
| key: mongo-root-password |
| ports: |
| - name: mongo-database |
| containerPort: 27017 |
| |
| |
| --- |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| name: mongodb-service |
| namespace: mongo-database |
| spec: |
| ports: |
| - name: mongo-database |
| port: 27017 |
| protocol: TCP |
| targetPort: 27017 |
| selector: |
| app: mongodb |