Files

794 lines
536 KiB
HTML
Raw Permalink Normal View History

2026-05-07 19:20:10 +05:00
<!DOCTYPE html>
<html dir="ltr" lang="ru" xml:lang="ru">
<head>
<title>SF25: 10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе) | sysahelper</title>
<link href="https://sysahelper.ru/pluginfile.php/1/theme_moove/favicon/1703880572/22212monkey_98814.ico" rel="shortcut icon"/>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<meta content="moodle, SF25: 10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе) | sysahelper" name="keywords"/>
<link href="https://sysahelper.ru/theme/yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.css" rel="stylesheet" type="text/css"/><script id="firstthemesheet" type="text/css">/** Required in order to fix style inclusion problems in IE with YUI **/</script><link href="https://sysahelper.ru/theme/styles.php/moove/1703880572_1/all" rel="stylesheet" type="text/css"/>
<script>
//<![CDATA[
var M = {}; M.yui = {};
M.pageloadstarttime = new Date();
M.cfg = {"wwwroot":"https:\/\/sysahelper.ru","homeurl":{},"sesskey":"I78ejZljGV","sessiontimeout":"28800","sessiontimeoutwarning":"1200","themerev":"1703880572","slasharguments":1,"theme":"moove","iconsystemmodule":"core\/icon_system_fontawesome","jsrev":"1703880200","admin":"admin","svgicons":true,"usertimezone":"\u0415\u0432\u0440\u043e\u043f\u0430\/\u041c\u043e\u0441\u043a\u0432\u0430","language":"ru","courseId":39,"courseContextId":936,"contextid":954,"contextInstanceId":588,"langrev":1703880200,"templaterev":"1703880200"};var yui1ConfigFn = function(me) {if(/-skin|reset|fonts|grids|base/.test(me.name)){me.type='css';me.path=me.path.replace(/\.js/,'.css');me.path=me.path.replace(/\/yui2-skin/,'/assets/skins/sam/yui2-skin')}};
var yui2ConfigFn = function(me) {var parts=me.name.replace(/^moodle-/,'').split('-'),component=parts.shift(),module=parts[0],min='-min';if(/-(skin|core)$/.test(me.name)){parts.pop();me.type='css';min=''}
if(module){var filename=parts.join('-');me.path=component+'/'+module+'/'+filename+min+'.'+me.type}else{me.path=component+'/'+component+'.'+me.type}};
YUI_config = {"debug":false,"base":"https:\/\/sysahelper.ru\/lib\/yuilib\/3.18.1\/","comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","combine":true,"filter":null,"insertBefore":"firstthemesheet","groups":{"yui2":{"base":"https:\/\/sysahelper.ru\/lib\/yuilib\/2in3\/2.9.0\/build\/","comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","combine":true,"ext":false,"root":"2in3\/2.9.0\/build\/","patterns":{"yui2-":{"group":"yui2","configFn":yui1ConfigFn}}},"moodle":{"name":"moodle","base":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?m\/1703880200\/","combine":true,"comboBase":"https:\/\/sysahelper.ru\/theme\/yui_combo.php?","ext":false,"root":"m\/1703880200\/","patterns":{"moodle-":{"group":"moodle","configFn":yui2ConfigFn}},"filter":null,"modules":{"moodle-core-blocks":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification"]},"moodle-core-actionmenu":{"requires":["base","event","node-event-simulate"]},"moodle-core-notification":{"requires":["moodle-core-notification-dialogue","moodle-core-notification-alert","moodle-core-notification-confirm","moodle-core-notification-exception","moodle-core-notification-ajaxexception"]},"moodle-core-notification-dialogue":{"requires":["base","node","panel","escape","event-key","dd-plugin","moodle-core-widget-focusafterclose","moodle-core-lockscroll"]},"moodle-core-notification-alert":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-confirm":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-exception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-notification-ajaxexception":{"requires":["moodle-core-notification-dialogue"]},"moodle-core-lockscroll":{"requires":["plugin","base-build"]},"moodle-core-event":{"requires":["event-custom"]},"moodle-core-chooserdialogue":{"requires":["base","panel","moodle-core-notification"]},"moodle-core-maintenancemodetimer":{"requires":["base","node"]},"moodle-core-handlebars":{"condition":{"trigger":"handlebars","when":"after"}},"moodle-core-formchangechecker":{"requires":["base","event-focus","moodle-core-event"]},"moodle-core-dragdrop":{"requires":["base","node","io","dom","dd","event-key","event-focus","moodle-core-notification"]},"moodle-core_availability-form":{"requires":["base","node","event","event-delegate","panel","moodle-core-notification-dialogue","json"]},"moodle-backup-backupselectall":{"requires":["node","event","node-event-simulate","anim"]},"moodle-course-util":{"requires":["node"],"use":["moodle-course-util-base"],"submodules":{"moodle-course-util-base":{},"moodle-course-util-section":{"requires":["node","moodle-course-util-base"]},"moodle-course-util-cm":{"requires":["node","moodle-course-util-base"]}}},"moodle-course-management":{"requires":["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]},"moodle-course-categoryexpander":{"requires":["node","event-key"]},"moodle-course-dragdrop":{"requires":["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification","moodle-course-coursebase","moodle-course-util"]},"moodle-form-dateselector":{"requires":["base","node","overlay","calendar"]},"moodle-form-shortforms":{"requires":["node","base","selector-css3","moodle-core-event"]},"moodle-question-searchform":{"requires":["base","node"]},"moodle-question-preview":{"requires":["base","dom","event-delegate","event-key","core_question_engine"]},"moodle-question-chooser":{"requires":["moodle-core-chooserdialogue"]},"moodle-availability_completion-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_date-form":{"requires":["base","node","event","io","moodle-core_availability-form"]},"moodle-availability_grade-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_group-form":{"requires":["base","node","event","moodle-core_availability-form"]},"moodle-availability_grouping-form":{"requires":["base","node","event"
M.yui.loader = {modules: {}};
//]]>
</script>
<link href="https://fonts.googleapis.com" rel="preconnect"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&amp;display=swap" rel="stylesheet"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
</head>
<body class="format-topics limitedwidth path-mod path-mod-page chrome dir-ltr lang-ru yui-skin-sam yui3-skin-sam sysahelper-ru pagelayout-incourse course-39 context-954 cmid-588 cm-type-page category-6 theme uses-drawers drawer-open-index" id="page-mod-page-view">
<div class="fixed-top" id="accessibilitybar">
<div class="container-fluid">
<div class="bars">
<div class="fontsize">
<span>Размер шрифта</span>
<ul>
<li><a class="btn btn-default" data-action="decrease" id="fontsize_dec" title="Уменьшить размер шрифта">A-</a></li>
<li><a class="btn btn-default" data-action="reset" id="fontsize_reset" title="Сбросить размер шрифта">A</a></li>
<li><a class="btn btn-default" data-action="increase" id="fontsize_inc" title="Увеличить размер шрифта">A+</a></li>
</ul>
</div>
<div class="sitecolor">
<span>Цвет сайта</span>
<ul>
<li><a class="btn btn-default" data-action="reset" id="sitecolor_color1" title="Сбросить цвет сайта">R</a></li>
<li><a class="btn btn-default" data-action="sitecolor-color-2" id="sitecolor_color2" title="Низкий контраст 1">A</a></li>
<li><a class="btn btn-default" data-action="sitecolor-color-3" id="sitecolor_color3" title="Низкий контраст 2">A</a></li>
<li><a class="btn btn-default" data-action="sitecolor-color-4" id="sitecolor_color4" title="Высокий контраст">A</a></li>
</ul>
</div>
</div>
</div>
</div>
<div aria-live="polite" class="toast-wrapper mx-auto py-0 fixed-top" role="status"></div>
<div class="d-print-block" id="page-wrapper">
<div>
<a class="sr-only sr-only-focusable" href="#maincontent">Перейти к основному содержанию</a>
</div><script src="https://sysahelper.ru/lib/javascript.php/1703880200/lib/polyfills/polyfill.js"></script>
<script src="https://sysahelper.ru/theme/yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js"></script><script src="https://sysahelper.ru/lib/javascript.php/1703880200/lib/javascript-static.js"></script>
<script>
//<![CDATA[
document.body.className += ' jsenabled';
//]]>
</script>
<nav aria-label="Навигация по сайту" class="navbar fixed-top navbar-light bg-white navbar-expand shadow">
<button class="navbar-toggler aabtn d-block d-md-none px-1 my-1 border-0" data-action="toggle" data-target="theme_moove-drawers-primary" data-toggler="drawers">
<span class="navbar-toggler-icon"></span>
<span class="sr-only">Боковая панель</span>
</button>
<a class="navbar-brand d-none d-md-flex align-items-center m-0 mr-4 p-0 aabtn" href="https://sysahelper.ru/">
<img alt="sysahelper" class="logo mr-1" src="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0NSA3OS4xNjM0OTksIDIwMTgvMDgvMTMtMTY6NDA6MjIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRkM2MUVGMjFDQTcxMUVBQjY4QUQ0ODQ0QTJCNzg3NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRkM2MUVGMzFDQTcxMUVBQjY4QUQ0ODQ0QTJCNzg3NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNGQzYxRUYwMUNBNzExRUFCNjhBRDQ4NDRBMkI3ODc3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNGQzYxRUYxMUNBNzExRUFCNjhBRDQ4NDRBMkI3ODc3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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
</a>
<div class="primary-navigation">
<nav class="moremenu navigation">
<ul class="nav more-nav navbar-nav" id="moremenu-69fc973cedcba-navbar-nav" role="menubar">
<li class="nav-item" data-forceintomoremenu="false" data-key="home" role="none">
<a class="nav-link" href="https://sysahelper.ru/" role="menuitem" tabindex="-1">
В начало
</a>
</li>
<li class="nav-item dropdown dropdownmoremenu d-none" data-region="morebutton" role="none">
<a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle nav-link" data-toggle="dropdown" href="#" id="moremenu-dropdown-69fc973cedcba" role="menuitem" tabindex="-1">
Дополнительно
</a>
<ul aria-labelledby="moremenu-dropdown-69fc973cedcba" class="dropdown-menu dropdown-menu-left" data-region="moredropdown" role="menu">
</ul>
</li>
</ul>
</nav>
</div>
<ul class="navbar-nav d-none d-md-flex my-1 px-1">
<!-- page_heading_menu -->
</ul>
<div class="navbar-nav ml-auto" id="usernavigation">
<div class="navbarcallbacks">
</div>
<div class="simplesearchform" id="searchinput-navbar-69fc973cef7a769fc973cee2f13">
<div class="collapse" id="searchform-navbar">
<form accept-charset="utf-8" action="https://sysahelper.ru/search/index.php" autocomplete="off" class="mform form-inline searchform-navbar" method="get">
<input name="context" type="hidden" value="954"/>
<div class="input-group">
<label for="searchinput-69fc973cef7a769fc973cee2f13">
<span class="sr-only">Найти</span>
</label>
<input aria-label="Найти" autocomplete="off" class="form-control withclear" data-region="input" id="searchinput-69fc973cef7a769fc973cee2f13" name="q" placeholder="Найти" type="text"/>
<a class="btn btn-close" data-action="closesearch" data-toggle="collapse" href="#searchform-navbar" role="button">
<i aria-hidden="true" class="icon fa fa-times fa-fw"></i>
<span class="sr-only">Закрыть</span>
</a>
<div class="input-group-append">
<button class="btn btn-submit" data-action="submit" type="submit">
<i aria-hidden="true" class="icon fa fa-search fa-fw"></i>
<span class="sr-only">Найти</span>
</button>
</div>
</div>
</form>
</div>
<a aria-controls="searchform-navbar" aria-expanded="false" class="btn btn-open rounded-0 nav-link" data-action="opensearch" data-toggle="collapse" href="#searchform-navbar" role="button" title="Изменить данные поисковой строки">
<i aria-hidden="true" class="icon fa fa-search fa-fw"></i>
<span class="sr-only">Изменить данные поисковой строки</span>
</a>
</div>
<div class="divider border-left h-75 align-self-center mx-1"></div>
<div class="langmenu">
<div class="dropdown show">
<a aria-controls="lang-action-menu" aria-haspopup="true" aria-label="Язык" class="btn dropdown-toggle" data-toggle="dropdown" href="#" id="lang-menu-toggle" role="button">
<i aria-hidden="true" class="icon fa fa-language fa-fw mr-1"></i>
<span class="langbutton">
Русский (ru)
</span>
<b class="caret"></b>
</a>
<div aria-labelledby="lang-menu-toggle" class="dropdown-menu dropdown-menu-right" id="lang-action-menu" role="menu">
<a aria-current="true" class="dropdown-item pl-5" href="#" role="menuitem">
Русский (ru)
</a>
<a class="dropdown-item pl-5" href="https://sysahelper.ru/mod/page/view.php?id=588&amp;lang=en" role="menuitem">
English (en)
</a>
</div>
</div>
</div>
<div class="divider border-left h-75 align-self-center mx-1"></div>
<div class="d-flex align-items-stretch usermenu-container" data-region="usermenu">
<div class="usermenu">
<span class="login pl-2">
Вы используете гостевой доступ
<div class="divider border-left h-75 align-self-center mx-2"></div>
<a href="https://sysahelper.ru/login/index.php">Вход</a>
</span>
</div>
</div>
</div>
</nav>
<div class="drawer drawer-left drawer-primary d-print-none not-initialized" data-close-on-resize="1" data-forceopen="0" data-preference="" data-region="fixed-drawer" data-state="show-drawer-primary" id="theme_moove-drawers-primary">
<div class="drawerheader">
<button class="btn drawertoggle icon-no-margin hidden" data-action="closedrawer" data-placement="right" data-target="theme_moove-drawers-primary" data-toggle="tooltip" data-toggler="drawers" title="Закрыть панель">
<i aria-hidden="true" class="icon fa fa-times fa-fw"></i>
</button>
<div class="drawerheadercontent hidden">
</div>
</div>
<div class="drawercontent drag-container" data-usertour="scroller">
<div class="list-group">
<a class="list-group-item list-group-item-action" href="https://sysahelper.ru/">
В начало
</a>
</div>
</div>
</div>
<div class="drawer drawer-left show d-print-none not-initialized" data-close-on-resize="0" data-forceopen="0" data-preference="drawer-open-index" data-region="fixed-drawer" data-state="show-drawer-left" id="theme_boost-drawers-courseindex">
<div class="drawerheader">
<button class="btn drawertoggle icon-no-margin hidden" data-action="closedrawer" data-placement="right" data-target="theme_boost-drawers-courseindex" data-toggle="tooltip" data-toggler="drawers" title="Закрыть оглавление курса">
<i aria-hidden="true" class="icon fa fa-times fa-fw"></i>
</button>
<div class="drawerheadercontent hidden">
</div>
</div>
<div class="drawercontent drag-container" data-usertour="scroller">
<nav class="courseindex" id="courseindex">
<div id="courseindex-content">
<div aria-hidden="true" data-region="loading-placeholder-content" id="course-index-placeholder">
<ul class="media-list">
<li class="media">
<div class="media-body col-md-6 p-0 d-flex align-items-center">
<div class="bg-pulse-grey rounded-circle mr-2"></div>
<div class="bg-pulse-grey w-100"></div>
</div>
</li>
<li class="media">
<div class="media-body col-md-6 p-0 d-flex align-items-center">
<div class="bg-pulse-grey rounded-circle mr-2"></div>
<div class="bg-pulse-grey w-100"></div>
</div>
</li>
<li class="media">
<div class="media-body col-md-6 p-0 d-flex align-items-center">
<div class="bg-pulse-grey rounded-circle mr-2"></div>
<div class="bg-pulse-grey w-100"></div>
</div>
</li>
<li class="media">
<div class="media-body col-md-6 p-0 d-flex align-items-center">
<div class="bg-pulse-grey rounded-circle mr-2"></div>
<div class="bg-pulse-grey w-100"></div>
</div>
</li>
</ul>
</div>
</div>
</nav>
</div>
</div>
<div class="drawers show-drawer-left drag-container" data-region="mainpage" data-usertour="scroller" id="page">
<header class="moove-container-fluid" id="page-header">
<div class="d-flex flex-wrap">
<div class="ml-auto d-flex">
</div>
<div id="course-header">
</div>
</div>
<div class="d-sm-flex align-items-center">
<div class="mr-auto">
<div class="page-context-header"><div class="page-header-image mr-2"><div class="content activityiconcontainer icon-size-6 modicon_page"><img alt="" aria-hidden="true" class="icon activityicon" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA3NC40IDc0LjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDc0LjQgNzQuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWlkIG1lZXQiPgo8Zz4KCTxwYXRoIGQ9Ik02Ni41LDE1LjFMNTIuNCwxYy0wLjctMC43LTEuNi0xLTIuNi0xSDEwLjNDOC4yLDAsNi42LDEuNiw2LjYsMy43bDAsMHY2N2MwLDIuMSwxLjYsMy43LDMuNywzLjdsMCwwSDY0CgkJYzIuMSwwLDMuNy0xLjYsMy43LTMuN2wwLDBWMTcuOEM2Ny41LDE2LjgsNjcuMiwxNS44LDY2LjUsMTUuMXogTTQ4LjQsNi43bDEyLjUsMTIuNUg0OC40VjYuN3ogTTExLjksNjkuMlY1aDMwLjl2MTUuNgoJCWMwLDIuMiwxLjcsMy44LDMuOCwzLjhoMTUuNnY0NC43TDExLjksNjkuMkwxMS45LDY5LjJ6Ii8+Cgk8cGF0aCBkPSJNNTQuMyw0M0gxOS43Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZzMS4yLDIuNiwyLjYsMi42aDM0LjZjMS40LDAsMi42LTEuMiwyLjYtMi42QzU3LDQ0LjIsNTUuOCw0Myw1NC4zLDQzeiIvPgoJPHBhdGggZD0iTTU0LjMsNTMuNUgxOS43Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZzMS4yLDIuNiwyLjYsMi42aDM0LjZjMS40LDAsMi42LTEuMiwyLjYtMi42UzU1LjgsNTMuNSw1NC4zLDUzLjV6Ii8+Cgk8cGF0aCBkPSJNMTkuOCwzNy44aDIwLjljMS40LDAsMi42LTEuMiwyLjYtMi42YzAtMS40LTEuMi0yLjYtMi42LTIuNkgxOS44Yy0xLjQsMC0yLjYsMS4yLTIuNiwyLjZTMTguNCwzNy44LDE5LjgsMzcuOHoiLz4KPC9nPgo8L3N2Zz4K"/></div></div><div class="page-header-headings"><h1 class="h2">10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе)</h1></div></div>
</div>
<div class="header-actions-container ml-auto" data-region="header-actions-container">
</div>
<div class="d-none d-md-block" id="page-navbar">
<nav aria-label="Панель навигации">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="https://sysahelper.ru/course/view.php?id=39#section-1" title="SEMIFINAL2025">SF25</a>
</li>
<li class="breadcrumb-item"><span>10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе)</span></li>
</ol>
</nav>
</div>
</div>
</header>
<div class="main-inner" id="topofscroll">
<div class="drawer-toggles d-flex">
<div class="drawer-toggler drawer-left-toggle open-nav d-print-none">
<button class="btn icon-no-margin" data-action="toggle" data-placement="right" data-target="theme_boost-drawers-courseindex" data-toggle="tooltip" data-toggler="drawers" title="Открыть оглавление курса">
<span class="sr-only">Открыть оглавление курса</span>
<i aria-hidden="true" class="icon fa fa-list fa-fw"></i>
</button>
</div>
</div>
<div class="d-print-block" id="page-content">
<div id="region-main-box">
<section aria-label="Содержимое" id="region-main">
<span class="notifications" id="user-notifications"></span>
<span id="maincontent"></span>
<div class="activity-header" data-for="page-activity-header">
<span class="sr-only">Требуемые условия завершения</span>
<div class="activity-information" data-activityname="10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе)" data-region="activity-information">
</div>
</div>
<div role="main"><div class="box py-3 generalbox center clearfix"><div class="no-overflow"><h3>Задание:</h3>
<p>Установить Ansible.</p>
<p>Подготовить Cloud-ADM для работы с Ansible.</p>
<h3>Основные моменты на что стоит обратить внимание перед написанием скрипта с использованием Ansible:</h3>
<p>Основные моменты (подготовка):</p>
<ul>
<li>Поскольку Топология L3 включает в себя статическую IP-адресацию, значит нет смысла напрягать Terraform для создания динамического инвентаря Ansible:
<ul>
<li>можно воспользоваться файлом <strong>/etc/hosts</strong> на инстансе <strong>Cloud-ADM</strong>, например:</li>
</ul>
</li>
</ul>
<p><img src="data:image/png;base64,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
<ul>
<li style="list-style-type: none;">
<ul>
<li>в дополнении можно воспользоваться файлом <strong>~/.ssh/config</strong> на инстансе <strong>Cloud-ADM</strong>, например:</li>
</ul>
</li>
</ul>
<p><img src="data:image/png;base64,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
<ul>
<li>В результате инвентарный файл может выглядеть следующим образом:</li>
</ul>
<pre class="language-markup"><code>all:
children:
ha:
hosts:
Cloud-HA01:
Cloud-HA02:
web:
hosts:
Cloud-WEB01:
Cloud-WEB02:
db:
hosts:
Cloud-DB01:
Cloud-DB02:</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>при указании параметров для подключения, например <strong>group_vars/all.yml</strong>, работоспособность:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>[altlinux@cloud-adm ansible]$ ansible -m ping all
Cloud-HA01 | SUCCESS =&gt; {
"changed": false,
"ping": "pong"
}
Cloud-HA02 | SUCCESS =&gt; {
"changed": false,
"ping": "pong"
}
Cloud-WEB02 | SUCCESS =&gt; {
"changed": false,
"ping": "pong"
}
Cloud-WEB01 | SUCCESS =&gt; {
"changed": false,
"ping": "pong"
}
Cloud-DB01 | SUCCESS =&gt; {
"changed": false,
"ping": "pong"
}
Cloud-DB02 | SUCCESS =&gt; {
"changed": false,
"ping": "pong"
}</code></pre>
<ul>
<li>Поскольку <strong>Cloud-ADM</strong> должен иметь корректное доверие к сертификатам для доступа по HTTPS, можно реализовать на нём CA
<ul>
<li>
<p dir="auto">выпустить необходимые сертификаты;</p>
</li>
<li>
<p dir="auto">используя <strong>ansible</strong> передать соответствующие сертификаты на соответствующие инстансы;</p>
</li>
</ul>
</li>
</ul>
<h3>Вариант реализации:</h3>
<h3>Cloud-ADM:</h3>
<ul>
<li>Установка ansible средствами pip:</li>
</ul>
<pre class="language-markup"><code>pip3 install ansible</code></pre>
<ul>
<li style="list-style-type: none;"> </li>
<li>Добавляем путь в переменную окружения <strong>PATH</strong>:</li>
</ul>
<pre class="language-markup"><code>export PATH=/home/altlinux/.local/bin:$PATH</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Проверяем работоспособность <strong>ansible</strong>:</li>
</ul>
</li>
</ul>
<p><img height="179" src="data:image/png;base64,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
<ul>
<li>Перейдём в директорию <strong>/home/altlinux/bin</strong>:</li>
</ul>
<pre class="language-markup"><code>cd /home/altlinux/bin</code></pre>
<ul>
<li>Создадим директорию <strong>ansible</strong> и перейдём в неё:</li>
</ul>
<pre class="language-markup"><code>mkdir ansible &amp;&amp; cd ansible</code></pre>
<ul>
<li>Создадим файл инвентаря '<strong>inventory.yml'</strong>:</li>
</ul>
<pre class="language-markup"><code>vim inventory.yml</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>поместим в него следующее содержимое:</li>
<li>объявив:
<ul>
<li>3 группы устройств: ha, web, db</li>
<li>по 2 устройства в каждой группе: 
<ul>
<li>ha: Cloud-HA01 и Cloud-HA02;</li>
<li>web: Cloud-WEB01 и Cloud-WEB02;</li>
<li>db: Cloud-DB01 и Cloud-DB02;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>all:
children:
ha:
hosts:
Cloud-HA01:
Cloud-HA02:
web:
hosts:
Cloud-WEB01:
Cloud-WEB02:
db:
hosts:
Cloud-DB01:
Cloud-DB02:</code></pre>
<ul>
<li>Создадим файл конфигурации для ansible '<strong>ansible.cfg</strong>':</li>
</ul>
<pre class="language-markup"><code>vim ansible.cfg</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>поместим в него следующее содержимое:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>[defaults]
inventory = ./inventory.yml
host_key_checking = False
callback_enabled = profile_tasks
callback_whitelist = profile_tasks
deprecation_warnings = False</code></pre>
<ul>
<li>Создадим директорию <strong>group_vars</strong> где будем создавать файлы с переменными для групп хостов:</li>
</ul>
<pre class="language-markup"><code>mkdir group_vars</code></pre>
<ul>
<li>Создадим файл '<strong>all.yml</strong>' в директории <strong>group_vars</strong>:</li>
</ul>
<pre class="language-markup"><code>vim group_vars/all.yml</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>и поместим следующее содержимое:
<ul>
<li>указав те переменных, которые будут одинаковыми для всех групп хостов;</li>
</ul>
</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>---
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_user: altlinux
ansible_ssh_private_key_file: ~/.ssh/id_rsa</code></pre>
<ul>
<li>Поскольку Топология L3 включает в себя статическую IP-адресацию, значит нет смысла напрягать Terraform для создания динамического инвентаря Ansible:
<ul>
<li>можно воспользоваться файлом <strong>/etc/hosts</strong> на инстансе <strong>Cloud-ADM</strong>, например:</li>
</ul>
</li>
</ul>
<p><img src="data:image/png;base64,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
<ul>
<li style="list-style-type: none;">
<ul>
<li>в дополнении можно воспользоваться файлом <strong>~/.ssh/config</strong> на инстансе <strong>Cloud-ADM</strong>, например:</li>
</ul>
</li>
</ul>
<p><img src="data:image/png;base64,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
<ul>
<li>Проверяем возможность <strong>ansible</strong> подключиться к инстансам описанным в инвентарном файле:</li>
</ul>
<pre class="language-markup"><code>ansible -m ping all</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Результат:</li>
</ul>
</li>
</ul>
<p><img src="data:image/png;base64,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
</section>
</div>
</div>
</div>
<div class="moove-container-fluid p-0 mb-4">
<div class="card activity-navigation mdl-bottom">
<div class="card-body">
<div class="row">
<div class="col-md-4"> <div id="prev-activity">
<div class="larrow">
<i class="icon-arrow-left"></i>
</div>
<div class="text">
<span class="nav-guide">
Предыдущий элемент курса
</span>
<a class="btn btn-link" href="https://sysahelper.ru/mod/page/view.php?id=587&amp;forceview=1" id="prev-activity-link">9) Реализация скрипта автоматизации (deploy-cloudinfra.sh)</a>
</div>
</div>
</div>
<div class="col-md-4"> <div class="mdl-align">
<div class="urlselect">
<form action="https://sysahelper.ru/course/jumpto.php" class="form-inline" id="url_select_f69fc973cee2f14" method="post">
<input name="sesskey" type="hidden" value="I78ejZljGV"/>
<label class="sr-only" for="jump-to-activity">
Перейти на...
</label>
<select class="custom-select urlselect" id="jump-to-activity" name="jump">
<option selected="" value="">Перейти на...</option>
<option value="/mod/folder/view.php?id=572&amp;forceview=1">Материалы</option>
<option value="/mod/folder/view.php?id=578&amp;forceview=1">WebApp</option>
<option value="/mod/page/view.php?id=579&amp;forceview=1">1) Подготовка машины Cloud-ADM (создание инстанса, доступ по SSH)</option>
<option value="/mod/page/view.php?id=580&amp;forceview=1">2) Подготовка машины Cloud-ADM (доступ по RDP)</option>
<option value="/mod/page/view.php?id=581&amp;forceview=1">3) Развёртывание облачной инфраструктуры (установка необходимых инструментов)</option>
<option value="/mod/page/view.php?id=582&amp;forceview=1">4) Развёртывание облачной инфраструктуры (cloudinit.conf)</option>
<option value="/mod/page/view.php?id=583&amp;forceview=1">5) Развёртывание облачной инфраструктуры (Разбираемся с сетями 'network.tf')</option>
<option value="/mod/page/view.php?id=584&amp;forceview=1">6) Развёртывание облачной инфраструктуры (Разбираемся с виртуальными машинами (инстансами) 'instance.tf')</option>
<option value="/mod/page/view.php?id=585&amp;forceview=1">7) Развёртывание облачной инфраструктуры (Разбираемся с балансировщиком нагрузки 'loadbalancer.tf')</option>
<option value="/mod/page/view.php?id=586&amp;forceview=1">8) Развёртывание облачной инфраструктуры (Разбираемся с плавающим IP 'floatingip.tf')</option>
<option value="/mod/page/view.php?id=587&amp;forceview=1">9) Реализация скрипта автоматизации (deploy-cloudinfra.sh)</option>
<option value="/mod/page/view.php?id=648&amp;forceview=1">11) Настройка веб-серверов (apache2_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=649&amp;forceview=1">12) Настройка серверов баз данных (postgresql_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=650&amp;forceview=1">13) Настройка HAProxy (haproxy_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=651&amp;forceview=1">14) Настройка Keepalived (keepalive_deploy_playbook.yml)</option>
<option value="/mod/page/view.php?id=652&amp;forceview=1">15) Реализация скрипта автоматизации (configure-cloudinfra.sh)</option>
<option value="/mod/page/view.php?id=653&amp;forceview=1">16) Удаление автоматически созданных ресурсов</option>
</select>
<noscript>
<input class="btn btn-secondary ml-1" type="submit" value="Применить"/>
</noscript>
</form>
</div>
</div>
</div>
<div class="col-md-4"> <div id="next-activity">
<div class="text">
<span class="nav-guide">
Следующий элемент курса
</span>
<a class="btn btn-link" href="https://sysahelper.ru/mod/page/view.php?id=648&amp;forceview=1" id="next-activity-link">11) Настройка веб-серверов (apache2_deploy_playbook.yml)</a>
</div>
<div class="rarrow">
<i class="icon-arrow-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer id="page-footer">
<div class="moove-container-fluid footer-columns">
<div class="row">
<div class="col-md-4 column-left">
<div class="contact">
<h3 class="footer-title">Обратная связь</h3>
<ul>
</ul>
</div>
<div class="socialnetworks">
<h3 class="footer-title">Подпишитесь</h3>
<ul class="mb-0">
</ul>
</div>
</div>
<div class="col-md-4 column-center">
<div class="logininfo">Вы используете гостевой доступ (<a href="https://sysahelper.ru/login/index.php">Вход</a>)</div>
<div class="tool_dataprivacy"><a href="https://sysahelper.ru/admin/tool/dataprivacy/summary.php">Сводка хранения данных</a></div>
<div class="tool_usertours-resettourcontainer"></div>
</div>
<div class="col-md-4 column-right">
</div>
</div>
</div>
<div class="footer-content-debugging footer-dark bg-dark text-light">
<div class="moove-container-fluid footer-dark-inner">
</div>
</div>
<div data-region="footer-container-popover">
<button aria-label="Показать нижний колонтитул" class="btn btn-icon bg-secondary icon-no-margin btn-footer-popover" data-action="footer-popover">
<i aria-hidden="true" class="icon fa fa-question fa-fw"></i>
</button>
</div>
<div class="footer-content-popover container" data-region="footer-content-popover">
<div class="footer-section p-3">
<div>На платформе <a href="https://moodle.com">Moodle</a></div>
</div>
</div>
<div class="copyright">
<div class="madeby">
<p>Тема оформления сайта разработана</p>
<a href="https://conecti.me">
<img alt="Conecti.me" src="data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjE0NiIgdmlld0JveD0iMCAwIDU3MiAxNDYiIHdpZHRoPSI1NzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJtMTg4LjA1NTk4IDEwMS40MzA4NGM1LjIzNTEyIDAgOS41OTc3Mi0xLjYyMzg1NjcgMTMuMDg3OC00Ljg3MTU3LjU4MTY4LS41ODE2OC44NzI1Mi0xLjIzNjA3Ljg3MjUyLTEuOTYzMTcgMC0uOTY5NDY2Ny0uNDYwNDk3LTEuODQxOTg2Ny0xLjM4MTQ5LTIuNjE3NTYtLjU4MTY4LS40MzYyNi0xLjIxMTgzMy0uNjU0MzktMS44OTA0Ni0uNjU0MzktLjg3MjUyIDAtMS43NjkyNzcuMzM5MzEzMy0yLjY5MDI3IDEuMDE3OTQtMi4wMzU4OCAxLjY5NjU2NjctNC43MDE5MTMgMi41NDQ4NS03Ljk5ODEgMi41NDQ4NS0yLjUyMDYxMyAwLTQuNzYyNTA1LS41ODE2OC02LjcyNTY3NS0xLjc0NTA0cy0zLjQ5MDA4LTIuNzc1MDk4My00LjU4MDczLTQuODM1MjE1LTEuNjM1OTc1LTQuMzk4OTU1LTEuNjM1OTc1LTcuMDE2NTE1YzAtNC4xMjAyMzMzIDEuMTYzMzYtNy40Mjg1MzgzIDMuNDkwMDgtOS45MjQ5MTVzNS4zNTYzMDMtMy43NDQ1NjUgOS4wODg3NS0zLjc0NDU2NWMxLjg0MTk4NyAwIDMuNDc3OTYyLjMwMjk1ODMgNC45MDc5MjUuOTA4ODc1czIuNzUwODYyIDEuNTYzMjY1IDMuOTYyNjk1IDIuODcyMDQ1Yy43NzU1NzMuODcyNTIgMS43MjA4MDMgMS4zMDg3OCAyLjgzNTY5IDEuMzA4NzguNjMwMTUzIDAgMS4xODc1OTctLjE2OTY1NjcgMS42NzIzMy0uNTA4OTcgMS4wNjY0MTMtLjcyNzEgMS41OTk2Mi0xLjYyMzg1NjcgMS41OTk2Mi0yLjY5MDI3IDAtLjcyNzEtLjI0MjM2Ny0xLjM1NzI1MzMtLjcyNzEtMS44OTA0Ni0zLjc4MDkyLTQuMzYyNi04LjUzMTMwNy02LjU0MzktMTQuMjUxMTYtNi41NDM5LTMuNzgwOTIgMC03LjE3NDA1My44NjA0MDE3LTEwLjE3OTQgMi41ODEyMDVzLTUuMzQ0MTg1IDQuMTIwMjMzMy03LjAxNjUxNSA3LjE5ODI5LTIuNTA4NDk1IDYuNTU2MDE4My0yLjUwODQ5NSAxMC40MzM4ODVjMCAzLjc4MDkyLjg2MDQwMiA3LjIxMDQwODMgMi41ODEyMDUgMTAuMjg4NDY1czQuMTA4MTE1IDUuNDg5NjA1IDcuMTYxOTM1IDcuMjM0NjQ1IDYuNDk1NDI3IDIuNjE3NTYgMTAuMzI0ODIgMi42MTc1NnptNDMuNjk4NzEgMGMzLjg3Nzg2NyAwIDcuMzMxNTkyLS44NjA0MDIgMTAuMzYxMTc1LTIuNTgxMjA1IDMuMDI5NTgzLTEuNzIwODAzMyA1LjM5MjY1OC00LjEwODExNSA3LjA4OTIyNS03LjE2MTkzNXMyLjU0NDg1LTYuNTE5NjYzMyAyLjU0NDg1LTEwLjM5NzUzYzAtMy45MjYzNC0uODYwNDAyLTcuNDE2NDItMi41ODEyMDUtMTAuNDcwMjRzLTQuMDk1OTk3LTUuNDQxMTMxNy03LjEyNTU4LTcuMTYxOTM1LTYuNDU5MDcyLTIuNTgxMjA1LTEwLjI4ODQ2NS0yLjU4MTIwNWMtMy44Nzc4NjcgMC03LjM0MzcxLjg2MDQwMTctMTAuMzk3NTMgMi41ODEyMDVzLTUuNDI5MDEzIDQuMTA4MTE1LTcuMTI1NTggNy4xNjE5MzUtMi41NDQ4NSA2LjU0MzktMi41NDQ4NSAxMC40NzAyNGMwIDMuODc3ODY2Ny44NDgyODMgNy4zNDM3MSAyLjU0NDg1IDEwLjM5NzUzczQuMDcxNzYgNS40NDExMzE3IDcuMTI1NTggNy4xNjE5MzVjMy4wNTM4MiAxLjcyMDgwMyA2LjUxOTY2MyAyLjU4MTIwNSAxMC4zOTc1MyAyLjU4MTIwNXptMC02LjU0MzljLTIuNDcyMTQgMC00LjY4OTc5NS0uNTgxNjgtNi42NTI5NjUtMS43NDUwNHMtMy41MDIxOTgtMi43NzUwOTgzLTQuNjE3MDg1LTQuODM1MjE1LTEuNjcyMzMtNC4zOTg5NTUtMS42NzIzMy03LjAxNjUxNS41NTc0NDMtNC45Njg1MTY3IDEuNjcyMzMtNy4wNTI4NyAyLjY1MzkxNS0zLjcwODIxIDQuNjE3MDg1LTQuODcxNTcgNC4xODA4MjUtMS43NDUwNCA2LjY1Mjk2NS0xLjc0NTA0IDQuNjg5Nzk1LjU4MTY4IDYuNjUyOTY1IDEuNzQ1MDQgMy40OTAwOCAyLjc4NzIxNjcgNC41ODA3MyA0Ljg3MTU3IDEuNjM1OTc1IDQuNDM1MzEgMS42MzU5NzUgNy4wNTI4Ny0uNTQ1MzI1IDQuOTU2Mzk4My0xLjYzNTk3NSA3LjAxNjUxNS0yLjYxNzU2IDMuNjcxODU1LTQuNTgwNzMgNC44MzUyMTUtNC4xODA4MjUgMS43NDUwNC02LjY1Mjk2NSAxLjc0NTA0em02NC42MzkxOSA2LjMyNTc3YzEuMDY2NDEzIDAgMS45NTEwNTItLjM1MTQzMiAyLjY1MzkxNS0xLjA1NDI5NS43MDI4NjMtLjcwMjg2MzMgMS4wNTQyOTUtMS41ODc1MDE3IDEuMDU0Mjk1LTIuNjUzOTE1di0xNy44ODY2NmMwLTMuOTI2MzQtLjc1MTMzNy03LjI4MzExODMtMi4yNTQwMS0xMC4wNzAzMzVzLTMuNTg3MDI3LTQuOTA3OTI1LTYuMjUzMDYtNi4zNjIxMjUtNS42NzEzOC0yLjE4MTMtOS4wMTYwNC0yLjE4MTNjLTIuNDIzNjY3IDAtNC43MDE5MTMuNDI0MTQxNy02LjgzNDc0IDEuMjcyNDI1cy0zLjk3NDgxMyAyLjA0Nzk5ODMtNS41MjU5NiAzLjU5OTE0NXYtLjc5OTgxYzAtMS4xMTQ4ODY3LS4zMzkzMTMtMi4wMTE2NDMzLTEuMDE3OTQtMi42OTAyN3MtMS41NzUzODMtMS4wMTc5NC0yLjY5MDI3LTEuMDE3OTRjLTEuMDY2NDEzIDAtMS45NTEwNTIuMzM5MzEzMy0yLjY1MzkxNSAxLjAxNzk0cy0xLjA1NDI5NSAxLjU3NTM4MzMtMS4wNTQyOTUgMi42OTAyN3YzMi40Mjg2NmMwIDEuMDY2NDEzMy4zNTE0MzIgMS45NTEwNTE3IDEuMDU0Mjk1IDIuNjUzOTE1LjcwMjg2My43MDI4NjMgMS41ODc1MDIgMS4wNTQyOTUgMi42NTM5MTUgMS4wNTQyOTUgMS4xMTQ4ODcgMCAyLjAxMTY0My0uMzUxNDMyIDIuNjkwMjctMS4wNTQyOTUuNjc4NjI3LS43MDI4NjMzIDEuMDE3OTQtMS41ODc1MDE3IDEuMDE3OTQtMi42NTM5MTV2LTIwLjUwNDIyYzAtMS43NDUwNC40NzI2MTUtMy4zMjA0MjMzIDEuNDE3ODQ1LTQuNzI2MTVzMi4yNTQwMS0yLjUyMDYxMzMgMy45MjYzNC0zLjM0NDY2IDMuNTI2NDM1LTEuMjM2MDcgNS41NjIzMTUtMS4yMzYwN2MzLjQ5MDA4IDAgNi4yODk0MTUgMS4wMDU4MjE3IDguMzk4MDA1IDMuMDE3NDY1czMuMTYyODg1IDQuOTgwNjM1IDMuMTYyODg1IDguOTA2OTc1djE3Ljg4NjY2Yz
</a>
</div>
</div>
</footer>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(96198090, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true
});
</script>
<noscript><div><img alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" style="position:absolute; left:-9999px;"/></div></noscript>
<!-- /Yandex.Metrika counter --><script>
//<![CDATA[
var require = {
baseUrl : 'https://sysahelper.ru/lib/requirejs.php/1703880200/',
// We only support AMD modules with an explicit define() statement.
enforceDefine: true,
skipDataMain: true,
waitSeconds : 0,
paths: {
jquery: 'https://sysahelper.ru/lib/javascript.php/1703880200/lib/jquery/jquery-3.7.1.min',
jqueryui: 'https://sysahelper.ru/lib/javascript.php/1703880200/lib/jquery/ui-1.13.2/jquery-ui.min',
jqueryprivate: 'https://sysahelper.ru/lib/javascript.php/1703880200/lib/requirejs/jquery-private'
},
// Custom jquery config map.
map: {
// '*' means all modules will get 'jqueryprivate'
// for their 'jquery' dependency.
'*': { jquery: 'jqueryprivate' },
// Stub module for 'process'. This is a workaround for a bug in MathJax (see MDL-60458).
'*': { process: 'core/first' },
// 'jquery-private' wants the real jQuery module
// though. If this line was not here, there would
// be an unresolvable cyclic dependency.
jqueryprivate: { jquery: 'jquery' }
}
};
//]]>
</script>
<script src="https://sysahelper.ru/lib/javascript.php/1703880200/lib/requirejs/require.min.js"></script>
<script>
//<![CDATA[
M.util.js_pending("core/first");
require(['core/first'], function() {
require(['core/prefetch'])
;
M.util.js_pending('filter_mathjaxloader/loader'); require(['filter_mathjaxloader/loader'], function(amd) {amd.configure({"mathjaxconfig":"\nMathJax.Hub.Config({\n config: [\"Accessible.js\", \"Safe.js\"],\n errorSettings: { message: [\"!\"] },\n skipStartupTypeset: true,\n messageStyle: \"none\"\n});\n","lang":"ru"}); M.util.js_complete('filter_mathjaxloader/loader');});;
require(["media_videojs/loader"], function(loader) {
loader.setUp('ru');
});;
M.util.js_pending('core_courseformat/courseeditor'); require(['core_courseformat/courseeditor'], function(amd) {amd.setViewFormat("39", {"editing":false,"supportscomponents":true,"statekey":"1763961859_1778160112","overriddenStrings":[{"component":"format_topics","key":"sectionavailability_title"},{"component":"format_topics","key":"sectiondelete_title"},{"component":"format_topics","key":"sectionsdelete_title"},{"component":"format_topics","key":"sectionsdelete_info"},{"component":"format_topics","key":"sectionmove_title"},{"component":"format_topics","key":"sectionsavailability_title"},{"component":"format_topics","key":"sectionsmove_title"},{"component":"format_topics","key":"sectionsmove_info"},{"component":"format_topics","key":"selectsection"}]}); M.util.js_complete('core_courseformat/courseeditor');});;
require(['core_courseformat/local/courseindex/placeholder'], function(component) {
component.init('course-index-placeholder');
});
;
require(['core_courseformat/local/courseindex/drawer'], function(component) {
component.init('courseindex');
});
;
M.util.js_pending('core_courseformat/local/content/activity_header'); require(['core_courseformat/local/content/activity_header'], function(amd) {amd.init(); M.util.js_complete('core_courseformat/local/content/activity_header');});;
require(['theme_moove/accessibilitybar'], function(AccessibilityBar) {
AccessibilityBar.init();
});
;
require(['core/moremenu'], function(moremenu) {
moremenu(document.querySelector('#moremenu-69fc973cedcba-navbar-nav'));
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc973cef2f169fc973cee2f12";
var container = $('#searchinput-navbar-' + uniqid);
var opensearch = container.find('[data-action="opensearch"]');
var input = container.find('[data-region="input"]');
var submit = container.find('[data-action="submit"]');
submit.on('click', function(e) {
if (input.val() === '') {
e.preventDefault();
}
});
container.on('hidden.bs.collapse', function() {
opensearch.removeClass('d-none');
input.val('');
});
container.on('show.bs.collapse', function() {
opensearch.addClass('d-none');
});
container.on('shown.bs.collapse', function() {
input.focus();
});
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc973cef7a769fc973cee2f13";
var container = $('#searchinput-navbar-' + uniqid);
var opensearch = container.find('[data-action="opensearch"]');
var input = container.find('[data-region="input"]');
var submit = container.find('[data-action="submit"]');
submit.on('click', function(e) {
if (input.val() === '') {
e.preventDefault();
}
});
container.on('hidden.bs.collapse', function() {
opensearch.removeClass('d-none');
input.val('');
});
container.on('show.bs.collapse', function() {
opensearch.addClass('d-none');
});
container.on('shown.bs.collapse', function() {
input.focus();
});
});
;
require(['core/usermenu', 'theme_moove/accessibilitysettings'], function(UserMenu, AccessibilitySettings) {
UserMenu.init();
AccessibilitySettings.init();
});
;
require(['theme_boost/drawers']);
;
require(['theme_boost/drawers']);
;
require(['jquery', 'core/custom_interaction_events'], function($, CustomEvents) {
CustomEvents.define('#jump-to-activity', [CustomEvents.events.accessibleChange]);
$('#jump-to-activity').on(CustomEvents.events.accessibleChange, function() {
if ($(this).val()) {
$('#url_select_f69fc973cee2f14').submit();
}
});
});
;
require(['theme_boost/footer-popover'], function(FooterPopover) {
FooterPopover.init();
});
;
M.util.js_pending('theme_boost/loader');
require(['theme_boost/loader', 'theme_boost/drawer'], function(Loader, Drawer) {
Drawer.init();
M.util.js_complete('theme_boost/loader');
});
;
M.util.js_pending('core/notification'); require(['core/notification'], function(amd) {amd.init(954, []); M.util.js_complete('core/notification');});;
M.util.js_pending('core/log'); require(['core/log'], function(amd) {amd.setConfig({"level":"warn"}); M.util.js_complete('core/log');});;
M.util.js_pending('core/page_global'); require(['core/page_global'], function(amd) {amd.init(); M.util.js_complete('core/page_global');});;
M.util.js_pending('core/utility'); require(['core/utility'], function(amd) {M.util.js_complete('core/utility');});
M.util.js_complete("core/first");
});
//]]>
</script>
<script src="https://cdn.jsdelivr.net/npm/mathjax@2.7.9/MathJax.js?delayStartupUntil=configured"></script>
<script>
//<![CDATA[
M.str = {"moodle":{"lastmodified":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435","error":"\u041e\u0448\u0438\u0431\u043a\u0430","info":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f","yes":"\u0414\u0430","no":"\u041d\u0435\u0442","cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","confirm":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c","areyousure":"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b?","closebuttontitle":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","unknownerror":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430","file":"\u0424\u0430\u0439\u043b","url":"URL","collapseall":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0451","expandall":"\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0451"},"repository":{"type":"\u0422\u0438\u043f","size":"\u0420\u0430\u0437\u043c\u0435\u0440","invalidjson":"\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 JSON","nofilesattached":"\u041d\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d \u043d\u0438 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b","filepicker":"\u0412\u044b\u0431\u043e\u0440 \u0444\u0430\u0439\u043b\u0430","logout":"\u0412\u044b\u0445\u043e\u0434","nofilesavailable":"\u041d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430","norepositoriesavailable":"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u0412\u0430\u0448\u0438\u0445 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0432 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.","fileexistsdialogheader":"\u0424\u0430\u0439\u043b \u0441\u043e\u0437\u0434\u0430\u043d","fileexistsdialog_editor":"\u0424\u0430\u0439\u043b \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0431\u044b\u043b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d \u043a \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443","fileexistsdialog_filemanager":"\u0424\u0430\u0439\u043b \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0431\u044b\u043b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d","renameto":"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u0432 \u00ab{$a}\u00bb","referencesexist":"\u041d\u0430 \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0435\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438: {$a}","select":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c"},"admin":{"confirmdeletecomments":"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438?","confirmation":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435"},"debug":{"debuginfo":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0442\u043b\u0430\u0434\u043a\u0435","line":"\u0421\u0442\u0440\u043e\u043a\u0430","stacktrace":"\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0442\u0435\u043a\u0430"},"langconfig":{"labelsep":":"}};
//]]>
</script>
<script>
//<![CDATA[
(function() {M.util.help_popups.setup(Y);
M.util.js_pending('random69fc973cee2f15'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random69fc973cee2f15'); });
})();
//]]>
</script>
</div>
</div>
</body></html>