Files
SYSAHELPER/sysahelper/SEMIFINAL2025/downloaded_pages/page_582_embedded.html

731 lines
480 KiB
HTML
Raw Normal View History

2026-05-07 19:20:10 +05:00
<!DOCTYPE html>
<html dir="ltr" lang="ru" xml:lang="ru">
<head>
<title>SF25: 4) Развёртывание облачной инфраструктуры (cloudinit.conf) | 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: 4) Развёртывание облачной инфраструктуры (cloudinit.conf) | 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":948,"contextInstanceId":582,"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-948 cmid-582 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-69fc971b090e5-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-69fc971b090e5" role="menuitem" tabindex="-1">
Дополнительно
</a>
<ul aria-labelledby="moremenu-dropdown-69fc971b090e5" 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-69fc971b0b03069fc971b097673">
<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="948"/>
<div class="input-group">
<label for="searchinput-69fc971b0b03069fc971b097673">
<span class="sr-only">Найти</span>
</label>
<input aria-label="Найти" autocomplete="off" class="form-control withclear" data-region="input" id="searchinput-69fc971b0b03069fc971b097673" 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=582&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">4) Развёртывание облачной инфраструктуры (cloudinit.conf)</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>4) Развёртывание облачной инфраструктуры (cloudinit.conf)</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="4) Развёртывание облачной инфраструктуры (cloudinit.conf)" data-region="activity-information">
</div>
</div>
<div role="main"><div class="box py-3 generalbox center clearfix"><div class="no-overflow"><h3>Задание:</h3>
<p>i. В качестве рабочей директории используйте путь /home/altlinux/bin;</p>
<p>ii. Скрипт должен использовать файл конфигурации /home/altlinux/bin/cloudinit.conf для настройки подключения к облачному провайдеру;</p>
<p>iii. В файле cloudinit.conf допускается использование комментариев, поясняющих назначение параметров;</p>
<p>iv. При проверке задания, эксперты могут изменить настройки только в файле cloudinit.conf. Другие файлы редактироваться не будут.</p>
<h3>Вариант реализации:</h3>
<h3>Cloud-ADM:</h3>
<ul>
<li>Создадим файл конфигурации зеркала Terraform
<ul>
<li>Файл должен иметь имя <strong>.terraformrc</strong></li>
<li>Файл должен быть расположен в домашнем каталоге пользователя</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>vim ~/.terraformrc</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Помещаем в данный файл следущее содержимое:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>provider_installation {
network_mirror {
url = "<a class="_blanktarget" href="https://terraform-mirror.mcs.mail.ru">https://terraform-mirror.mcs.mail.ru</a>"
include = ["registry.terraform.io/*/*"]
}
direct {
exclude = ["registry.terraform.io/*/*"]
}
}</code></pre>
<ul>
<li>Из под пользователя <strong>altlinux</strong> создаём директорию <strong>bin</strong> в домашнем каталоге пользователя и переходим в неё:</li>
</ul>
<pre class="language-markup"><code>mkdir ~/bin &amp;&amp; cd ~/bin</code></pre>
<ul>
<li>Создадим файл <strong>cloudinit.conf</strong> в котором опишем необходимые переменные (будут использоваться как переменные окружения) для работы <strong>terraform</strong> и <strong>openstack-cli</strong>  с Кибер Инфраструктурой:</li>
</ul>
<pre class="language-markup"><code>vim cloudinit.conf</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>помещаем в данный файл следующее содержимое:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code># Terraform
export TF_VAR_OS_AUTH_URL=https://&lt;ДОМЕННОЕМЯ&gt;:5000/v3
export TF_VAR_OS_PROJECT_NAME=&lt;ИМЯ_ПРОЕКТА&gt;
export TF_VAR_OS_USERNAME=&lt;ИМЯ_ПОЛЬЗОВАТЕЛЯ&gt;
export TF_VAR_OS_PASSWORD='&lt;ПАРОЛЬОЛЬЗОВАТЕЛЯ&gt;'
# openstacl-cli
export OS_AUTH_URL=https://&lt;ДОМЕННОЕМЯ&gt;:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_TYPE=password
export OS_PROJECT_DOMAIN_NAME=&lt;ИМЯ_ДОМЕНА_В_КОНТЕКСТЕ_КИБЕРНФРАСТРУКРУТЫ&gt;
export OS_USER_DOMAIN_NAME=&lt;ИМЯ_ДОМЕНА_В_КОНТЕКСТЕ_КИБЕРНФРАСТРУКРУТЫ&gt;
export OS_PROJECT_NAME=&lt;ИМЯ_ПРОЕКТА&gt;
export OS_USERNAME=&lt;ИМЯ_ПОЛЬЗОВАТЕЛЯ&gt;
export OS_PASSWORD='&lt;ПАРОЛЬОЛЬЗОВАТЕЛЯ&gt;'</code></pre>
<ul>
<li>Применяем переменные окружения указанные в файле
<ul>
<li>Стоит учесть данное действие при конечном формирование финального скрипта <strong>deploy-cloudinfra.sh</strong> (будет рассмотрено далее)</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>source cloudinit.conf</code></pre>
<ul>
<li>Проверяем возможность взаимодействовать чере <strong>openstack-cli</strong> с Кибер Инфраструктура:
<ul>
<li>Например выведем список серверов (Виртуальных Машин) или сетей:</li>
</ul>
</li>
</ul>
<p><img height="210" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABTsAAAE5CAIAAADQr2MZAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4XuydB3gURRvHZ6+kF0IJvYTeu3SkKEUEAYGASAAp0gQkIEVQQJAiTeSjSBWkS5MiSgSkSktIICEhIQklkJBOerm7/eb2csnl7rakQuQ/D4/mdto7v3lndt5pywxd/Q+BAwEQAAEQAAEQAAEQAAEQAAEQAAEQeMMIKCyUFm+YSBAHBEAABEAABEAABEAABEAABEAABECAKCICbwMDCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACAgQkBOyjRAP7t8WQmQCQU28JMadTMgOQhQm0d/ABxJLVHDJGULWEvI9IfSPwnWFlTJNh4pHhRSVsOjq93NCJhUunf9aaormUw+c3T2h0etqXRbNJ+8+vmPca8v/v1afb0x55LVGbfvTg3Nnt4xwMf9eQO2/MfUFQUAABEAABEAABN5gAgYjqbl6w5va3l9LFllNyFRCRhLiyR/FnpCe5iw3KXFpqtGEPCZEw59+ofs4E/IVIYcIOU3IJkK6mRPebKYSS2Q27lv7MH/1K6yuloT0IqQ59280Ie0IUZZ4vox9o149G9qJzoCUpIJqkqPDnj6OSCzO1l2S+JRYWdUh+6a6Dhs58WfPTP4y5L/2/4ttgZ8TfEAABEAABEAABN5uArnX1sIIWcnZxol5oZJGSDghyYSU4onVjJAPuOkAUycal0Y5bBqtKJ9UJWQVIbcIWUhIPCFNuXVaB0J+l5aplBJJS+ltCZW/+v2FkGPcno45JpysuRqk2kh1kipzDULeJ2QaIbEmIUvUA6tmH437IOiex4OkEiW2oLCqoMPzpwuGgGfJJMCq0hJiwtOjklne9wLJf+3/F9tCyaxnSA0CIAACIAACIFD0BHJb7OmEBBbBanYLyWvURV9gkRyoBehOyEVCthLCcmEjuPkIar1fJyRKJHaxeuvEK4osCzHlols7pfVC/9H6okpr5FoRUosQuiWezhPRcwqbOfUrxEIZ51c8vy3qtWhswwQVT2bIBQTeYAJoC29w5UA0EAAB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
<ul>
<li>Создадим файл <strong>provider.tf</strong> в контексте директории <strong>/home/altlinux/bin</strong> и опишем параметры для подключения к провайдеру <strong>openstack</strong> для работы с Кибер Инфраструктура используя данного провайдера:</li>
</ul>
<pre class="language-markup"><code>vim provider.tf</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Помещаем в данный файл следущее содержимое:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>terraform {
required_providers {
openstack = {
source = "terraform-provider-openstack/openstack"
version = "2.1.0"
}
}
}
provider "openstack" {
auth_url = var.OS_AUTH_URL
tenant_name = var.OS_PROJECT_NAME
user_name = var.OS_USERNAME
password = var.OS_PASSWORD
insecure = true
}</code></pre>
<ul>
<li>Создадим файл <strong>variables.tf</strong> и опишем переменные для подключения к провайдеру <strong>openstack</strong>:
<ul>
<li>При таком подходе переменные будут браться из значений определённых в переменных окружения, которые в свою очередь были указаны в файле <strong>cloudinit.conf</strong>, т.к. по условиям задания эксперты могут только отредактировать его (например для запуска в другом проекте):</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>vim variables.tf</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Помещаем в данный файл следущее содержимое:</li>
</ul>
</li>
</ul>
<pre class="language-markup"><code>variable "OS_AUTH_URL" {
type = string
sensitive = true
}
variable "OS_PROJECT_NAME" {
type = string
sensitive = true
}
variable "OS_USERNAME" {
type = string
sensitive = true
}
variable "OS_PASSWORD" {
type = string
sensitive = true
}</code></pre>
<ul>
<li>Для наглядности и удобной работы в контексте директории <strong>/home/altlinux/bin</strong> создадим директорию <strong>terraform</strong> и переместим в неё все файлы связанные с развёртыванием инфраструктуры (<strong>*.tf</strong>):</li>
</ul>
<pre class="language-markup"><code>mkdir terraform</code></pre>
<pre class="language-markup"><code>mv *.tf terraform/</code></pre>
<ul>
<li>Инициализируем текущий каталог для работы с <strong>terraform</strong> и провайдером <strong>openstack</strong>:</li>
</ul>
<pre class="language-markup"><code>cd /home/altlinux/bin/terraform</code></pre>
<pre class="language-markup"><code>terraform init</code></pre>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Результат:</li>
</ul>
</li>
</ul>
<p><img height="846" 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=581&amp;forceview=1" id="prev-activity-link">3) Развёртывание облачной инфраструктуры (установка необходимых инструментов)</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_f69fc971b097674" 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=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=588&amp;forceview=1">10) Настройка облачной инфраструктуры (Основные моменты и подготовка к работе)</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=583&amp;forceview=1" id="next-activity-link">5) Развёртывание облачной инфраструктуры (Разбираемся с сетями 'network.tf')</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-69fc971b090e5-navbar-nav'));
});
;
require(
[
'jquery',
],
function(
$
) {
var uniqid = "69fc971b0ab0769fc971b097672";
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 = "69fc971b0b03069fc971b097673";
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_f69fc971b097674').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(948, []); 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('random69fc971b097675'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random69fc971b097675'); });
})();
//]]>
</script>
</div>
</div>
</body></html>