whatisthis.txt 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. 1. Методолгия Devops и Agile. Их сходства и различия.
  2. DevOps объединяет две разрозненные команды (разработку и эксплуатацию), чтобы
  3. обеспечить быстрые выпуски программного обеспечения. Agile ориентирован на
  4. сотрудничество небольших команд друг с другом для быстрого реагирования на
  5. изменчивые потребности пользователей.
  6. Сходства и различия
  7. В Agile разработка завершается сразу после развертывания. В DevOps операции, которые
  8. происходят постоянно, например, мониторинг и модификации ПО;
  9. В Agile разные специалисты несут ответственность за разработку, тестирование и
  10. развертывание ПО. В DevOps за все эти процессы отвечают специально обученные
  11. инженеры;
  12. 2. Жизненный цикл Devops.
  13. • Непрерывное развитие;
  14. • Непрерывная интеграция;
  15. • Непрерывное тестирование;
  16. • Непрерывное развертывание;
  17. • Непрерывный мониторинг;
  18. • Постоянная обратная связь.
  19. 3. Интерфейс API. Типы API. REST API
  20. API — интерфейс прикладного программирования, набор четко
  21. сформулированных правил взаимодействия между различными программными модулями.
  22. Типы API
  23. Внутренние
  24. Партнерские
  25. Публичные
  26. REST API — это прикладной программный интерфейс (API), который использует HTTPзапросы для получения, извлечения, размещения и удаления данных.
  27. 4. Принципы REST API
  28. •единый интерфейс;
  29. • разграничение клиента и сервера;
  30. • нет сохранения состояния;
  31. • кэширование всегда разрешено;
  32. • многоуровневая система;
  33. • код предоставляется по запросу.
  34. 5. Протоколы HTTP и HTTPS.
  35. HTTP-Протокол передачи гипертекста по 80 порту
  36. HTTPS-Протокол передачи гипертекста с шифрованием, использует ssl сертификаты по
  37. 443 порту
  38. 6. SSL Сертификаты. Типы SSL сертификатов
  39. SSL сертификаты-криптографический протокол для безопасной связи
  40. Самоподписанные. Сертификат подписывается самим сервером.
  41. Подписанные доверенным центром сертификации
  42. 7. Docker. Компоненты модуля Docker.
  43. Docker — это платформа контейнеризации, применяемая для разработки, доставки и
  44. выполнения контейнеров.
  45. Клиент Docker— это приложение командной
  46. строки
  47. Сервер Docker — это управляющая программа
  48. Docker Hub— это реестр контейнеров Docker
  49. 8. Dockerfile. Инструкции Dockerfile
  50. Dockerfile — это текстовый файл с инструкциями, используемыми для сборки и запуска
  51. образа Docker.
  52. Инструкции Dockerfile
  53. FROM — задаёт базовый (родительский) образ.
  54. LABEL — описывает метаданные. Например — сведения о том, кто создал и поддерживает
  55. образ.
  56. ENV — устанавливает постоянные переменные среды.
  57. RUN — выполняет команду и создаёт слой образа. Используется для установки в
  58. контейнер пакетов.
  59. COPY — копирует в контейнер файлы и папки.
  60. ADD — копирует файлы и папки в контейнер, может распаковывать локальные .tar-файлы.
  61. 9. Git. Ключевые компоненты Git.
  62. Git — это быстрая, гибкая, высокомасштабируемая, бесплатная система управления
  63. версиями с открытым кодом.
  64. Каталог GIT: хранит базу данных объектов, в которой происходит клонирование в
  65. хранилище на другой удаленный компьютер.
  66. Рабочее дерево: файлы извлекаются из базы данных и помещаются на диск для внесения
  67. изменений.
  68. Промежуточная область: действует как индексная часть, которая направляет на
  69. следующий коммит.
  70. 10. Клонирование и разветвление.
  71. Разветвления репозитория подразумевает создание копии репозитория в учетной записи
  72. GitHub.
  73. Клонирование репозитория — создание копии репозитория и его журнала на локальном
  74. компьютере.
  75. 11. GitLab. Возможности GitLab
  76. GitLab — это инструмент для хранения и управления репозиториями
  77. Git.
  78. Он дает возможность выполнять совместную разработку силами нескольких команд,
  79. применять обновления кода и откатывать изменения, если это необходимо.
  80. 12. Основные команды Git.
  81. git status-выводит состояние рабочего дерева
  82. git add-вы указываете Git, что нужно начать
  83. отслеживание изменений в определенных файлах.
  84. git commit-сохранение результатов работы
  85. git log-просматриваем сведения о
  86. предыдущих фиксациях.
  87. 13. CI/CD. Этапы CI/CD
  88. CI/CD (Continuous Integration, Continuous Delivery — непрерывная интеграция и доставка)
  89. Непрерывное развертывание
  90. Этапы
  91. Сборка
  92. Ручное тестирование.
  93. Релиз
  94. Развертывание
  95. Поддержка и мониторинг.
  96. Планирование
  97. 14. Обновление служб (Последовательное, Сине-зелёное, ранний выпуск).
  98. В последовательном обновлении развертываются новые экземпляры службы, которые
  99. сразу же начинают получать запросы.
  100. При "сине-зеленом" развертывании новая версия развертывается параллельно с
  101. предыдущей версией.
  102. В раннем выпуске обновленная версия развертывается в небольшое количество клиентов.
  103. 15. Kubernetes. Архитектура Kubernetes
  104. Kubernetes — это переносимая расширяемая платформа с открытым кодом для
  105. управления и оркестрации контейнерных рабочих нагрузок.
  106. Задаются задачи-переходит в уровень управления-узел(место управления выполнения
  107. вычислительных рабочих нагрузок)-получаем результаты, так как было несколько узлов
  108. 16. Кластер Kubernetes
  109. Кластер-состоит из набора машин, так называемых узлы, которые запускают
  110. контейнеризированные приложения. Кластер имеет как минимум один рабочий узел.
  111. 17. Kubernetes. Уровень управления Kubernetes
  112. Kubernetes — это переносимая расширяемая платформа с открытым кодом для
  113. управления и оркестрации контейнерных рабочих нагрузок.
  114. уровень управления в кластере Kubernetes, запускает набор сервисов, управляющих
  115. функциональностью оркестрации в Kubernetes.
  116. 18. Службы работающие на уровне управления Kubernetes.
  117. Сервер API
  118. Резервное хранилище
  119. Планировщик
  120. Диспетчер контроллеров
  121. Диспетчер облачных контроллеров
  122. 19. Kubernetes. Узел Kubernetes.
  123. Kubernetes — это переносимая расширяемая платформа с открытым кодом для
  124. управления и оркестрации контейнерных рабочих нагрузок.
  125. узел(место управления выполнения вычислительных рабочих нагрузок)
  126. 20. Службы, выполняемые в узле Kubernetes.
  127. kubelet-это агент, который выполняется на каждом узле в кластере
  128. kube-proxy-отвечает за локальную сеть кластера и выполняется на каждом узле.
  129. Среда выполнения контейнера-это базовое программное обеспечение, которое выполняет
  130. контейнеры в кластере Kubernetes.
  131. 21. Модули POD Kubernetes. Жизненный цикл модуля POD
  132. Pod
  133. Контроллер
  134. Веб-сайт
  135. Сначала вы отправляете файл YAML с манифестом модуля pod в кластер.
  136. После отправки и сохранения файла манифеста в кластере он определяет желаемое
  137. состояние модуля pod.
  138. Планировщик планирует модуль pod на работоспособном узле, который имеет
  139. достаточное количество ресурсов для запуска модуля.
  140. 22. Варианты развёртывания модуей POD.
  141. • Шаблоны модулей pod
  142. • Контроллеры репликации
  143. • Наборы реплик
  144. • Развертывания
  145. 23. Службы Kubernetes. Хранилище Kubernetes.
  146. Служба — это объект Kubernetes, который обеспечивает стабильное
  147. сетевое подключение для модулей pod. Служба Kubernetes используется для обеспечения
  148. обмена данными между узлами.
  149. Время существования тома Kubernetes задается и соответствует времени существования
  150. модуля pod. Это сопоставление значений времени существования означает, что том будет
  151. существовать дольше, чем контейнеры, выполняющиеся в модуле pod. Если модуль pod
  152. удаляется, том также будет удален.
  153. 24. Основные сущности Kubernetes.
  154. Node (master и slave)
  155. Namespace
  156. Pod
  157. ReplicaSet
  158. Deployment
  159. StatefulSet
  160. DaemonSet
  161. Label и Selector
  162. Service
  163. 25. Интерфейс API. Основные категории API
  164. API — интерфейс прикладного программирования
  165. Категории API
  166. Для работы с документами.
  167. Для работы с графическими данными, видео или аудио.
  168. Для принятия данных с сервера.
  169. Для считывания данных с устройств.
  170. Для хранения информации у пользователя.
  171. 26. Способы вызова API.
  172. Напрямую-Это способ, при котором пользователь целенаправленно работает с API и ее
  173. функционалом.
  174. Косвенный-Каждый пользователь, открывая программу, работает с API.
  175. 27. Docker. Создание образов. Тег Образа
  176. Docker — это платформа контейнеризации, применяемая для разработки, доставки и
  177. выполнения контейнеров.
  178. Для создания образов Docker используется Unionfs. Unionfs — это файловая система,
  179. позволяющая объединять в стек несколько каталогов, называемых ветвями.
  180. Тег образа- указывается версия в нем.
  181. 28. Конфигурация сети для контейнера Docker.
  182. Конфигурация сети Docker по умолчанию обеспечивает изоляцию
  183. контейнеров в узле Docker.
  184. 3 предварительно настроенных сети:
  185. • Мост
  186. • Узел
  187. • нет
  188. 29. Git. Ключевые компоненты Git.
  189. Git — это быстрая, гибкая, высокомасштабируемая, бесплатная система управления
  190. версиями с открытым кодом.
  191. Каталог GIT: хранит базу данных объектов, в которой происходит клонирование в
  192. хранилище на другой удаленный компьютер.
  193. Рабочее дерево: файлы извлекаются из базы данных и помещаются на диск для внесения
  194. изменений.
  195. Промежуточная область: действует как индексная часть, которая направляет на
  196. следующий коммит.
  197. 30. Основные команды Git.
  198. git status- выводит
  199. состояние рабочего дерева
  200. git add- вы указываете Git, что нужно начать
  201. отслеживание изменений в определенных файлах.
  202. git commit-сохранение результатов работы
  203. git log-можно просматривать сведения о
  204. предыдущих фиксациях.
  205. 31. HTTP Методы. Клиент серверная инфраструктура.
  206. Методы HTTP состоят из запросов:
  207. GET;
  208. POST;
  209. PUT;
  210. DELETE.
  211. Модуль Docker состоит из нескольких компонентов, реализующих клиент-серверную
  212. архитектуру, при которой клиент и сервер работают на одном узле.
  213. 32. Функции управляемые с HTTP.
  214. Кеш
  215. Ослабление ограничений источника
  216. Аутентификация
  217. Прокси и туннелирование.
  218. Сессии