Compare commits

..

69 Commits

Author SHA1 Message Date
Elena Rechkina c0345aaa97 Описание чата с моделями 2025-11-29 00:03:06 +06:00
Elena Rechkina f751a23e65 Концепции 2025-11-28 15:13:15 +06:00
Elena Rechkina 0756141fcc Описание чата с LLM 2025-11-28 15:10:03 +06:00
Elena Rechkina 60c4327897 Описание функции чата с моделями 2025-11-27 17:13:24 +06:00
Elena Rechkina ceb4c272c8 Доработка разделов управление сервисом, обзор сервиса 2025-11-24 16:36:01 +06:00
Левченко Людмила Алексеевна 9332950817 редактирование перехода в чат 2025-11-24 12:32:28 +03:00
Левченко Людмила Алексеевна c4f0202ea2 описание платформы 2025-11-20 15:10:38 +03:00
Elena Rechkina da7acee362 Добавление навигации 2025-11-20 11:59:44 +06:00
Левченко Людмила Алексеевна 1f7d7a5f08 Описание платформы 2025-11-17 14:25:49 +03:00
Левченко Людмила Алексеевна ac94d11c26 Описание разделов Чат и Платформа 2025-11-12 16:10:29 +03:00
Левченко Людмила Алексеевна 46ab890306 Внесение изменений в раздел Быстрый старт 2025-11-12 16:02:56 +03:00
Левченко Людмила Алексеевна 29d9e6e697 Внесение изменений в раздел Быстрый старт 2025-11-12 15:55:12 +03:00
Левченко Людмила Алексеевна 4f98517e1c Удаление structura.md 2025-11-06 14:43:18 +00:00
Левченко Людмила Алексеевна e1e6c53af2 Описание и настройка чата 2025-11-06 17:37:48 +03:00
Левченко Людмила Алексеевна 273fae5567 Описание чата и настройка чата 2025-11-06 17:20:22 +03:00
Левченко Людмила Алексеевна a68d021683 Описание чата и настройка чата 2025-11-06 17:05:13 +03:00
Левченко Людмила Алексеевна 2aa68fc251 Описание чата и настройки 2025-11-06 16:51:16 +03:00
Левченко Людмила Алексеевна 0da343e3a0 Внесение правок в настроки 2025-11-05 15:58:00 +03:00
Левченко Людмила Алексеевна e05518d243 Добавление настроек к платформе 2025-11-05 15:53:55 +03:00
Левченко Людмила Алексеевна 06afb4e637 Добавление документации AI Platform 2025-11-05 15:47:55 +03:00
Elena Rechkina 9d074e416b Добавлен раздел ai 2025-10-23 14:32:11 +06:00
Elena Rechkina 57aaeae566 Правка ссылок 2025-10-14 17:38:51 +06:00
Elena Rechkina ac56186cf7 Правка ссылок 2025-10-14 16:15:19 +06:00
Elena Rechkina f6e295a3f5 Правка ссылок 2025-10-14 16:13:45 +06:00
Речкина Елена Валерьевна 09415adce2 Merge branch 'feature/search-menu#VEGA-5235' into 'main'
VEGA-5236 Адаптация результатов поиска в документации

See merge request common/vega/beecloud-docs!35
2025-10-14 08:06:15 +00:00
Русович Виолетта Игоревна 3609f446cb VEGA-5236 Адаптация результатов поиска в документации 2025-10-14 08:06:15 +00:00
Elena Rechkina 145f0c6702 Правка описания 2025-10-13 22:01:12 +06:00
Elena Rechkina 61947a5acc Правка описания 2025-10-13 21:54:48 +06:00
Речкина Елена Валерьевна 9d638839d6 Merge branch 'feature/vCD' into 'main'
Документация по виртуальным дата-центрам

See merge request common/vega/beecloud-docs!37
2025-10-13 09:27:59 +00:00
Анисин Александр Александрович 39e2370fde Документация по виртуальным дата-центрам 2025-10-13 09:27:59 +00:00
Речкина Елена Валерьевна 1c25d760e2 Merge branch 'feature/start-vm-2' into 'main'
2-start vm 2

See merge request common/vega/beecloud-docs!43
2025-10-06 15:40:37 +00:00
Речкина Елена Валерьевна a869b20d2b 2-start vm 2 2025-10-06 15:40:37 +00:00
Речкина Елена Валерьевна 4e44140183 Merge branch 'feature/start-vm-2' into 'main'
start vm 2

See merge request common/vega/beecloud-docs!42
2025-10-03 10:18:17 +00:00
Речкина Елена Валерьевна 8d36597e0e start vm 2 2025-10-03 10:18:17 +00:00
Elena Rechkina cbca88ec9d version 2025-10-02 21:14:29 +06:00
Elena Rechkina e4d89b5132 Правка ссылки 2025-10-02 21:11:21 +06:00
Речкина Елена Валерьевна 5feef83ae0 Merge branch 'feature/getting-started-vm' into 'main'
Быстрый старт ВМ

See merge request common/vega/beecloud-docs!41
2025-10-02 15:08:06 +00:00
Речкина Елена Валерьевна 123fbb3fb4 Быстрый старт ВМ 2025-10-02 15:08:06 +00:00
Речкина Елена Валерьевна 2021e92467 Edit package.json up version 2025-09-23 09:47:13 +00:00
Речкина Елена Валерьевна 26f4def6c3 Merge branch 'feature/HW' into 'main'
Техническое описание сервисов #VEGA-5488

See merge request common/vega/beecloud-docs!34
2025-09-23 09:42:50 +00:00
Речкина Елена Валерьевна ace0cba558 Техническое описание сервисов #VEGA-5488 2025-09-23 09:42:50 +00:00
Elena Rechkina b669aba0dc правка аннотации 2025-08-25 17:48:56 +06:00
Elena Rechkina 3a20198e52 Правка аннотации к админ. 2025-08-25 17:44:01 +06:00
Elena Rechkina c7e23817d6 Правка навигации, up version 2025-08-25 17:27:58 +06:00
Речкина Елена Валерьевна 8ab527e096 Merge branch 'feature/VEGA-4499-main-page' into 'main'
VEGA-4499: адаптация UI главной страницы документации

Closes VEGA-4499

See merge request common/vega/beecloud-docs!24
2025-08-25 11:21:10 +00:00
Захаров Дмитрий Анатольевич baca55494c VEGA-4499: адаптация UI главной страницы документации 2025-08-25 11:21:09 +00:00
Elena Rechkina 2ce47117e1 Исправлено подключение по ssh 2025-08-22 15:23:17 +06:00
Речкина Елена Валерьевна 398d4cc342 Merge branch 'feature/vm-openstack-flavor' into 'main'
Конфигурации CPU/RAM

See merge request common/vega/beecloud-docs!29
2025-08-22 08:30:38 +00:00
Речкина Елена Валерьевна cbbfc629eb Конфигурации CPU/RAM 2025-08-22 08:30:37 +00:00
Elena Rechkina a8d37525c3 Исправление ошибок 2025-08-22 13:45:59 +06:00
Речкина Елена Валерьевна 08f15a687f Merge branch 'vdc-getting-started' into 'main'
VDC быстрый старт

See merge request common/vega/beecloud-docs!21
2025-08-22 07:44:38 +00:00
Речкина Елена Валерьевна b3ff86ce8b VDC быстрый старт 2025-08-22 07:44:37 +00:00
Elena Rechkina 17eeec3d26 Правка навигации 2025-08-22 13:22:20 +06:00
Elena Rechkina 702c2e01da Убрала верхнее меню 2025-08-22 12:59:56 +06:00
Речкина Елена Валерьевна ff9885c5f8 Merge branch 'feature/header#VEGA-4759' into 'main'
VEGA-4759 Адаптация UI шапки портала документации

See merge request common/vega/beecloud-docs!20
2025-08-22 06:54:17 +00:00
Русович Виолетта Игоревна 021236498e VEGA-4759 Адаптация UI шапки портала документации 2025-08-22 06:54:17 +00:00
Речкина Елена Валерьевна 28e159b8bd Merge branch 'fix/99-right-nav-bar#VEGA-4856' into 'main'
VEGA-4856 Корректировка правого элемента меню

See merge request common/vega/beecloud-docs!28
2025-08-22 06:50:47 +00:00
Русович Виолетта Игоревна 022a3ad303 VEGA-4856 Корректировка правого элемента меню 2025-08-22 06:50:47 +00:00
Речкина Елена Валерьевна 71c9bcb05a Merge branch 'fix/nav-drawer#VEGA-4802' into 'main'
VEGA-4802 Адаптация бокового меню

See merge request common/vega/beecloud-docs!27
2025-08-22 06:45:33 +00:00
Русович Виолетта Игоревна 6b8bccff1d VEGA-4802 Адаптация бокового меню 2025-08-22 06:45:33 +00:00
Речкина Елена Валерьевна ea158a44b0 Merge branch 'feature/vyos-#VEGA-4844' into 'main'
vyos #VEGA-4844

Closes VEGA-4844

See merge request common/vega/beecloud-docs!30
2025-08-21 17:21:44 +00:00
Речкина Елена Валерьевна c140ec8b21 vyos #VEGA-4844 2025-08-21 17:21:44 +00:00
Речкина Елена Валерьевна be581a8757 Merge branch 'feature/VEGA-4499-lists' into 'main'
Исправление стилей списков

See merge request common/vega/beecloud-docs!25
2025-08-06 14:53:46 +00:00
Речкина Елена Валерьевна 285babb9c9 Merge branch 'feature/ssh-path' into 'main'
Подключение по ssh к ВМ

See merge request common/vega/beecloud-docs!23
2025-08-06 14:37:00 +00:00
Речкина Елена Валерьевна fa95157ab7 Подключение по ssh к ВМ 2025-08-06 14:37:00 +00:00
Дмитрий Захаров e208f23363 Исправление стилей списков 2025-08-04 16:46:55 +03:00
Elena Rechkina deab4d3df0 правка ссылки 2025-07-30 19:34:39 +06:00
Речкина Елена Валерьевна 3fffc8d2df Merge branch 'feature/pravki-docs-01.08' into 'main'
Обновление документации-01.08-31.08

See merge request common/vega/beecloud-docs!22
2025-07-30 11:11:02 +00:00
Речкина Елена Валерьевна ff41fe80c4 Обновление документации-01.08-31.08 2025-07-30 11:11:02 +00:00
109 changed files with 2873 additions and 723 deletions
+4
View File
@@ -14,3 +14,7 @@ src/.vuepress/.cache
src/.vuepress/.temp
src/.vitepress/cache
packages-list.json
/.vale
/.vscode
/.vale.ini
/VimpelcomCAG2.pem
+1 -1
View File
@@ -1 +1 @@
0.0.2
0.0.2-fix1
+1 -1
View File
@@ -1,6 +1,6 @@
deploy-test-stand:
stage: deploy
image: harbor.vimpelcom.ru/dockerhub/library/alpine
image: harbor.vimpelcom.ru/dockerhub/library/alpine:3.21.2
variables:
stand: cloud-stand.vega-dev.cloud.vimpelcom.ru
rules:
+1 -1
View File
@@ -23,7 +23,7 @@
# - git push origin HEAD:$CI_COMMIT_REF_NAME -o ci.skip
.deploy-template:
image: harbor.vimpelcom.ru/dockerhub/library/alpine
image: harbor.vimpelcom.ru/dockerhub/library/alpine:3.21.2
before_script:
- |
sed -i s%https://dl-cdn.alpinelinux.org/%http://rhrepo.vimpelcom.ru/ext/ya/mirrors/% /etc/apk/repositories && \
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "docs",
"version": "0.6.1",
"version": "0.6.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "docs",
"version": "0.6.1",
"version": "0.6.2",
"license": "MIT",
"dependencies": {
"@beeline/design-tokens": "^1.31.0",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "docs",
"version": "0.6.1",
"description": "Vega docs portal",
"version": "0.6.4",
"description": "Beeline Cloud docs",
"main": "index.js",
"scripts": {
"dev": "vitepress dev src",
+137 -66
View File
@@ -42,7 +42,8 @@ console.log({ base: typeof new_version !== 'undefined' ? '/' : '/docs/' })
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "Beeline Cloud",
srcDir: ".",
title: "cloud",
description: "Документация Beeline Cloud",
head: [['link', { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/bee-favicon.png' }]],
base: typeof new_version !== 'undefined' ? '/' : '/docs/',
@@ -63,7 +64,11 @@ export default defineConfig({
}
},
themeConfig: {
logo: '/favicon.svg',
logo: {
light: '/logo-light-theme.svg',
dark: '/logo-dark-theme.svg',
alt: 'cloud',
},
search: {
provider: 'local',
options: {
@@ -75,7 +80,7 @@ export default defineConfig({
buttonAriaLabel: 'Поиск'
},
modal: {
noResultsText: 'Нет результатов для',
noResultsText: 'Не удалось загрузить данные',
resetButtonTitle: 'Сбросить',
displayDetails: 'Показать расширенный список',
footer: {
@@ -90,30 +95,27 @@ export default defineConfig({
}
},
// https://vitepress.dev/reference/default-theme-config
// nav: [
// ],
// socialLinks: [
// { icon: { svg: gitlab }, link: 'https://git.vimpelcom.ru/common/vega/docs' }
// ],
// editLink: {
// pattern: 'https://git.vimpelcom.ru/-/ide/project/common/vega/docs/edit/develop/-/src/:path',
// text: 'Отредактируйте эту страницу на GitLab'
// },
// nav: [
// {
// text: 'Документация',
// link: '/guide/',
// },
// {
// text: 'API',
// link: '',
// },
// {
// text: 'Terraform',
// // link: '/terraform/',
// link: '',
// },
// ],
docFooter: {
next: 'Вперед',
prev: 'Назад'
},
// lastUpdated: {
// text: 'Обновлена',
// formatOptions: {
// dateStyle: 'long',
// }
// },
outline: {
label: 'Содержание'
},
@@ -123,7 +125,7 @@ export default defineConfig({
text: 'Платформа Beeline Cloud', link: '/platform/index.md',
collapsed: true,
items: [
{text: 'Сервисы', link: '/platform/services/services.md'},
{text: 'Обзор', link: '/platform/about.md'},
{text: 'Техническая поддержка', link: '/platform/support/support-overview.md'},
],
},
@@ -131,73 +133,142 @@ export default defineConfig({
'/start/': [
{
text: 'Начало работы в Beeline Cloud', link: '/start/index.md',
collapsed: true,
items: [
{text: 'Начать работу', link: '/start/getting-started.md'},
{text: 'Бесплатный период', link: '/start/trial.md'},
{text: 'Платное использование', link: '/start/organization.md'},
},
{text: 'Начать работу', link: '/start/getting-started.md'},
{text: 'Бесплатный период', link: '/start/trial.md'},
{text: 'Платное использование', link: '/start/organization.md'},
],
'/ai/': [
{ text: 'AI платформа', link: '/ai/index.md' },
{ text: 'Обзор сервиса', link: '/ai/ai-overview-platform.md' },
{ text: 'Быстрый старт', link: '/ai/ai-getting-started.md' },
{ text: 'Управление сервисом', link: '/ai/ai-setting.md' },
{ text: 'Чат с LLM', link: '/ai/ai-chat-llm.md' },
{ text: 'Концепции', link: '/ai/ai-glossary.md' },
],
},
],
// '/billing/': [
// ],
'/vdc/': [
{
text: 'Виртуальные дата-центры на VMware', link: '/vdc/index.md',
collapsed: true,
items: [
{text: 'Обзор сервиса', link: '/vdc/vdc-overview.md'},
{text: 'Быстрый старт', link: '/vdc/vdc-getting-started.md'},
{text: 'Виртуальные дата-центры', link: '/vdc/vdc-how-to/vdc-index.md',
collapsed: true,
items: [
text: 'Виртуальные дата-центры на VMware', link: '/vdc/index.md',
},
{
text: 'Обзор сервиса', link: '/vdc/vdc-overview.md',
collapsed: true,
items: [
{ text: 'Техническое описание', link: '/vdc/vdc-tech.md' },
{ text: 'Квоты и лимиты', link: '/vdc/vdc-quatos.md' },
]
},
{
text: 'Быстрый старт', link: '/vdc/vdc-getting-started.md'
},
{ text: 'Виртуальные дата-центры', link: '/vdc/vdc-how-to/vdc-index.md',
collapsed: true,
items: [
{ text: 'Создание дата-центра', link: '/vdc/vdc-how-to/vdc-create.md' },
{ text: 'Вход в дата-центр', link: '/vdc/vdc-how-to/vdc-enter.md' },
{ text: 'Управление дата-центром', link: '/vdc/vdc-how-to/vdc-manage.md' },
{ text: 'Управление дата-центром', link: '/vdc/vdc-how-to/vdc-manage.md'},
],
},
{ text: 'Виртуальные машины', link: '/vdc/vdc-how-to/vm/vm-index.md',
collapsed: true,
items: [
{text: 'Создание ВМ', link: '/vdc/vdc-how-to/vm/create-vm.md'},
{text: 'Создание vApp', link: '/vdc/vdc-how-to/vm/create-vapp.md'},
{text: 'Клонирование ВМ', link: '/vdc/vdc-how-to/vm/clone-vm.md'},
{text: 'Изменение конфигурации ВМ', link: '/vdc/vdc-how-to/vm/edit-vm.md'},
{text: 'Удаление ВМ', link: '/vdc/vdc-how-to/vm/delete-vm.md'},
{text: 'Группы размещения', link: '/vdc/vdc-how-to/vm/create-affinity-rules.md'},
{ text: 'Снимки ВМ', link: '/vdc/vdc-how-to/vm/create-snapshot.md'},
],
},
{ text: 'Сети', link: '/vdc/vdc-how-to/networks/networks-index.md',
collapsed: true,
items: [
{text: 'Настройка доступа к ВМ из интернета', link: '/vdc/vdc-how-to/networks/allow-external-connections-to-vm.md'},
{text: 'Подключение ВМ в vApp к сети', link: '/vdc/vdc-how-to/networks/connect-vapp-to-network.md'},
{text: 'Подключение ВМ к интернету', link: '/vdc/vdc-how-to/networks/connect-vm-to-network.md'},
{text: 'Создание сети в организации и подключение к Edge Gateway', link: '/vdc/vdc-how-to/networks/create-network.md'},
{text: 'Подключение сети к Edge Gateway', link: '/vdc/vdc-how-to/networks/isolated-to-routed.md'},
],
},
{ text: 'Пользователи и роли', link: '/vdc/vdc-how-to/users/users-index.md',
collapsed: true,
items: [
{text: 'Ролевая модель', link: '/vdc/vdc-how-to/users/roles.md'},
{text: 'Создание пользователя', link: '/vdc/vdc-how-to/users/add-user.md'},
{text: 'Изменение пароля пользователя', link: '/vdc/vdc-how-to/users/change-users-password.md'},
{text: 'Настройка квот', link: '/vdc/vdc-how-to/users/quotas.md'},
],
},
{ text: 'Двухфакторная аутентификация', link: '/vdc/vdc-how-to/vdc-2fa.md',
collapsed: true,
items: [
{text: 'Подключение 2FA', link: '/vdc/vdc-how-to/vdc-2fa-start.md'},
{text: 'Управление 2FA', link: '/vdc/vdc-how-to/vdc-2fa-manage.md'},
{text: 'Подключение 2FA', link: '/vdc/vdc-how-to/vdc-2fa-start.md'},
{text: 'Управление 2FA', link: '/vdc/vdc-how-to/vdc-2fa-manage.md'},
],
},
],
},
// { text: 'Тарификация', link: '/vdc/vdc-tarif.md' },
],
},
],
// { text: 'Тарификация', link: '/vdc/vdc-tarif.md' },
'/compute/': [
{
text: 'Виртуальные машины', link: '/compute/index.md',
collapsed: true,
text: 'Виртуальные машины', link: '/compute/index.md',
},
{ text: 'Обзор сервиса', link: '/compute/compute-overview.md' },
{text: 'Быстрый старт', link: '/compute/compute-getting-started.md'},
{ text: 'Виртуальные машины', link: '/compute/compute-how-to/compute-index.md',
collapsed: true,
items: [
{text: 'Обзор сервиса', link: '/compute/compute-overview.md'},
// {text: 'Быстрый старт', link: '/compute/compute-getting-started.md'},
{text: 'Виртуальные машины', link: '/compute/compute-how-to/compute-index.md',
collapsed: true,
items: [
{ text: 'Создание ВМ', link: '/compute/compute-how-to/compute-servers-create.md' },
{ text: 'Подключение к ВМ', link: '/compute/compute-how-to/compute-connect.md' },
{ text: 'Подключение к ВМ', link: '/compute/compute-how-to/compute-connect-index.md',
collapsed: true,
items: [
{ text: 'Подключение по SSH к ВМ по внешнему IP-адресу', link: '/compute/compute-how-to/compute-connect-public.md'},
{ text: 'Подключение по SSH к ВМ по внутреннему IP-адресу', link: '/compute/compute-how-to/compute-connect-inside.md' },
]
},
{ text: 'Управление ВМ', link: '/compute/compute-how-to/compute-servers-manage.md' },
],
},
{ text: 'Диски', link: '/compute/compute-how-to/compute-disks.md' },
{ text: 'IP-адреса', link: '/compute/compute-how-to/compute-ip.md' },
{ text: 'Группы размещения', link: '/compute/compute-how-to/compute-affinity.md' },
{ text: 'Диски', link: '/compute/compute-how-to/compute-disks.md' },
{ text: 'IP-адреса', link: '/compute/compute-how-to/compute-ip.md' },
{ text: 'Группы размещения', link: '/compute/compute-how-to/compute-affinity.md' },
{ text: 'Сети', link: '/compute/compute-how-to/compute-network/compute-network-index.md',
collapsed: true,
items: [
{ text: 'Настройка site-to-site VPN с помощью VyOS', link: '/compute/compute-how-to/compute-network/compute-vpn-vyos.md' },
{ text: 'Подключение ВМ закрытого контура к интернету', link: '/compute/compute-how-to/compute-network/compute-network-inside.md' },
],
},
],
],
'/admin/': [
{
text: 'Аккаунт Beeline Cloud', link: '/admin/acc-index.md',
collapsed: true,
text: 'Администрирование', link: '/admin/index.md',
},
{text: 'Управление ключевыми парами', link: '/admin/ssh.md'},
],
'/billing/': [
{ text: 'Биллинг', link: '/billing/about.md',
collapsed: true,
items: [
{text: 'Управление ключевыми парами', link: '/admin/ssh.md'},
],
},
{ text: 'Аналитика потребления', link: '/billing/usage-analytics.md' },
],
},
],
'/concepts/': [
{text: 'Виртуальные дата-центры', link: '/concepts/datacenters.md'},
{text: 'DNS', link: '/concepts/dns.md'},
{text: 'Edge Gateway', link: '/concepts/edge-gateway.md'},
{text: 'NAT', link: '/concepts/nat.md'},
{text: 'Типы сетей в vDC', link: '/concepts/network-types.md'},
{text: 'Ролевая модель', link: '/concepts/roles.md'},
{text: 'vApp', link: '/concepts/vApp.md'},
],
'/monitoring/': [
{
text: 'Мониторинг', link: '/monitoring/about.md',
},
],
},
},
+1 -1
View File
@@ -106,7 +106,7 @@ export default function(parameters: IParameters) {
// window._paq elsewhere when needed, including closure scopes.
const _paq = window._paq;
// If user requests consent checking, do this before we actually track.
// Note: this doesn't work at the moment because the user has no way to set
// tip: this doesn't work at the moment because the user has no way to set
// whether consent was given. Oops.
if (requireConsent) {
_paq.push(['requireConsent']);
@@ -5,7 +5,7 @@ import { EXTERNAL_URL_RE } from 'vitepress/dist/client/shared'
interface Props {
tag?: string
size?: 'medium' | 'big'
size?: 'medium' | 'big' | 'small'
theme?: 'brand' | 'alt' | 'sponsor'
text: string
href?: string
@@ -51,6 +51,15 @@ const component = computed(() => {
transition: color 0.1s, border-color 0.1s, background-color 0.1s;
}
.VPButton.small {
border-radius: 12px;
padding: 0 16px;
line-height: 20px;
height: 40px;
font-size: 15px;
font-weight: 500;
}
.VPButton.medium {
border-radius: 12px;
padding: 0 20px;
@@ -115,7 +115,7 @@ const { hasSidebar } = useSidebar()
.VPContent.has-sidebar {
margin: var(--vp-layout-top-height, 0px) 0 0;
padding-left: var(--vp-sidebar-width);
padding-left: 320px;
}
}
@@ -22,8 +22,7 @@ type ItemFeature = {
const style = useCssModule()
const classes = computed(() => ({
[style.CustomFeature]: true,
[style.CustomFeatureDisabled]: disabled || !link,
[style.CustomFeatureWithScroll]: scrollTo && !disabled
[style.CustomFeatureDisabled]: disabled || !link && !scrollTo,
}))
const handleClick = (event: Event) => {
@@ -51,7 +50,11 @@ const handleClick = (event: Event) => {
</Component>
<div :class="$style.CustomFeatureContainer">
<div v-for="(item, i) in items" :key="i">
<Component :is="!disabled && item.link ? VPLink : 'article'" v-bind="{ ...(!disabled && item.link && { href: item.link }) }">
<Component
:is="!disabled && item.link ? VPLink : 'article'"
v-bind="{ ...(!disabled && item.link && { href: item.link }) }"
:class="{ [style.CustomFeatureDisabled]: disabled || !item.link }"
>
<p :class="$style.CustomFeatureSubtitle">{{ item.title }}</p>
</Component>
</div>
@@ -94,16 +97,12 @@ const handleClick = (event: Event) => {
color: themes.$color-text-active;
&:hover {
color: themes.$color-text-link !important;
color: themes.$color-text-link;
}
#{$el}Disabled & {
color: themes.$color-text-disabled;
}
#{$el}WithScroll & {
color: themes.$color-text-active;
}
}
&Subtitle {
@@ -20,6 +20,7 @@ import {
nextTick,
onBeforeUnmount,
onMounted,
Raw,
ref,
shallowRef,
watch,
@@ -132,6 +133,7 @@ watchEffect(() => {
const results: Ref<(SearchResult & Result)[]> = shallowRef([])
const enableNoResults = ref(false)
const loadig = ref(true)
watch(filterText, () => {
enableNoResults.value = false
@@ -160,11 +162,7 @@ debouncedWatch(
if (!index) return
// Search
results.value = index
.search(filterTextValue)
.slice(0, 16) as (SearchResult & Result)[]
enableNoResults.value = true
retrySearch(index, filterTextValue)
// Highlighting
const mods = showDetailedListValue
? await Promise.all(results.value.map((r) => fetchExcerpt(r.id)))
@@ -268,6 +266,16 @@ function focusSearchInput(select = true) {
select && searchInput.value?.select()
}
const retrySearch = (index: Raw<MiniSearch<Result>>, filter: string) => {
if (!index) return
results.value = index
.search(filter)
.slice(0, 16) as (SearchResult & Result)[]
enableNoResults.value = true
}
onMounted(() => {
focusSearchInput()
})
@@ -481,33 +489,6 @@ function formMarkRegex(terms: Set<string>) {
class="search-input"
/>
<div class="search-actions">
<button
v-if="!disableDetailedView"
class="toggle-layout-button"
type="button"
:class="{ 'detailed-list': showDetailedList }"
:title="$t('modal.displayDetails')"
@click="
selectedIndex > -1 && (showDetailedList = !showDetailedList)
"
>
<svg
width="18"
height="18"
viewBox="0 0 24 24"
aria-hidden="true"
>
<path
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M3 14h7v7H3zM3 3h7v7H3zm11 1h7m-7 5h7m-7 6h7m-7 5h7"
/>
</svg>
</button>
<button
class="clear-button"
type="reset"
@@ -535,6 +516,7 @@ function formMarkRegex(terms: Set<string>) {
</form>
<ul
v-if="!!results.length"
ref="resultsEl"
:id="results?.length ? 'localsearch-list' : undefined"
:role="results?.length ? 'listbox' : undefined"
@@ -561,29 +543,21 @@ function formMarkRegex(terms: Set<string>) {
>
<div>
<div class="titles">
<span class="title-icon">#</span>
<span
v-for="(t, index) in p.titles"
:key="index"
class="title"
>
<span class="text" v-html="t" />
<svg width="18" height="18" viewBox="0 0 24 24">
<path
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="m9 18l6-6l-6-6"
/>
</svg>
<span class="text"> > </span>
</span>
<span class="title main">
<span class="text" v-html="p.title" />
</span>
</div>
<span v-html="p.title" />
<div v-if="showDetailedList" class="excerpt-wrapper">
<div v-if="p.text" class="excerpt" inert>
<div class="vp-doc" v-html="p.text" />
@@ -594,65 +568,21 @@ function formMarkRegex(terms: Set<string>) {
</div>
</a>
</li>
<li
v-if="filterText && !results.length && enableNoResults"
class="no-results"
>
{{ $t('modal.noResultsText') }} "<strong>{{ filterText }}</strong
>"
</li>
</ul>
<div class="search-keyboard-shortcuts">
<span>
<kbd :aria-label="$t('modal.footer.navigateUpKeyAriaLabel')">
<svg width="14" height="14" viewBox="0 0 24 24">
<path
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M12 19V5m-7 7l7-7l7 7"
/>
</svg>
</kbd>
<kbd :aria-label="$t('modal.footer.navigateDownKeyAriaLabel')">
<svg width="14" height="14" viewBox="0 0 24 24">
<path
fill="none"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M12 5v14m7-7l-7 7l-7-7"
/>
</svg>
</kbd>
{{ $t('modal.footer.navigateText') }}
</span>
<span>
<kbd :aria-label="$t('modal.footer.selectKeyAriaLabel')">
<svg width="14" height="14" viewBox="0 0 24 24">
<g
fill="none"
stroke="currentcolor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
>
<path d="m9 10l-5 5l5 5" />
<path d="M20 4v7a4 4 0 0 1-4 4H4" />
</g>
</svg>
</kbd>
{{ $t('modal.footer.selectText') }}
</span>
<span>
<kbd :aria-label="$t('modal.footer.closeKeyAriaLabel')">esc</kbd>
{{ $t('modal.footer.closeText') }}
</span>
</div>
<ul
v-else-if="filterText && !results.length && enableNoResults"
class="no-results"
>
<p class="no-results-text">
{{ $t('modal.noResultsText') }}
</p>
<button
class="no-results-button"
@click="retrySearch(searchIndex, filterText)"
>
Попробовать еще раз
</button>
</ul>
</div>
</div>
</Teleport>
@@ -675,16 +605,13 @@ function formMarkRegex(terms: Set<string>) {
.shell {
position: relative;
padding: 12px;
padding: 24px;
margin: 64px auto;
display: flex;
flex-direction: column;
gap: 16px;
background: var(--vp-local-search-bg);
width: min(100vw - 60px, 900px);
height: min-content;
max-height: min(100vh - 128px, 900px);
border-radius: 6px;
border-radius: 12px;
}
@media (max-width: 767px) {
@@ -698,7 +625,7 @@ function formMarkRegex(terms: Set<string>) {
}
.search-bar {
border: 1px solid var(--vp-c-divider);
border: 1px solid rgb(32, 33, 35);
border-radius: 12px;
display: flex;
align-items: center;
@@ -712,10 +639,6 @@ function formMarkRegex(terms: Set<string>) {
}
}
.search-bar:focus-within {
border-color: var(--vp-c-brand-1);
}
.search-icon {
margin: 8px;
}
@@ -802,27 +725,31 @@ function formMarkRegex(terms: Set<string>) {
}
.results {
display: flex;
flex-direction: column;
gap: 6px;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
box-shadow: var(--vp-c-shadow-3);
border-radius: 12px;
border: 1px solid rgba(25, 28, 52, 0.18);
padding: 8px 0;
max-height: min(100vh - 214px, 900px);
li:hover {
background-color: rgba(25, 28, 52, 0.08);
}
}
.result {
display: flex;
align-items: center;
gap: 8px;
border-radius: 12px;
transition: none;
line-height: 1rem;
border: solid 2px var(--vp-local-search-result-border);
outline: none;
height: 66px;
}
.result > div {
margin: 12px;
margin: 12px 16px;
width: 100%;
overflow: hidden;
}
@@ -840,6 +767,13 @@ function formMarkRegex(terms: Set<string>) {
position: relative;
z-index: 1001;
padding: 2px 0;
font-size: 13px !important;
line-height: 16px !important;
}
:deep(mark) {
background-color: transparent;
color: none;
}
.title {
@@ -852,21 +786,10 @@ function formMarkRegex(terms: Set<string>) {
font-weight: 500;
}
.title-icon {
opacity: 0.5;
font-weight: 500;
color: var(--vp-c-brand-1);
}
.title svg {
opacity: 0.5;
}
.result.selected {
--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);
border-color: var(--vp-local-search-result-selected-border);
}
.excerpt-wrapper {
position: relative;
}
@@ -892,10 +815,7 @@ function formMarkRegex(terms: Set<string>) {
.titles :deep(mark),
.excerpt :deep(mark) {
background-color: var(--vp-local-search-highlight-bg);
color: var(--vp-local-search-highlight-text);
border-radius: 2px;
padding: 0 2px;
background-color: transparent;
}
.excerpt :deep(.vp-code-group) .tabs {
@@ -932,12 +852,42 @@ function formMarkRegex(terms: Set<string>) {
}
.no-results {
font-size: 0.9rem;
text-align: center;
padding: 12px;
padding: 28px 0;
display: flex;
flex-direction: column;
gap: 24px;
align-items: center;
z-index: 100;
box-shadow: 0 0 10 0 rgba(0, 0, 0, 0.16);
border-radius: 12px;
border: 1px solid rgba(25, 28, 52, 0.18);
background-color: rgb(255, 255, 255);
}
.no-results-text {
font-weight: 700;
font-size: 17px;
line-height: 22px;
letter-spacing: 0.2px;
}
.no-results-button {
border-radius: 12px;
border: 1px solid rgba(25, 28, 52, 0.18);
padding: 13px 20px;
font-weight: 500;
font-size: 17px;
line-height: 22px;
letter-spacing: 0.2px;
}
svg {
flex: none;
}
.text {
font-size: 13px !important;
line-height: 16px !important;
color: rgba(25, 28, 52, 0.48);
}
</style>
@@ -12,6 +12,7 @@ import VPNavBarSearch from 'vitepress/dist/client/theme-default/components/VPNav
import VPNavBarSocialLinks from 'vitepress/dist/client/theme-default/components/VPNavBarSocialLinks.vue'
import CustomNavBarTitle from './CustomNavBarTitle.vue'
import VPNavBarTranslations from 'vitepress/dist/client/theme-default/components/VPNavBarTranslations.vue'
import CustomButton from './CustomButton.vue'
defineProps<{
isScreenOpen: boolean
@@ -27,6 +28,7 @@ const { hasLocalNav } = useLocalNav()
const { frontmatter } = useData()
const classes = ref<Record<string, boolean>>({})
const loginUrl = import.meta.env.VITE_LOGIN_URL
watchPostEffect(() => {
classes.value = {
@@ -55,14 +57,9 @@ watchPostEffect(() => {
<div class="content">
<div class="content-body">
<slot name="nav-bar-content-before" />
<VPNavBarSearch class="search" />
<VPNavBarMenu class="menu" />
<VPNavBarTranslations class="translations" />
<VPNavBarAppearance class="appearance" />
<VPNavBarSocialLinks class="social-links" />
<VPNavBarExtra class="extra" />
<slot name="nav-bar-content-after" />
<VPNavBarHamburger class="hamburger" :active="isScreenOpen" @click="$emit('toggle-screen')" />
<VPNavBarSearch class="search" />
<!-- <CustomButton text="Войти" size="small" :href="loginUrl" /> -->
</div>
</div>
</div>
@@ -109,7 +106,7 @@ watchPostEffect(() => {
@media (min-width: 768px) {
.wrapper {
padding: 0 32px;
padding: 0 24px;
}
}
@@ -178,7 +175,7 @@ watchPostEffect(() => {
position: relative;
z-index: 1;
padding-right: 32px;
padding-left: var(--vp-sidebar-width);
padding-left: 0px;
}
}
@@ -191,7 +188,7 @@ watchPostEffect(() => {
.content-body {
display: flex;
justify-content: flex-end;
justify-content: space-between;
align-items: center;
height: var(--vp-nav-height);
transition: background-color 0.5s;
@@ -225,6 +222,10 @@ watchPostEffect(() => {
height: 24px;
background-color: var(--vp-c-divider);
content: "";
font-weight: 500;
font-size: 15px;
line-height: 20px;
letter-spacing: 0.2px;
}
.menu + .appearance::before,
@@ -255,4 +256,9 @@ watchPostEffect(() => {
background-color: rgba(255, 255, 255, 0.2);
}
}
.search {
justify-content: flex-end;
margin-right: 24px;
}
</style>
@@ -3,12 +3,16 @@ import type { DefaultTheme } from 'vitepress/theme'
import { useData } from 'vitepress/dist/client/theme-default/composables/data'
import { isActive } from 'vitepress/dist/client/shared'
import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue'
import { computed, ref } from 'vue'
defineProps<{
item: DefaultTheme.NavItemWithLink
}>()
const { page } = useData()
const textRef = ref<HTMLElement | null>(null)
const wrapperWidth = computed(() => textRef.value?.offsetWidth)
</script>
<template>
@@ -20,22 +24,32 @@ const { page } = useData()
page.relativePath,
item.activeMatch || item.link,
!!item.activeMatch
)
),
disabled: !isActive(
page.relativePath,
item.activeMatch || item.link,
!!item.activeMatch
) && !item.link ? 'disabled' : '',
}"
:href="item.link"
:target="item.target"
:rel="item.rel"
tabindex="0"
>
<span v-html="item.text"></span>
<span
ref="textRef"
v-html="item.text"
/>
</VPLink>
</template>
<style scoped>
<style lang="scss" scoped>
@use '@beeline/design-tokens/scss/tokens/globals/colors';
.VPNavBarMenuLink {
display: flex;
align-items: center;
padding: 0 12px;
padding: 0 24px;
line-height: var(--vp-nav-height);
font-size: 16px;
font-weight: 500;
@@ -45,9 +59,32 @@ const { page } = useData()
.VPNavBarMenuLink.active {
color: var(--color-text-active);
&::after {
position: absolute;
bottom: 0;
content: '';
height: 4px;
display: none;
width: calc(v-bind(wrapperWidth) * 1px);
border-top-left-radius: 12px;
border-top-right-radius: 12px;
background-color: colors.$color-background-brand;
}
&.active {
&::after {
display: block;
}
}
}
.VPNavBarMenuLink:hover {
.disabled {
opacity: 0.45;
pointer-events: none;
}
.VPNavBarMenuLink:hover:not(.disabled) {
color: var(--color-text-active);
}
</style>
@@ -14,31 +14,22 @@ const $t = createSearchTranslate(defaultTranslations)
</script>
<template>
<button type="button" class="DocSearch DocSearch-Button CustomDocSearch-Button" :aria-label="$t('button.buttonAriaLabel')">
<span class="DocSearch-Button-Container">
<svg
class="DocSearch-Search-Icon"
width="20"
height="20"
viewBox="0 0 20 20"
aria-label="search icon"
>
<path
d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z"
stroke="currentColor"
fill="none"
fill-rule="evenodd"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
<span class="DocSearch-Button-Placeholder">{{ $t('button.buttonText') }}</span>
</span>
<span class="DocSearch-Button-Keys">
<kbd class="DocSearch-Button-Key"></kbd>
<kbd class="DocSearch-Button-Key">K</kbd>
</span>
</button>
<svg
class="DocSearch-Search-Icon"
width="20"
height="20"
viewBox="0 0 20 20"
aria-label="search icon"
>
<path
d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z"
stroke="currentColor"
fill="none"
fill-rule="evenodd"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
</template>
<style>
@@ -65,156 +56,13 @@ const $t = createSearchTranslate(defaultTranslations)
--docsearch-hit-shadow: none;
}
.DocSearch-Button {
display: flex;
justify-content: center;
align-items: center;
border-radius: 12px;
margin: 0;
padding: 0;
width: 48px;
height: 55px;
background: transparent;
transition: border-color 0.25s;
}
.DocSearch-Button:hover {
background: transparent;
}
.DocSearch-Button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
.DocSearch-Button:focus:not(:focus-visible) {
outline: none !important;
}
@media (min-width: 768px) {
.DocSearch-Button {
justify-content: flex-start;
border: 1px solid transparent;
border-radius: 12px;
padding: 0 10px 0 12px;
width: 100%;
height: 40px;
background-color: var(--vp-c-bg-alt);
}
.DocSearch-Button:hover {
border-color: var(--vp-c-brand-1);
background: var(--vp-c-bg-alt);
}
}
.DocSearch-Button .DocSearch-Button-Container {
display: flex;
align-items: center;
}
.DocSearch-Button .DocSearch-Search-Icon {
.DocSearch-Search-Icon {
position: relative;
width: 16px;
height: 16px;
width: 18px;
height: 18px;
color: var(--vp-c-text-1);
fill: currentColor;
transition: color 0.5s;
}
.DocSearch-Button:hover .DocSearch-Search-Icon {
color: var(--vp-c-text-1);
}
@media (min-width: 768px) {
.DocSearch-Button .DocSearch-Search-Icon {
top: 1px;
margin-right: 8px;
width: 14px;
height: 14px;
color: var(--vp-c-text-2);
}
}
.DocSearch-Button .DocSearch-Button-Placeholder {
display: none;
margin-top: 2px;
padding: 0 16px 0 0;
font-size: 13px;
font-weight: 500;
color: var(--vp-c-text-2);
transition: color 0.5s;
}
.DocSearch-Button:hover .DocSearch-Button-Placeholder {
color: var(--vp-c-text-1);
}
@media (min-width: 768px) {
.DocSearch-Button .DocSearch-Button-Placeholder {
display: inline-block;
}
}
.DocSearch-Button .DocSearch-Button-Keys {
/*rtl:ignore*/
direction: ltr;
display: none;
min-width: auto;
}
@media (min-width: 768px) {
.DocSearch-Button .DocSearch-Button-Keys {
display: flex;
align-items: center;
}
}
.DocSearch-Button .DocSearch-Button-Key {
display: block;
margin: 2px 0 0 0;
border: 1px solid var(--vp-c-divider);
/*rtl:begin:ignore*/
border-right: none;
border-radius: 4px 0 0 4px;
padding-left: 6px;
/*rtl:end:ignore*/
min-width: 0;
width: auto;
height: 22px;
line-height: 22px;
font-family: var(--vp-font-family-base);
font-size: 12px;
font-weight: 500;
transition: color 0.5s, border-color 0.5s;
}
.DocSearch-Button .DocSearch-Button-Key + .DocSearch-Button-Key {
/*rtl:begin:ignore*/
border-right: 1px solid var(--vp-c-divider);
border-left: none;
border-radius: 0 4px 4px 0;
padding-left: 2px;
padding-right: 6px;
/*rtl:end:ignore*/
}
.DocSearch-Button .DocSearch-Button-Key:first-child {
font-size: 0 !important;
}
.DocSearch-Button .DocSearch-Button-Key:first-child:after {
content: 'Ctrl';
font-size: 12px;
letter-spacing: normal;
color: var(--docsearch-muted-color);
}
.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after {
content: '\2318';
}
.DocSearch-Button .DocSearch-Button-Key:first-child > * {
display: none;
margin: 8px;
}
</style>
@@ -38,10 +38,10 @@ const target = computed(() =>
:target="target"
>
<slot name="nav-bar-title-before" />
<VPImage v-if="theme.logo" class="logo" :image="theme.logo" />
<template v-if="theme.siteTitle">{{ theme.siteTitle }}</template>
<template v-else-if="theme.siteTitle === undefined">{{ site.title }}</template>
<slot name="nav-bar-title-after" />
<VPImage v-if="theme.logo" class="logo" :image="theme.logo" />
</a>
</div>
</template>
@@ -53,10 +53,13 @@ const target = computed(() =>
border-bottom: 1px solid transparent;
width: 100%;
height: var(--vp-nav-height);
font-size: 16px;
font-weight: 600;
color: var(--vp-c-text-1);
font-size: 25px;
font-weight: 500;
line-height: 28px;
color: var(--color-text-inactive);
transition: opacity 0.25s;
gap: 20px;
margin-right: 24px;
}
@media (min-width: 960px) {
@@ -72,7 +75,6 @@ const target = computed(() =>
}
:deep(.logo) {
margin-right: 8px;
height: var(--vp-nav-logo-height);
}
</style>
@@ -60,9 +60,8 @@ watch(
bottom: 0;
left: 0;
z-index: var(--vp-z-index-sidebar);
padding: 32px 32px 96px 32px;
width: 256px;
max-width: 320px;
padding: 0px 0px 96px 0px;
width: 320px;
background-color: var(--vp-sidebar-bg-color);
opacity: 0;
box-shadow: var(--vp-c-shadow-3);
@@ -88,8 +87,6 @@ watch(
@media (min-width: 960px) {
.VPSidebar {
padding-top: var(--vp-nav-height);
// width: var(--vp-sidebar-width);
// max-width: 100%;
background-color: var(--vp-sidebar-bg-color);
opacity: 1;
visibility: visible;
@@ -98,13 +95,6 @@ watch(
}
}
@media (min-width: 1440px) {
.VPSidebar {
// padding-left: max(32px, calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));
// width: calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px);
}
}
@media (min-width: 960px) {
.curtain {
position: sticky;
@@ -121,17 +111,14 @@ watch(
.nav {
outline: 0;
}
.group + .group {
border-top: 1px solid var(--vp-c-divider);
padding-top: 10px;
padding-top: 24px;
width: 100%;
}
@media (min-width: 960px) {
.group {
padding-top: 10px;
width: calc(var(--vp-sidebar-width) - 64px);
width: 100%;
}
}
</style>
@@ -1,10 +1,52 @@
.VPDocAside {
.outline-link {
font-size: 16px;
}
@use '@beeline/design-tokens/scss/tokens/components/navigationDrawer';
@use "@beeline/design-tokens/scss/tokens/globals/colors";
.outline-title {
font-size: 17px;
font-weight: 500;
.VPDocAside {
.outline-link {
font-weight: 400;
font-size: 17px;
line-height: 22px;
letter-spacing: 0.2px;
padding-top: 8px;
padding-bottom: 8px;
white-space: unset;
color: colors.$color-text-grey-inactive;
}
.outline-link.active {
font-weight: 500 !important;
color: colors.$color-text-black-active;
}
.outline-title {
font-size: 17px;
font-weight: 500;
line-height: 22px;
padding-bottom: 16px;
}
.content {
padding-left: 0px !important;
border-left: 0px !important;
nav {
border-left: 1px solid var(--vp-c-divider) !important;
.outline-link {
padding-left: 20px !important;
&.active {
padding-left: 16px !important;
position: relative !important;
left: -1px !important;
border-left: navigationDrawer.$navigation-drawer-item-indicator-width solid
navigationDrawer.$navigation-drawer-item-activated-indicator-color !important;
border-top-right-radius: navigationDrawer.$navigation-drawer-item-indicator-border-radius-topright !important;
border-bottom-right-radius: navigationDrawer.$navigation-drawer-item-indicator-border-radius-bottomright !important;
}
}
}
}
}
@@ -1,3 +1,6 @@
@use "@beeline/design-tokens/scss/tokens/globals/colors";
@use "@beeline/design-tokens/scss/tokens/themes";
@mixin font_style($fontSize, $fontWeight, $lineHeight, $letterSpacing) {
font-size: $fontSize;
font-weight: $fontWeight;
@@ -66,7 +69,7 @@
}
li + li {
margin-top: 50px;
margin-top: 34px;
}
ul li {
@@ -75,16 +78,6 @@
margin-top: 8px;
}
ol li:nth-last-of-type(n+2)::after {
content: '';
border-left: 1px solid rgb(201, 197, 197);
position: absolute;
line-height: 100%;
left: -30px;
top: 43px;
bottom: -30px;
}
ol li::before {
content: counter(list);
counter-increment: list;
@@ -94,8 +87,8 @@
left: -48px;
width: 35px;
height: 35px;
background-color: #7e00ed;
color: #fff;
background-color: colors.$color-background-brand;
color: themes.$color-text-active;
text-align: center;
line-height: 25px;
font-size: 16px;
@@ -115,6 +108,10 @@
padding: 0;
}
ol li:last-child, ul li:last-child {
margin-bottom: 40px;
}
ol li p {
margin-top: 0;
}
@@ -1,7 +1,116 @@
@use '@beeline/design-tokens/scss/tokens/components/navigationDrawer';
@use '@beeline/design-tokens/scss/tokens/themes/theme-variables' as theme;
@use 'src/assets/scss/app/helpers/media';
.VPSidebar {
&Item {
.text {
font-size: 15px;
}
--vp-sidebar-bg-color: var(--vp-c-bg);
}
.VPSidebar .VPSidebarItem .item {
margin: 4px 0;
}
.VPSidebar .VPSidebarItem .link {
display: flex;
align-items: center;
}
.indicator {
border-top-right-radius: navigationDrawer.$navigation-drawer-item-indicator-border-radius-topright !important;
border-bottom-right-radius: navigationDrawer.$navigation-drawer-item-indicator-border-radius-bottomright !important;
position: absolute !important;
left: 0 !important;
}
.VPSidebarItem.is-active > .item .link > .text {
color: theme.$color-text-active !important;
font-weight: 500 !important;
line-height: 20px !important;
}
.VPSidebarItem {
.item {
padding: 12px 32px !important;
border-top-right-radius: 12px !important;
border-bottom-right-radius: 12px !important;
color: theme.$color-text-inactive;
&:hover {
background-color: navigationDrawer.$navigation-drawer-item-hover-background-color !important;
color: theme.$color-text-inactive;
}
}
&.is-active > .item > .indicator {
border-left: navigationDrawer.$navigation-drawer-item-indicator-width solid
navigationDrawer.$navigation-drawer-item-activated-indicator-color !important;
}
}
.VPSidebarItem.collapsible {
.items {
margin-left: 16px;
.item {
padding: 12px 16px 12px 56px !important;
border-top-left-radius: 12px !important;
border-bottom-left-radius: 12px !important;
}
}
&.is-active,
&.has-active {
> .item {
.indicator {
display: block !important;
border-left: navigationDrawer.$navigation-drawer-item-indicator-width solid
navigationDrawer.$navigation-drawer-item-activated-indicator-color !important;
}
.text {
color: theme.$color-text-active !important;
font-weight: 500 !important;
}
}
}
.items .VPSidebarItem.is-active > .item {
background-color: navigationDrawer.$navigation-drawer-item-hover-background-color !important;
.text {
color: theme.$color-text-active !important;
font-weight: 500 !important;
}
}
}
.VPSidebarItem.collapsible .items .item .indicator {
display: none !important;
}
.text {
padding: 0px !important;
font-weight: 400 !important;
font-size: 15px !important;
line-height: 18px !important;
letter-spacing: 0.2px !important;
transition-property: all;
transition-duration: 150ms;
transition-timing-function: ease-in-out;
color: theme.$color-text-inactive !important;
}
.VPSidebarItem .items {
border-left: 0px !important;
}
.VPSidebarItem {
padding-bottom: 0px !important;
}
.VPLocalNav.has-sidebar {
@include media.max(sm) {
padding-left: 0px;
}
}
+3
View File
@@ -203,3 +203,6 @@
--docsearch-primary-color: var(--vp-c-brand-1) !important;
}
:root {
--vp-sidebar-width: 320px;
}
-10
View File
@@ -1,10 +0,0 @@
---
section_links:
- title: Управление ключевыми парами
link: /admin/ssh.md
description: Добавление SSH-ключей для подключения к виртуальным машинам
---
# Аккаунт Beeline Cloud
Аккаунт Beeline Cloud создается при [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud. С помощью аккаунта можно управлять профилем пользователя.
+14
View File
@@ -0,0 +1,14 @@
---
section_links:
- title: Управление ключевыми парами
link: /admin/ssh.md
description: Добавление SSH-ключей для подключения к виртуальным машинам
---
# Администрирование
При [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud создается аккаунт и проект в Beeline Cloud.
С помощью аккаунта можно управлять профилем пользователя - добавлять SSH-ключи, чтобы подключаться к виртуальным машинам без ввода пароля.
В проекте можно создавать ресурсы, добавлять пользователей в проект и управлять доступом к ресурсам.
+178
View File
@@ -0,0 +1,178 @@
# Чат с LLM
**Чат с LLM** - это интерфейс для общения с LLM-моделями. Подходит для знакомства и тестирования моделей.
Исходя из возможностей сервиса Чат с LLM пользовательский путь от авторизации к диалогу выглядит следующим образом:
1. Переход в чат с LLM.
2. Выбор LLM.
3. Выбор базы знаний.
4. Настройка системного промпта.
5. Диалог с LLM.
## Доступные модели
Чат с LLM поддерживает модели:.
| Модель | Контекст | Параметры | Reasoning | Инструменты | Картинки |
|:-------|:-------|:-------|:-------|:-------|:-------|
| Deepseek-chat | 131k | 671B | ✅ | ✅ | ❌ |
| Gemma 3 | 128k | 27B | ❌ | ❌ | ✅ |
| Qwen 3 | 131k | 32B | ✅ |✅ | ❌|
::: details Описание моделей
- **DeepSeek Chat**
DeepSeek V3 — это мощная гибридная модель с 671 млрд. параметров, специально оптимизированная для кодогенерации и работы поисковых агентов. Модель поддерживает контекст до 128 тыс. токенов и позволяет гибко управлять режимом рассуждений через параметр "reasoning_enabled". Она демонстрирует производительность уровня DeepSeek-R1, но работает быстрее, идеально подходя для программирования, исследований и агентных workflow.
- **Gemma 3**
Основная особенность этой модели в том, что она поддерживает картинки. Вы можете использовать ее как OCR: модель распознает рукописный текст на русском языке. Кроме этого, модель распознает и классифицирует объекты на фотографиях; может распознавать и переводить надписи.
- **Qwen 3 32B**
Основная модель, с которой рекомендуется начинать эксперименты. Поддерживает нативный вызов инструментов.
Режимы работы:
- с рассуждениями (включен по умолчанию).
- без рассуждений (нужно передать в запросе /no_think).
:::
## Авторизация в чате с LLM
Доступ к чату с LLM-моделями предоставляется по уникальной ссылке, которая формируется после [создания тенанта](ai-setting.md#создать-тенант).
1. В левом меню откройте раздел **Тенанты**.
2. Нажмите на имя тенанта.
3. Из поля **Url приложения** скопируйте ссылку на чат с LLM.
4. Вставьте ссылку в браузер. Откроется чат с LLM.
![alt text](./image/Chat_AI_Main_1024.png)
::: details Интерфейс чата с LLM
- **Чат**
Раздел включает функции:
- диалог с моделью в режиме вопрос-ответ;
- выбор LLM;
- выбор базы знаний.
- **Базы знаний**
Раздел предназначен для подготовки базы знаний, на основе которой модель будет генерировать ответы.
- **Системные промпты**
Раздел предназначен для создания системных промптов. Системный промпт представляет из себя набор инструкций, на которые опирается модель при подготовке ответа на запрос пользователя.
:::
## Начать диалог с моделью
1. [Авторизоваться в чате с LLM](#авторизация-в-чате-с-llm).
2. В левом меню выберите раздел **Чаты**.
3. Выберите из списка модель. Если в списке отсутствует нужная [модель](#доступные-модели), то [добавьте модель](ai-setting.md#добавить-модель) в тенант.
::: tip Информация
Эксперименты рекомендуется с модели **Qwen 3 32B**, которая имеет больший контекст и поддерживает нативный вызов инструментов.
Модель **Qwen 3 32B** может работать:
- [с рассуждениями](ai-glossary.md#рассуждения) - этот режим включен по умолчанию;
- без рассуждений - в этом случае нужно передать в запросе `/no_think`.
:::
4. (опционально) Выберите базу знаний, на основе которой модель составит ответ. Если список баз данных пуст, то [создайте](#создать-базу-знаний) базу знаний.
5. (опциоанльно) Выберите системный промпт. По умолчанию в чате задан системный промпт. Если необходим промпт под определенную задачу, то [измените](#редактировать-системный-промпт) системный промпт.
6. Введите запрос к модели. Дождитесь ответа.
## Использовать базу знаний
Если необходимо, чтобы модель генерировала ответы не на базе своего раннего обучения, а обращалась, например, к актуальной нормативной базе или актуальным тарифам, то необходимо указать [базу знаний](ai-glossary.md#база-знаний-rag), с которой чат должен расширить свой контекст.
Для этого необходимо выбрать базу знаний и продолжить диалог.
![alt text](./image/Chat_AI_Choice_RAG_SalesHelper_1024.png)
Если база знаний отсутствует в списке, то [создайте](#создать-базу-знаний) базу знаний и добавьте документы.
### Создать базу знаний
1. [Авторизоваться в чате с LLM](#авторизация-в-чате-с-llm).
2. В левом меню выберите раздел **Базы знаний**.
3. Нажмите кнопку **Создать базу знаний**.
4. Заполните параметры базы знаний:
- **Имя**: введите имя базы знаний, имя будет отображаться при выборе базы знаний в чате.
- **Описание**: введите описание базы знаний.
5. Нажмите кнопку **Создать**.
База знаний будет создана, но в ней пока нет информации для генерации ответов модели. Добавьте документы в базу знаний.
### Добавить документ в базу знаний
1. [Авторизоваться в чате с LLM](#авторизация-в-чате-с-llm).
2. В левом меню выберите раздел **Базы знаний**.
3. В списке нажмите на нужную базу знаний.
4. Нажмите кнопку **Добавить документ**.
5. Загрузите файлы в базу знаний.
6. Нажмите **Добавить**.
## Редактировать системный промпт
По умолчанию задан простой "размытый" [промпт](ai-glossary.md#промпт), который указывает, что ответы модели должны быть полезными. Но такой чат не всегда сможет предоставить пользователю ответ, который его устроит.
В чате с LLM доступен редактор системных промптов. Возможны способы редактирования системных промптов:
- редактирование системного промпта в текущей сессии диалога с моделью;
- создание системного промпта в библиотеке системных промптов для дальнейшего использования.
### Редактирование системного промпта в текущей сессии
1. [Начните](#начать-диалог-с-моделью) диалог с моделью.
2. Системный промпт отображается над строкой для ввода текста в чате.
3. Нажмите на значок карандаша справа от системного промпта.
4. В появившемся окне справа введите содержимое промпта.
5. Нажмите кнопку **Сохранить**.
6. Содержимое системного промпта обновится.
Редактируемый системный промпт доступен для всех моделей и сохраняется только в рамках текущей сессии.
### Создать системный промпт
1. [Авторизоваться в чате с LLM](#авторизация-в-чате-с-llm).
2. В левом меню выберите раздел **Системные промпты**.
3. Нажмите кнопку **Создать системный промпт**.
4. Заполните параметры промпта:
- **Название**: введите название системного промпта.
- **Содержание**: введите содержание промпта.
5. Нажмите **Создать**.
Системный промпт добавлен в библиотеку системных промптов. Посмотреть список промптов можно в левом меню в разделе **Системные промпты**.
## Сменить тенант
В чате с LLM-моделями есть возможность работать сразу с несколькими [тенантами](ai-setting.md#создать-тенант).
Для смены текущего тенанта необходимо:
1. В верхнем меню нажмите на вкладку **Тенант**.
2. Выберите из списка тенант.
К тенанта привязаны сущности:
- модели;
- базы знаний;
- системные промпты.
Для каждого тенанта эти сущности будут отличаться.
## Очистить контекст диалога
При длительном диалоге модель накапливает [контекст](ai-glossary.md#контекст) и может начать генерировать неточные ответы ("галлюцинации"). Для предотвращения "галлюцинации" рекомендуется периодически очищать контекст диалога.
Для очистки контекста диалога нажмите на значок корзины в правом верхнем углу окна чата.
+51
View File
@@ -0,0 +1,51 @@
# Быстрый старт с AI платформа
Данная инструкция рассматривает начальную настройку сервиса **AI платформа** и отправку первого запроса к LLM-модели.
## Перед началом работы
- [Зарегистрируйтесь](../start/getting-started.md#1-регистрация-в-beeline-cloud) в личном кабинете Beeline Cloud.
## 1. Создать тенант
1. В верхнем меню нажмите на пункт **Сервисы**.
2. Выберите **Сервис AI платфома**.
3. В левом меню откройте раздел **Тенанты**.
4. Нажмите кнопку **Создать тенант**.
5. Введите имя тенанта.
6. Нажмите **Создать тенант**.
## 2. Добавить модель
1. В левом меню откройте раздел **Модель**.
2. Нажмите кнопку **Добавить модель**.
3. В поле **Тенант** выберите созданный тенант.
4. В поле **Модель** выберите из списка подходящую **LLM-модель**.
5. Установите лимит использования токенов в час.
6. Нажмите **Добавить модель**.
## 3. Перейти в чат с LLM
Протестировать модели в интерфейсе можно в чате с LLM. Доступ к чату с LLM-моделями предоставляется по уникальной ссылке, которая формируется после создания тенанта.
1. В левом меню откройте раздел **Тенанты**.
2. Нажмите на имя тенанта.
3. Из поля **Url приложения** скопируйте ссылку на чат с LLM.
4. Вставьте ссылку в браузер.
## 4. Создать системный промпт
1. В чате с LLM в левом меню откройте раздел **Системные промпты**.
2. Нажмите кнопку **Создать системный промпт**.
3. Заполните параметры промпта:
- **Название**: введите название систменого промпта;
- **Содержание**: введите содержание промпта.
4. Нажмите **Создать**.
## 5. Начать диалог с моделью
1. В чате с LLM-моделями в левом меню перейдите в раздел **Чат**.
2. Выберите из списка модель.
3. Выберите из списка системный промпт.
4. Откроется чат. В текстовом поле внизу введите запрос к LLM-модели.
5. Дождитесь ответа модели.
+26
View File
@@ -0,0 +1,26 @@
# Концепции
## База знаний (RAG)
RAG — это подход, при котором ответ LLM формируется с использованием дополнительного источника актуальных данных.
## Контекст
Контекст — это ограниченное по размеру окно, в которое должен уместиться запрос к LLM. У каждой модели контекст строго ограничен и указан в документации к ней.
## Рассуждения
Reasoning (рассуждение или логическое мышление) у LLM — это способность модели не просто воспроизводить выученные паттерны текста, а последовательно и логически выводить новую информацию из уже известных ей данных.
## Промпт
Промпт — это текстовый запрос, который вы отправляете модели, и который задает контекст и направление для ответа. LLM анализирует промпт и генерирует ответ, который является логическим продолжением текста. Чем понятнее и конкретнее сформулирован промпт, тем качественнее будет ответ.
Системные промпты — специальные инструкции, которые задают общие рамки поведения модели на протяжении всего диалога. Системный промпт устанавливается в начале общения и сообщает модели, какую роль она должна играть, какие ограничения соблюдать и какой стиль общения использовать.
В сервисе **AI-платформа** системный промпт доступен для редактирования, чтобы пользователи могли максимально настраивать поведение моделей.
## Токен
LLM представляет текст не в виде слов или букв, а в виде токенов. Токен — это несколько букв (часть слова), которые часто встречаются рядом в обучающей выборке. Текст запроса, который вы отправляете в LLM, сначала нарезается на токены, и только потом обрабатывается моделью.
+11
View File
@@ -0,0 +1,11 @@
# Обзор сервиса
Сервис **AI платфома** предоставляет доступ к большим языковым моделям (Large Language Models, LLM). LLM-модели готовы к использованию и избавляют пользователя от необходимости самостоятельного развертывания и изучения связанных технологий.
## Возможности сервиса
- Интерфейс для взаимодействия с моделями в формате чат-бота.
- Предоставляет различные [модели](ai-chat-llm.md#доступные-модели).
- Использование баз знаний (RAG).
- Редактирование системного промпта.
- Диалог с моделью.
+56
View File
@@ -0,0 +1,56 @@
# Управление сервисом
В разделе рассмотрены компоненты сервиса **AI платформа** и приведены пошаговые инструкции по их созданию и управлению компонентами.
## Создать тенант
**Тенант** представляет собой изолированный логический контейнер ресурсов сервиса (модели, базы знаний) для работы в рамках проекта. Создается в личном кабинете Beeline Cloud.
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. В верхнем меню нажмите на раздел **Сервисы**.
3. Выберите **Сервис AI платформа**.
4. В левом меню откройте раздел **Тенанты**.
5. Нажмите кнопку **Создать тенант**.
6. Введите имя тенанта.
7. Нажмите **Создать тенант**.
## Добавить модель
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. В верхнем меню нажмите на раздел **Сервисы**.
3. Выберите **Сервис AI платформа**.
4. В левом меню откройте раздел **Модели**.
5. Нажмите кнопку **Добавить модель**.
6. Заполните параметры модели:
- **Тенант**: выберите тенант, в котором будет использоваться модель.
- **Модель**: выберите из списка подходящую LLM-модель.
- **Токены**: введите лимит использования токенов в час.
7. Нажмите кнопку **Добавить модель**.
## Добавить базу знаний
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. В верхнем меню нажмите на раздел **Сервисы**.
3. Выберите **Сервис AI платформа**.
4. В левом меню откройте раздел **База знаний**.
5. Нажмите кнопку **Создать базу знаний**.
6. Заполните параметры базы знаний:
- **Тенант**: выберите из списка тенант.
- **Имя**: введите имя базы знаний.
- **Описание**: введите описание базы знаний.
7. Нажмите **Создать базу знаний**.
[Наполнение базы знаний](ai-chat-llm.md#добавить-документ-в-базу-знаний) документами, на основании которых будет генерироваться ответ модели, выполняется в чате с LLM.
## Удалить тенант, модель, базу знаний
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. В верхнем меню нажмите на раздел **Сервисы**.
3. Выберите **Сервис AI платформа**.
4. Откройте раздел c нужным компонентом сервиса:
- **Тенанты**,
- **Модели**,
- **Базы знаний**.
5. В таблице найдите строку с нужным компонентом сервиса.
6. Нажмите &hellip; и выберите **Удалить**.
7. В открывшемся окне подтвердите операцию, нажав **Удалить**.
Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

+21
View File
@@ -0,0 +1,21 @@
---
section_links:
- title: Обзор сервиса
link: /ai/ai-overview-platform.md
description: Обзор сервиса, решаемые задачи
- title: Быстрый старт
link: /ai/ai-getting-started.md
description: Создание виртуальной машины в дата-центре
- title: Настройка сервиса
link: /ai/ai-setting.md
description: Создание тенанта, добавление моделей и базы знаний
- title: Чат с LLM
link: /ai/ai-chat-llm.md
description: Интерфейс для взаимодействия с LLM-моделями в формате чат-бота
- title: Концепции
link: /ai/ai-glossary.md
description: Основные понятия, используемые в сервисе
---
# AI платформа
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 347 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

+21
View File
@@ -0,0 +1,21 @@
# Биллинг
Биллинг предназначен для управления финансовыми операциями в Beeline Cloud. В биллинге вы можете:
- контролировать счета;
- отслеживать платежи;
- анализировать потребление ресурсов.
## Разделы биллинга
### Счета
В этом разделе отображаются все выставленные счета, их статусы и суммы. Вы можете посмотреть детали каждого счета и скачать документы для бухгалтерии.
### Финансовый мониторинг
В этом разделе вы можете отслеживать движение средств, контролировать платежи и задолженности.
### Аналитика потребления
В этом разделе вы можете создавать отчеты и строить графики, чтобы отследить использование ресурсов за выбранный период.
View File
View File
-1
View File
@@ -1 +0,0 @@
# Биллинг
+17
View File
@@ -0,0 +1,17 @@
# Аналитика потребления
В этом разделе вы можете отследить использование ресурсов в проектах. Это может помочь вам контролировать расходы на сервисы.
Вы можете:
- Узнать какие проекты потребляют больше всего ресурсов.
- Сравнить использование за разные периоды.
## Как пользоваться
1. В поле **Проект** выберите один или `все проекты`.
2. В поле **Сервис** укажите нужный сервис, например, **Виртуальные дата-центры на VMware**.
3. В поле Ресурсы выберите «Все ресурсы» или конкретный тип.
4. Установите период с помощью календаря.
После этого появится отчет. Если данных нет, попробуйте изменить период, выбрать другой проект или ресурс.
+114 -23
View File
@@ -1,38 +1,129 @@
# Быстрый старт
В этой инструкции рассмотрен процесс создания виртуального ВМа UNIX и подключение к нему по протоколу SSH.
В этой инструкции рассмотрен процесс создания ресурсов, настройки связанности ,.
## Создать виртуальный ВМ
## Перед началом работы
1. Отк
2. Выбрать проект.
3. На странице **Обзор** убедитесь в наличии свободных ресурсов.
4. Нажмите **Создать ВМ**.
5. Выберите образ ОС UNIX.
6.
7. Нажмите **Cоздать ВМ**.
- [Зарегистрируйтесь](../start/getting-started.md#1-регистрация-в-beeline-cloud) в личном кабинете Beeline Cloud.
Виртуальный ВМ отобразится на странице **Облачные вычисления → ВМы**. Выполняется сборка виртуального ВМа. После окончания сборки ВМ перейдет в статус `Включен`.
## 1. Создать ВМ-шлюз
## Подключиться к ВМу по SSH
На первом шаге создайте виртуальную машину-шлюз, которая будет являться точкой управления. Чтобы ВМ была доступна из сети Интернет и имела выход в Интернет, ВМ создается:
Для подключения к виртуальному ВМу по SSH выполните команду в терминале:
- в [зоне доступности](compute-overview.md#зоны-доступности) `DMZ`;
- с внешним IP-адресом, который сопоставлен с внутренним IP-адресом `10.0.0.10`;
- с образом операционной системы:
- Linux для реализации базовой сетевой функциональности;
- VyOS для реализации расширенной сетевой функциональности.
- по IP-адресу ВМа:
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. На странице **Мой проект** нажмите кнопку **Создать ресурс → Виртуальная машина**.
3. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ.
- **Зона доступности**: выберите зону доступности, содержащую в названии `DMZ`.
4. В блоке **Выбор образа** выберите тип и версию операционной системы:
- выберите образ операционной системы Linux для реализации базовой сетевой функциональности;
- выберите образ операционной системы VyOS для реализации расширенной сетевой функциональности.
5. В блоке **Конфигурация** выберите количество vCPU и RAM.
6. В блоке **Диски** настройте загрузочный диск:
- **Загрузочный диск**: выберите тип диска и укажите размер загрузочного диска.
7. Нажмите [создать ключ](../admin/ssh.md#добавить-ssh-ключ) для создания SSH-ключа для подключения к ВМ.
8. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя латинскими символами в нижнем регистре.
9. В блоке **Настройки сети** выберите:
- **IPv4-адрес**: выберите внешний IP-адрес.
10. Нажмите **Создать виртуальную машину**.
Виртуальная машина отобразится на странице **Виртуальные машины**. Выполняется сборка виртуальной машины. После окончания сборки виртуальная машина перейдет в статус `Включена`.
## 2. Создать ВМ
На втором шаге в проекте Beeline Cloud создайте виртуальные машины в [зонах доступности](compute-overview.md#зоны-доступности) `Inside` или `DMZ` и присвойте им внутренние IP-адреса.
1. На странице **Виртуальные машины** нажмите кнопку **Создать виртуальную машину**.
2. [Заполните](./compute-how-to/compute-servers-create.md#создать-виртуальную-машину) параметры ВМ.
3. Нажмите **Создать виртуальную машину**.
Виртуальная машина отобразится на странице **Виртуальные машины**. Выполняется сборка виртуальной машины. После окончания сборки виртуальная машина перейдет в статус `Включена`.
## 3. Подключиться к ВМ
:::: tabs
= по внешнему IP-адресу
Если ВМ создана в зоне `DMZ` и ей присвоен внешний IP-адрес, то подключитесь к ВМ по SSH:
```
ssh -l <логин пользователя> -i <путь до приватного ключа> <IP-адрес ВМа>
```
- по полному доменному имени ВМа (FQDN):
```
ssh -l <логин пользователя> -i <путь до приватного ключа> <FQDN ВМа>
ssh <логин>@<внешний_IP>
```
Пример команды подключения к ВМу по IP-адресу:
где:
- `логин`: имя пользователя для входа на ВМ, указанное при создании ВМ;
- `внешний_IP`: внешний IP-адрес виртуальной машины.
= по внутреннему IP-адресу
Если ВМ создана в зоне `Inside` или `DMZ` и ей присвоен внутренний IP-адрес, то для подключения к ВМ используйте один из вариантов:
- [через промежуточную виртуальную машину (джамп-хост)](https://docs.cloud.dfcloud.ru/compute/compute-how-to/compute-connect-inside.html#_3-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-ssh);
- [настроить site-to-site VPN c помощью VyOS](./compute-how-to/compute-network/compute-vpn-vyos.md).
::::
## 4. Проверить сетевую доступность ВМ проекта
Возможность подключения из внешних сетей присутствует только для ВМ, созданных в зоне доступности `DMZ`. ВМ, созданные в зоне `Inside` не подразумевают доступа в интернет без [дополнительной настройки](././compute-how-to/compute-network/compute-network-inside.md#подключение-вм-закрытого-контура-к-интернету).
Перед проверкой доступности из ВМ проекта убедитесь:
- протокол ICMP разрешен на всех Firewall, в т.ч. и в самой ОС;
- [site-to-site VPN](././compute-how-to/compute-network/compute-vpn-vyos.md) организации настроен, используется частный диапазон сетей RFC 1918;
- из VPN-туннеля настроена маршрутизация в сеть интернет.
Для проверки доступности из ВМ проекта и установки ПО на ВМ:
1. Выполните команду на ВМ проекта:
```sh
curl ifconfig.me
```
$ ssh -l ivanov -i /home/user/.ssh/id_rsa 10.0.0.1
2. В результате команды отобразится внешний IP-адрес ВМ, с которого осуществляется выход в интернет.
3. Установите ПО на ВМ:
:::: tabs
= ВМ в зоне доступности DMZ
Рассмотрим установку веб-сервера Nginx на ВМ, созданной в зоне доступности `DMZ`.
- Установите докер:
```sh
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
## Далее
- Запустите Nginx:
```sh
docker run -d --rm --name nginx -p80:80 nginx
```
- Проверьте, что Nginx запустился:
```sh
curl localhost
```
- Остановите контейнер Nginx:
```sh
docker rm -f nginx
```
= ВМ в зоне доступности Inside
Установка ПО на ВМ, созданных в зоне доступности `Inside`, рассмотрена в [инструкции](././compute-how-to/compute-network/compute-network-inside.md#подключение-вм-закрытого-контура-к-интернету).
::::
@@ -0,0 +1,13 @@
---
section_links:
- title: Подключение по SSH к ВМ по внешнему IP-адресу
link: /compute/compute-how-to/compute-connect-public.md
description: Подключиться по SSH к ВМ по внешнему IP-адресу
- title: Подключение по SSH к ВМ по внутреннему IP-адресу
link: /compute/compute-how-to/compute-connect-inside.md
description: Подключиться по SSH к ВМ по внутреннему IP-адресу через джамп-хост
---
# Подключение к ВМ
Рассмотрено подключение по SSH к виртуальной машине по внешнему IP-адресу и к виртуальной машине по внутреннему IP-адресу.
@@ -0,0 +1,103 @@
# Подключение по SSH к виртуальной машине по внутреннему IP-адресу
Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](compute-ip.md#внешние-ip-адреса).
## Перед началом работы
Перед подключением проверьте выполнение условий и наличие данных:
- Статус виртуальной машины — `Включена`.
- Виртуальной машине [назначен](../compute-how-to/compute-ip.md#внутренние-ip-адреса) внутренний IP-адрес.
- Имя пользователя для входа на ВМ.
- Подготовлена ключевая пара для подключения к ВМ по SSH:
- приватный ключ сохранен на компьютере, с которого выполняется подключение;
- публичный ключ [добавлен](../../admin/ssh.md#добавить-ssh-ключ) в профиль пользователя в личном кабинете Beeline Cloud.
- На компьютере, с которого выполняется подключение к ВМ:
- разрешен удаленный доступ по протоколу SSH (TCP-порт 22);
- есть доступ в сеть интернет, протокол ICMP не заблокирован на Firewall-ах;
- VPN сети организации позволяет осуществлять соединение в сеть Интернет.
Если вы используете разные SSH-ключи для подключения к ВМ по внутреннему IP-адресу и к промежуточной ВМ с внешним IP-адресом, то добавьте оба публичных ключа в профиль пользователя в личном кабинете Beeline Cloud.
## 1. Посмотреть внешний IP-адрес и его статус
Перед созданием промежуточной ВМ с FIP убедитесь, что внешний IP-адрес доступен для назначения.
Значение внешнего IP-адреса и его статус можно [посмотреть](compute-ip.md#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**.
Внешний IP-адрес может быть занят другой виртуальной машиной. Если вы не планируете использовать эту ВМ в качестве джамп-хоста, то [отвяжите внешний IP-адрес](compute-ip.md#назначить-вм-внешний-ip-адрес) от этой ВМ и [создайте новую промежуточную ВМ с FIP](#2-создать-промежуточную-вм).
## 2. Создать промежуточную ВМ
Промежуточная ВМ (джамп-хост) — это виртуальная машина с внешним IP-адресом, созданная в специальной приграничной зоне `DMZ` и имеющая доступ к внутренней сети. Джамп-хост является шлюзом между интернетом и внутренней сетью.
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите **Создать виртуальную машину**.
6. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ.
- **Зона доступности**: выберите зону доступности, содержащую в названии `DMZ`.
:::warning Важно
Джамп-хост и внешний IP-адрес должны находиться в одной [зоне доступности `DMZ`](./../compute-overview.md#зоны-доступности) для связанности из интернета.
:::
7. В блоке **Выбор образа** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
8. В блоке **Конфигурация** выберите количество vCPU и RAM.
9. В блоке **Диски** настройте загрузочный диск:
- **Загрузочный диск**: выберите [тип диска](../compute-overview.md#диски) и укажите размер загрузочного диска.
10. Выберите SSH-ключ для подключения к ВМ по SSH.
11. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя латинскими символами в нижнем регистре.
12. В блоке **Настройки сети** выберите:
- **IPv4-адрес**: выберите из списка внешний IP-адрес.
13. Нажмите **Создать виртуальную машину**.
## 3. Конфигурация SSH
1. Откройте конфигурационный файл SSH `~/.ssh/config` для ОС Linux или `C:\users\имя_пользователя\.ssh\config` для ОС Windows.
2. Добавьте в конфигурационный файл сведения о виртуальных машинах:
```
host jumphost
hostname <jumphost>
user <jump_login>
IdentityFile <jump-secret-file-path>
host myhost
hostname <myhost>
user <myhost-login>
IdentityFile <myhost-secret-file-path>
ProxyJump jumphost
```
где:
- `jumphost`: внешний IP-адрес джамп-хоста;
- `jump_login`: имя пользователя для входа на джамп-хост, указанное при создании ВМ;
- `jump-secret-file-path`: путь к приватному ключу джамп-хоста;
- `myhost`: внутренний IP-адрес ВМ, к которой требуется подключиться;
- `myhost-login`: имя пользователя для входа на ВМ, указанное при создании ВМ;
- `myhost-secret-file-path`: путь к приватному ключу ВМ, к которой требуется подключиться.
### Пример содержимого файла ~/.ssh/config
```
host jumphost
hostname 77.41.188.88
user admin
IdentityFile ~/.ssh/id_ed25519
host myhost
hostname 10.0.0.12
user ivanov
IdentityFile ~/.ssh/id_ed25519
ProxyJump jumphost
```
## 4. Подключиться к ВМ по внутреннему IP-адресу
1. Откройте терминал.
2. Выполните команду:
```
ssh myhost
```
@@ -0,0 +1,49 @@
# Подключение по SSH к виртуальной машине по внешнему IP-адресу
Подключение к ВМ выполняется по протоколу SSH с [помощью ключевой пары](../../admin/ssh.md).
:::tip Информация
Чтобы подключаться к виртуальной машине по SSH, [добавьте](../../admin/ssh.md#добавить-ssh-ключ) публичную часть ключа в профиль пользователя перед созданием виртуальной машины. Для существующих виртуальных машин добавление SSH-ключа невозможно.
:::
## Перед началом работы
Перед подключением проверьте выполнение условий и наличие данных:
- Статус виртуальной машины — `Включена`.
- Виртуальной машине [назначен](../compute-how-to/compute-ip.md#назначить-вм-внешний-ip-адрес) внешний IP-адрес.
- Узнайте имя пользователя для входа на ВМ.
- Приватная часть SSH-ключа сохранена на компьютере, с которого выполняется подключение.
## Подключиться к ВМ
1. Откройте терминал.
2. Выполните команду в терминале:
```
ssh <логин>@<внешний_IP>
```
где:
- `логин`: [имя пользователя ОС по умолчанию](./../compute-overview.md#операционная-система);
- `внешний_IP`: внешний IP-адрес виртуальной машины можно узнать на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины**.
- Если на вашем устройстве есть несколько приватных ключей или вы переместили приватный ключ из каталога по умолчанию, то дополнительно укажите путь к приватному ключу:
```
ssh -o IdentityFile=<путь_к_приватному_ключу> <логин>@<внешний_IP>
```
3. Подтвердите подключение.
## Пример команды для подключения к ВМ
::::tabs
= Linux/macOS
```
ssh -o IdentityFile=~/.ssh/id_ed25519 debian@<внешний_IP>
```
= Windows 10/11
```
ssh -o IdentityFile=%USERPROFILE%\.ssh\id_ed25519 debian@<внешний_IP>
```
::::
@@ -1,36 +0,0 @@
# Подключение к ВМ
Подключение к ВМ выполняется по протоколу SSH с [помощью ключевой пары](../../admin/ssh.md).
## Перед началом работы
- Статус ВМ `Включен`.
## Подключиться к ВМ
1. Откройте терминал.
2. Выполните команду в терминале:
- **подключиться из интернета к ВМ, созданной в зоне `DMZ`**:
```
ssh -l <имя пользователя> <публичный IP-адрес ВМ>
```
где:
- `имя пользователя`: имя пользователя ВМ соответствует [названию операционной системы ВМ](./../compute-overview.md#операционная-система), но с маленькой буквы и без указания версии ОС;
- `публичный IP-адрес ВМ`: публичный IP-адрес ВМ можно узнать на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины**, нажмите на имя ВМ и скопируйте IP-адрес.
- **подключиться из интернета к ВМ, созданной в зоне `Inside`**:
```
ssh -o ProxyJump=<имя пользователя1>@<публичный IP-адрес ВМ> <имя пользователя2>@<приватный IP-адрес ВМ>
```
где:
- `имя пользователя1`: имя пользователя ВМ, через которую будет выполнено подключение к ВМ `Inside`-зоны, соответствует [названию операционной системы ВМ](./../compute-overview.md#операционная-система), но с маленькой буквы и без указания версии ОС;
- `имя пользователя2`: имя пользователя ВМ `Inside`-зоны, соответствует [названию операционной системы ВМ](./../compute-overview.md#операционная-система), но с маленькой буквы и без указания версии ОС;
- `публичный IP-адрес ВМ`: публичный IP-адрес ВМ, через которую будет выполнено подключение к ВМ `Inside`-зоны;
- `приватный IP-адрес ВМ`: приватный IP-адрес ВМ `Inside`-зоны, к которой нужно подключиться из интернета;
- IP-адреса ВМ можно узнать на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины**, нажмите на имя ВМ и скопируйте IP-адрес.
3. Подтвердите подключение.
+43 -18
View File
@@ -1,28 +1,24 @@
# IP-адрес
IP-адрес — это вычислительный ресурс облака. В облачных сервисах используются внутренние IPv4-адреса.
Каждая виртуальная машина при создании получает IP-адрес. В сервисе поддерживаются только IPv4-адреса.
Внутренние IP-адреса назначаются автоматически или выбираются из списка зарезервированных адресов при создании ВМ.
## Внутренние IP-адреса
Список зарезервированных адресов формируется из:
- IP-адресов, [созданных вручную](#создать-ip-адрес);
- IP-адресов, [сохраненных в проекте](#сохранить-ip-адрес-в-проекте).
Внутренний IP-адрес используется для взаимодействия между ВМ внутри одной сети. Внутренний IP-адрес не виден из интернета.
::: warning Важно
Привязка и отвязка IP-адресов возможна внутри одной [зоны доступности](../compute-overview.md#зоны-доступности).
Внутренний IP-адрес назначается виртуальной машине автоматически или выбираются из списка зарезервированных адресов при ее создании.
:::tip Информация
Виртуальная машина доступна из интернета только через внешний IP-адрес. Для доступа из интернета к виртуальной машине по внутреннему IP-адресу используйте виртуальную машину с внешним IP-адресом как джамп-хост.
:::
## Типы IP-адресов
## Внешние IP-адреса
`Публичный` IP-адрес, по которому ВМ доступна из интернета.
Внешний IP-адрес — это IP-адрес, который доступен из интернета. Внешний IP-адрес выдается организации при регистрации аккаунта Beeline Cloud.
`Приватный` — IP-адрес, по которому ВМ доступна в [зоне `Inside`](../compute-overview.md#зоны-доступности).
В сервисе **Виртуальные машины** предусмотрен один внешний IP-адрес (Floating IP или FIP), сопоставленный с внутренним IP-адрес `10.0.0.10`. Значение внешнего IP-адреса можно [посмотреть](#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**.
::: warning Важно
Один публичный IP-адрес предоставляется одной организации. Не удаляйте публичный IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
Публичный IP-адрес можно отвязать от ВМ и назначить другой ВМ.
:::
Чтобы ВМ без ограничений была доступна из интернета и получала доступ к ресурсам интернета, ей должен быть присвоен внешний IP-адрес. Внешний IP-адрес [назначается](#назначить-вм-внешний-ip-адрес) виртуальной машине при ее создании. Существующей ВМ назначить внешний IP-адрес нельзя.
## Статусы IP-адресов
@@ -53,11 +49,36 @@ IP-адрес — это вычислительный ресурс облака.
- добавьте тег адресу при необходимости.
7. Нажмите **Создать**.
На странице **Облачные вычисления → IP-адреса** появится новый IP-адрес со статусом `Зарезервирован`.
На странице **Виртуальные машины → IP-адреса** появится новый IP-адрес со статусом `Зарезервирован`.
## Посмотреть внешний IP-адрес
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**.
5. Отобразится список всех IP-адресов проекта.
6. Внешний IP-адрес сопоставлен с внутренним IP-адресом `10.0.0.10` и отмечен тегом `Внешний IP`. Значение внешнего IP-адреса указано в поле `Имя`.
7. Если для внешнего IP-адреса отображается статус `Зарезервирован`, то внешний IP-адрес [доступен для назначения](#назначить-вм-внешний-ip-адрес).
## Назначить ВМ внешний IP-адрес
Внешний IP-адрес можно привязать ВМ при условиях:
- IP-адрес находится в статусе `Зарезервирован`;
- виртуальная машина и внешний IP-адрес находятся в одной [зоне доступности](./../compute-overview.md#зоны-доступности);
- внешний IP-адрес можно назначить только новой ВМ, существующей ВМ привязать внешний IP-адрес не получится.
Чтобы привязать внешний IP-адрес новой ВМ, то при создании ВМ в поле **IPv4-адрес** выберите внешний IP-адрес.
Если вам требуется отвязать внешний IP-адрес от существующей ВМ:
- убедитесь, что для IP-адреса не указан признак `Автоудаление`, при необходимости [снимите признак `Автоудаление`](#сохранить-ip-адрес-в-проекте) у IP-адреса;
- [удалите ВМ](./compute-servers-manage.md#удалить-вм).
## Сохранить IP-адрес в проекте
При удалении ВМ его IP-адрес освобождается и не может быть повторно использован в проекте. Если вам требуется сохранить IP-адрес ВМ и привязать этот адрес новой ВМ, то отключите автоудаление адреса. IP-адрес сохранится в вашем проекте и может быть назначен новой ВМ.
При удалении ВМ её IP-адрес удаляется и не может быть повторно использован в проекте. Если вам требуется сохранить IP-адрес и использовать его для другой ВМ, то отключите автоудаление адреса. IP-адрес сохранится в вашем проекте и может быть назначен новой ВМ.
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
@@ -70,7 +91,7 @@ IP-адрес — это вычислительный ресурс облака.
## Присвоить имя IP-адресу
Имя IP-адреса отображается только на странице **Облачные вычисления → IP-адреса**. На странице ВМ отображается значение IP-адреса.
Имя IP-адреса отображается только на странице **Виртуальные машины → IP-адреса**. На параметрах виртуальной машины отображается значение IP-адреса.
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
@@ -83,6 +104,10 @@ IP-адрес — это вычислительный ресурс облака.
## Удалить IP-адрес
:::warning Важно
Не удаляйте внешний IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
:::
Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ.
Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную:
@@ -0,0 +1,12 @@
---
section_links:
- title: Настройка site-to-site VPN с помощью VyOS
link: /compute/compute-how-to/compute-network/compute-vpn-vyos.md
description: Создание IPSEC-туннеля между частной сетью и Beeline Cloud с использованием VyOS 1.4.0
- title: Подключение ВМ закрытого контура к интернету
link: /compute/compute-how-to/compute-network/compute-network-inside.md
description: Настройка доступа в интернет для ВМ, созданных в зоне доступности Inside, и установка ПО на ВМ
---
# Сети
@@ -0,0 +1,122 @@
# Подключение ВМ закрытого контура к интернету
В зависимости от доступов ВМ в Интернет или VPN настройте DNS, NTP и другие службы (пакетный менеджер) для начала установки ПО.
## Пример конфигурации для службы обновления пакетов
1. Настройте сервис веб-прокси один из способов:
:::: tabs
= VyOS
1. Перейдите в режим конфигурирования:
```sh
configure
```
2. Включите слушание запросов (по умолчанию используется порт 3128):
```sh
set service webproxy listen-address 10.0.0.10 disable-transparent
```
3. Проверьте корректность конфигурации:
```sh
show service webproxy
```
4. Сохраните конфигурацию:
```sh
save
```
5. Примените конфигурацию:
```sh
commit
```
= Ubuntu
1. Обновление списка пакетов:
```sh
sudo apt update
```
2. Установка Tinyproxy:
```sh
sudo apt install tinyproxy
```
3. По умолчанию Tinyproxy может разрешать доступ только с локальной машины (127.0.0.1). Необходимо разрешить доступ устройствам из вашей локальной сети.
- откройте конфигурационный файл:
```sh
sudo nano /etc/tinyproxy/tinyproxy.conf
```
- настройте разрешение доступа с необходимых вам сетей, закомментировав (#) все остальные строки:
```sh
Allow 10.0.0.5/24
Allow 0.0.0.0/0 - разрешает доступ из любой сети
```
- установите порт (по умолчанию 8888):
```sh
Port 3128
```
- сохраните конфигурационный файл (Ctrl+O, Enter) и выйдите (Ctrl+X).
4. Запуск и проверка сервиса:
перезапустите сервис для применения новых настроек:
```
sudo systemctl restart tinyproxy
```
включите автозапуск (чтобы сервис прокси запускался после перезагрузки сервера):
```
sudo systemctl enable tinyproxy
```
проверьте статус (убедитесь, что он active (running)):
```
sudo systemctl status tinyproxy
```
::::
2. Настройка конфигурации (клиентская часть) на ВМ с ОС Ubuntu в зоне Inside:
- Создайте или отредактируйте конфигурационный файл для apt:
```
sudo nano /etc/apt/apt.conf.d/proxy.conf
```
- Добавьте следующие строки. Обратите внимание на синтаксис, который отличается от синтаксиса переменных окружения:
```
Acquire::http::Proxy "http://10.0.0.10:3128/";
Acquire::https::Proxy "http://10.0.0.10:3128/";
```
3. Сохраните и закройте файл. Теперь `sudo apt update` будет работать через прокси.
## Пример конфигурации для использования стороннего DNS-сервера на ВМ c ОС Ubuntu в Inside
Если вы измените DNS-серверы через конфигурационный файл Netplan (sudo nano/etc/netplan/*.yaml), эти настройки СОХРАНЯТСЯ после перезагрузки.
1. Отредактируйте файл *.yaml и добавьте блоки dhcp4-overrides и nameservers:
```
network:
version: 2
ethernets:
enp3s0:
dhcp4: true
set-name: "enp3s0"
dhcp4-overrides: # <--- Добавьте этот блок
use-dns: false # <--- Клиент не будет использовать DNS-сервера, полученные от DHCP-сервера
nameservers:
addresses: [CORP_DNS_IP] # <--- укажите IP-адрес требуемого DNS-сервера
```
2. Примените настройки:
```
sudo netplan apply
```
3. Проверьте корректность конфигурации:
```
resolvectl status
```
@@ -0,0 +1,290 @@
# Настройка site-to-site VPN с помощью VyOS
В этом руководстве рассмотрено создание VPN-туннеля site-to-site между частной сетью и Beeline Cloud с использованием VyOS версии 1.4.0.
В процессе выполнения этого руководства вы:
- настроите VPN-сервер IKEv2 на виртуальной машине с VyOS, расположенной в Beeline Cloud;
- подключитесь к VPN-серверу из частной сети;
- настроите маршрутизацию для беспрепятсвенного хождения трафика между частной сетью и Beeline Cloud.
Виртуальная частная сеть (VPN) позволяет надежно шифровать трафик, проходящий через ненадежные сети, например в кафе, на конференции или в аэропорту.
Internet Key Exchange v2 (IKEv2) — это протокол, обеспечивающий прямое туннелирование IPSEC между сервером и клиентом. В реализациях VPN IKEv2 IPSEC обеспечивает шифрование сетевого трафика. IKEv2 изначально поддерживается на некоторых платформах (OS X 10.11+, iOS 9.1+ и Windows 10) без необходимости установки дополнительных приложений и довольно плавно справляется с перебоями в работе клиентов.
## Перед началом работы
Условные обозначения:
- **customer site**: локальное защищенное пространство;
- **beeline cloud**: изолированное пространство в Beeline Cloud, в котором создаются ресурсы.
Для настройки site-to-site VPN понадобится:
- одна виртуальная машина с ОС VyOS версии 1.4.0 в **beeline cloud** в качестве промежуточной ВМ (джамп-хоста), созданная по [инструкции](../compute-connect-inside.md#2-создать-промежуточную-вм);
- одна виртуальная машина с ОС VyOS версии 1.4.0, созданная в **customer site** с доступом в интернет с постоянным публичным IP-адресом `client real ip`.
- если в сети **customer site** используется ISO-образ VyOS, то установите OC VyOS на виртуальную машину согласно официальной документации.
![Схема](./image/ipsec.svg)
## 1. Посмотреть IP-адреса
Для настройки VPN-туннеля необходимо узнать публичный и внутренний IP-адреса виртуальных машин, на которых конфигурируется маршрутизатор VyOS.
В руководстве используются следующие значения IP-адресов виртуальных машин с ОС VyOS:
| IP-адрес | **beeline cloud** | **customer site** |
|---|---|---|
| публичный IP | 77.41.188.88 | 77.41.188.163 |
| внутренний IP | 10.0.0.10 | 172.16.0.10 |
### Узнать публичный IP-адрес маршрутизатора
Для маршрутизатора на стороне **customer site** IP-адреса можно узнать c помощью команд:
- для публичного IP-адреса:
```sh
curl ifconfig.me
```
- для внутреннего IP-адреса:
```sh
ip a
```
Для маршрутизатора на стороне **beeline cloud** публичный IP-адрес можно узнать на странице сервиса **Виртуальные машины** в разделе **IP-адреса**.
IP-адрес `10.0.0.10` является внутренним и сопоставляется с публичным IP-адресом (Floating IP или FIP). Значение публичного IP-адреса указано в поле **Имя** в разделе **IP-адреса**. По публичному IP-адресу можно подключиться к маршрутизатору VyOS по SSH.
## 2. Сгенерировать ключевые пары
1. Выполните команды для генерации ключевых пар на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
- Откройте терминал и подключитесь к маршрутизатору VyOS сети **beeline cloud** по публичному IP-адресу:
```bash
ssh vyos@77.41.188.88
```
- Перейдите в режим конфигурирования:
```bash
configure
```
- Сгнерируйте сертификаты для аутентификации, во время выполнения команды согласитесь со всеми значениями по умолчанию, нажав `Enter`:
```bash
run generate pki key-pair install 'beeline-cloud'
show pki key-pair 'beeline-cloud' public
```
Результатом команды будет публичный ключ.
= customer site
- Откройте еще один терминал и подключитесь к ВМ с VyOS **customer site** по внутреннему IP-адресу:
```bash
ssh vyos@172.16.0.10
```
- Перейдите в режим конфигурирования:
```bash
configure
```
- Сгнерируйте сертификаты для аутентификации, во время выполнения команды согласитесь со всеми значениями по умолчанию, нажав `Enter`:
```bash
run generate pki key-pair install 'customer-site'
show pki key-pair 'customer-site' public
```
Результатом команды будет публичный ключ.
::::
2. Публичные ключи, полученные на шаге 1, необходимо перекрестно добавить на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set pki key-pair 'customer-site' public key 'FAAOCAQ8AMII...' # - ключ из customer site
```
= customer site
```bash
set pki key-pair 'beeline-cloud' public key 'MIIBIjANBgkqh...' # - ключ из beeline cloud
```
::::
## 3. Настроить IPSEC
1. Выберите сетевой интерфейс, на котором будет настраиваться IPSEC-туннель, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set vpn ipsec interface eth1
```
= customer site
- Узнайте имя сетевого интерфейса на маршрутизаторе, на котором будет настраиваться IPSEC:
```bash
show interfaces
```
- Настройте интерфейс IPSEC:
```bash
set vpn ipsec interface <имя_сетевого_интерфейса>
```
::::
2. Для настройки IPSEC-туннеля используется протокол IKE набора протоколов IPSEC, который имеет две фазы.
- для настройки первой фазы выполните команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
set vpn ipsec ike-group aes256-sha256 dead-peer-detection action 'restart'
set vpn ipsec ike-group aes256-sha256 dead-peer-detection interval '30'
set vpn ipsec ike-group aes256-sha256 dead-peer-detection timeout '120'
set vpn ipsec ike-group aes256-sha256 key-exchange 'ikev2'
set vpn ipsec ike-group aes256-sha256 lifetime '3600'
set vpn ipsec ike-group aes256-sha256 proposal 1 dh-group '19'
```
- для настройки второй фазы выполните команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
set vpn ipsec esp-group aes256-sha256 proposal 1 encryption aes256
set vpn ipsec esp-group aes256-sha256 proposal 1 hash sha256
set vpn ipsec esp-group aes256-sha256 lifetime '28800'
set vpn ipsec esp-group aes256-sha256 mode 'tunnel'
set vpn ipsec esp-group aes256-sha256 pfs 'dh-group19'
```
3. Настройте пиры и аутентификацию с использованием [публичных ключевых пар](#2-сгенерировать-ключевые-пары), выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication mode 'rsa'
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication rsa local-key 'beeline-cloud'
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication rsa remote-key 'customer-site'
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication mode 'rsa'
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication rsa local-key 'customer-site'
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication rsa remote-key 'beeline-cloud'
```
::::
4. Настройте для пиров адреса подключения, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
На этом шаге [укажите ваши значения IP-адресов](#1-посмотреть-ip-адреса) виртуальных машин с VyOS.
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE ike-group 'aes256-sha256'
set vpn ipsec site-to-site peer CUSTOMER-SITE local-address '10.0.0.10'
set vpn ipsec site-to-site peer CUSTOMER-SITE remote-address '77.41.188.163'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 esp-group 'aes256-sha256'
set vpn ipsec site-to-site peer CUSTOMER-SITE default-esp-group 'aes256-sha256'
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD ike-group 'aes256-sha256'
set vpn ipsec site-to-site peer BEELINE-CLOUD local-address '172.16.0.10'
set vpn ipsec site-to-site peer BEELINE-CLOUD remote-address '77.41.188.88'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 esp-group 'aes256-sha256'
set vpn ipsec site-to-site peer BEELINE-CLOUD default-esp-group 'aes256-sha256'
```
::::
5. Настройте статические маршруты, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
Для примера, в **customer site** используется сеть с адресом `172.16/16`, в **beeline cloud** — две сети: `10/8` и `192.168/16`.
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 local prefix '10.0.0.0/8'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 local prefix '192.168.0.0/16'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 remote prefix '172.16.0.0/16'
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 local prefix '172.16.0.0/16'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 remote prefix '10.0.0.0/8'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 remote prefix '192.168.0.0/16'
```
::::
6. Укажите *инициатора* и *ответчика*, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE connection-type respond
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD connection-type initiate
```
::::
7. Сохраните конфигурации, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
save
```
8. Примените конфигурации, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
commit
```
## 4. Проверить соединение
Выполните команду на любом из маршрутизаторов в сети **beeline cloud** или в сети **customer site**:
```bash
run show vpn ipsec status
ping -c 3 172.16.0.10
ping -c 3 10.0.0.10
```
## Диагностика неисправностей
Если во время применения конфигурации команда `commit` завершится с ошибкой, то попробуйте выполнить команды для диагностики неисправностей.
Основные команды для диагностики проблем:
- `run show vpn ipsec status`
- `run show vpn ipsec state`
- `run show vpn ipsec sa`
- `run show vpn ipsec policy`
- `run show log vpn`
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

@@ -1,4 +1,4 @@
# Создание виртуальные машины
# Создание виртуальной машины
## Создать виртуальную машину
@@ -9,37 +9,35 @@
5. Нажмите **Создать виртуальную машину**.
6. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ:
- допустимая длина 63 символа с учетом зоны DNS проекта;
- длина от 3 до 63 символов;
- используйте только строчные латинские буквы, цифры и дефис;
- не используйте дефис в начале или в конце имени.
- **Зона доступности**: выберите подходящую [зону доступности](../compute-overview.md#зоны-доступности).
- Укажите количество создаваемых ВМ.
7. В блоке **Выбор образа** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
8. В блоке **Конфигурация** выберите количество ОЗУ и ЦПУ. Наборы ресурсов заранее скомпонованы по оптимальным параметрам.
7. В блоке **Образ загрузочного диска** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
8. В блоке **Конфигурация** выберите количество vCPU и RAM. Наборы ресурсов заранее скомпонованы по оптимальным параметрам.
::: tip Информация
При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество ОЗУ.
При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество RAM.
:::
9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски:
- **Загрузочный диск**: выберите тип хранения и укажите размер загрузочного диска.
- Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавьте диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже.
9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски:
- **Загрузочный диск**: выберите [тип диска](../compute-overview.md#диски) и укажите размер загрузочного диска.
- Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавить диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже.
::: warning Важно
К ВМ можно подключить не более 28 дисков, включая загрузочный.
:::
10. Выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
11. В блоке **Настройки сети** выберите:
- **IPv4-адрес**: выберите способ получения внутреннего IP-адреса для ВМ:
- выберите **Автоматически**, чтобы получить IP-адрес автоматически;
- выберите адрес из списка. В списке адресов отображаются [созданные вручную IP-адреса](compute-ip.md#создать-ip-адрес) и [сохраненные IP-адреса](compute-ip.md#сохранить-ip-адрес-в-проекте), которые доступны для переиспользования.
::: warning Важно
Вашей организации предоставлен один [публичный IP-адрес](compute-ip.md#типы-адресов). Назначьте публичный IP-адрес ВМ, создаваемой в DMZ-зоне, и получите доступ из интернета к виртуальным машинам.
:::
12. В блоке **Размещения** выберите:
10. Выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
11. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя латинскими символами в нижнем регистре.
12. В блоке **Настройка сети** выберите:
- **IPv4-адрес**: выберите способ получения IP-адреса для ВМ:
- выберите **Внутренний (назначится автоматически)**, чтобы получить IP-адрес автоматически, автоматически назначаются [внутренние IP-адреса](compute-ip.md#внутренние-ip-адреса);
- выберите адрес из списка. В списке адресов отображается [зарезервированные IP-адреса](compute-ip.md#статусы-ip-адресов).
13. В блоке **Размещения** выберите:
- **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](compute-affinity.md) создайте заранее.
13. Установите флажок **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
14. Нажмите **Создать виртуальную машину**.
14. Отметьте **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
15. Нажмите **Создать виртуальную машину**.
ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](compute-ip.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`.
Виртуальная машина будет создана с `root`-правами.
## Добавить диск
Добавление дополнительного диска к ВМ состоит из двух шагов:
+54 -64
View File
@@ -10,24 +10,67 @@
- количество CPU;
- объем RAM;
- тип и размер диска;
- регион доступности.
- зона доступности.
## Зоны доступности
Виртуальную машину можно создать в одной из зон доступности:
Зона доступности — это один или несколько центров обработки данных (ЦОД), в которых могут быть размещены компоненты облачной инфраструктуры.
- `Inside` — внутренняя зона не подразумевает доступ из интернета к виртуальным машинам.
- `DMZ` — демилитаризованная зона подразумевает доступ из интернета к виртуальным машинам.
| Зона доступности |Дата-центр |
|---|---|
|`msk-dc-1`|[Останкино](https://dc.ostankino.ru/)|
<!--|`msk-dc-3`|[Oxygen](https://o2dc.ru/)|
|`msk-dc-5`|[Филанко](https://datahouse.ru/datacenter/nagornaya/)|
|`ytc-dc-1`|[ЯТЦ Модуль 3](../platform/zones.md#доступные-центры-обработки-данных)|
|`ytc-dc-2`|[ЯТЦ Модуль 5](../platform/zones.md#доступные-центры-обработки-данных)|
|`ytc-dc-3`|[ЯТЦ Модуль 6](../platform/zones.md#доступные-центры-обработки-данных)|-->
К виртуальной машине, созданной в зоне `DMZ`, можно подключиться из интернета по SSH.
Доступны сетевые периметры:
Доступ из интернета к виртуальным машинам, созданным в зоне `Inside` осуществляется:
- `Inside` — закрытый контур, не подразумевает доступ в/из интернета к виртуальным машинам. По умолчанию все ВМ в зоне `Inside` имеют маршруты до сетей `Inside` и `DMZ`.
- `DMZ` — демилитаризованная зона, подразумевает доступ из интернета к виртуальным машинам. По умолчанию все ВМ в зоне `DMZ` с внутренним IP-адресом имеют доступ в интернет через служебный внешний IP-организации организации, недоступный пользователям для управления
- создайте ВМ в зоне `DMZ`;
- назначьте ВM публичный IP-адрес;
- [подключитесь к ВМ](./compute-how-to/compute-connect.md#подключиться-к-вм) `Inside`-зоны через виртуальную машину `DMZ`-зоны.
## Шаблоны конфигурации ВМ
## Размещение виртуальных машин
При создании виртуальной машины доступны готовые конфигурации CPU и RAM. Произвольные конфигурации недоступны.
## Физические платформы
Сервис предоставляет различные виды физических процессоров. Выбор платформы гарантирует тип физического процессора в дата-центре и определяет набор допустимых конфигураций CPU и RAM.
| Платформа | Процессор |Частота, ГГц | Кол-во физических CPU на сервере | RAM, ГБ | Зона доступности (*)|Характеристики на 1 ВМ (**)|
|---|---|---|---|---|---|---|
| Intel Ice Lake | Intel Xeon Platinum 8358 | 2,6 | 2x32 |1536|[Доступна во всех зонах](#зоны-доступности)|**Кол-во vCPU:** до 32<br> **Объем RAM:** до 256 ГБ|
| Intel Ice Lake | Intel Xeon Platinum 8378A | 3 | 2x32 |1536|[Доступна во всех зонах](#зоны-доступности)|**Кол-во vCPU:** до 32<br> **Объем RAM:** до 256 ГБ|
- (*) — возможно изменение платформы на аналогичную.
- (**) — индивидуальные конфигурации vCPU и RAM — по запросу.
## Диски
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
Система хранения построена на платформе Ceph. Используются блочные устройства хранения данных — `NBD (network block device)`. Доступен тип диска — `SSD`.
## Операционная система
Для виртуальных машин подготовлены образы операционных систем UNIX.
В операционных системах доступен `root`-пользователь. Для подключения к ВМ используется имя пользователя, заданное при создании ВМ.
| Операционная система | Версия | Размер загрузочного диска |
|---|---|---|
| AstraLinux | 1.8.2 | 3 Гб |
| CentOS | 9 | 10 Гб |
| CentOS | 10 | 10 Гб |
| Debian | 12 | 5 Гб |
| Rocky Linux | 9 | 10 Гб |
| Ubuntu | 20.04 | 5 Гб |
| Ubuntu | 22.04 | 5 Гб |
| VyOS | 13 | 2 Гб |
| VyOS | 14 | 2 Гб |
## Группы виртуальных машин
Группу виртуальных машин внутри одной зоны доступности можно объединить в соответствии с определенной политикой размещения. Доступны политики:
@@ -37,57 +80,4 @@
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
## CPU и RAM
### Тарифы
При создании виртуальной машины доступны готовые конфигурации CPU и RAM.
| Группа | slug | ЦПУ | ОЗУ Гбайт |
|:------------|:------------|:----|:----------|
| маленькие | cpu2ram2 | 2 | 2 |
| маленькие | cpu2ram4 | 2 | 4 |
| маленькие | cpu2ram8 | 2 | 8 |
| маленькие | cpu2ram16 | 2 | 16 |
| маленькие | cpu4ram4 | 4 | 4 |
| маленькие | cpu4ram8 | 4 | 8 |
| маленькие | cpu4ram16 | 4 | 16 |
| маленькие | cpu4ram32 | 4 | 32 |
| средние | cpu8ram16 | 8 | 16 |
| средние | cpu8ram32 | 8 | 32 |
| средние | cpu8ram64 | 8 | 64 |
| средние | cpu8ram128 | 8 | 128 |
| средние | cpu16ram4 | 16 | 4 |
| средние | cpu16ram8 | 16 | 8 |
| средние | cpu16ram16 | 16 | 16 |
| средние | cpu16ram32 | 16 | 32 |
| средние | cpu16ram64 | 16 | 64 |
| средние | cpu16ram128 | 16 | 128 |
| большие | cpu24ram48 | 24 | 48 |
| большие | cpu24ram96 | 24 | 96 |
## Диски
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
Доступны типы дисков:
- NBD.
## Операционная система
Для виртуальных машин подготовлены образы операционных систем.
| Операционная система | Версия | Размер загрузочного диска | Имя пользователя |
|---|---|---|---|
| AstraLinux | 1.8.2 | 3 Гб | astra|
| CentOS | 9 | 10 Гб | centos|
| CentOS | 10 | 10 Гб | centos|
| Debian | 12 | 5 Гб | debian|
| Ubuntu | 20.04 | 5 Гб | ubuntu |
| Ubuntu | 22.04 | 5 Гб | ubuntu |
| VyOS | 13 | 2 Гб | vyos |
| VyOS | 14 | 2 Гб | vyos |
<!--| Rocky Linux | 9 | 10 Гб | rockylinux |-->
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
+1 -1
View File
@@ -4,7 +4,7 @@ section_links:
link: /compute/compute-overview.md
description: Обзор сервиса, решаемые задачи, характеристики оборудования
- title: Виртуальные машины
link: /compute/compute-how-to/compute-Index.md
link: /compute/compute-how-to/compute-index.md
description: Создание виртуальной машины и подключение к ней, управление виртуальной машиной
- title: Диски
link: /compute/compute-how-to/compute-disks.md
+39
View File
@@ -0,0 +1,39 @@
# DNS в виртуальном дата-центре
DNS (Domain Name System) преобразует доменные имена в IP-адреса. Виртуальный дата-центр использует DNS для:
- доступа к внешним ресурсам.
- корректной работы приложений, которые обращаются по доменным именам.
- разрешения имен серверов и сервисов внутри сети.
## Публичные DNS-серверы
Вы можете использовать любой из DNS-серверов для настройки работы виртуального дата-центра. Выбор зависит от ваших требований к скорости, надежности и политике конфиденциальности.
### Российские
- Яндекс.DNS:
`77.88.8.8`
`77.88.8.1`
- Ростелеком DNS:
`77.88.8.2`
`77.88.8.3`
### Международные
- Google Public DNS:
`8.8.8.8`
`8.8.4.4`
- Quad9 DNS:
`9.9.9.9`
`49.112.112.112`
- OpenDNS (Cisco):
`208.67.222.222`
`208.67.220.220`
## Важная информация
Компания не несет ответственности за работу и конфиденциальность публичных DNS-сервисов. Политику конфиденциальности и обработки данных вы найдете на сайте выбранного провайдера DNS.
+6 -6
View File
@@ -12,14 +12,14 @@ features:
- title: Начало работы
icon: coffee
link: /start/index
- title: Обзор платформы
- title: Облачная платформа
icon: tv_modern
link: /platform/index
- title: Сервисы
scroll_to: "#home-services-section-title"
icon: cloud
- title: Администрирование
link: ''
link: /admin/index
icon: profile_circled
items: [
{ title: Пользователи },
@@ -34,12 +34,11 @@ features:
{ title: API }
]
- title: Мониторинг
scroll_to: ""
icon: graph_up
link:
- title: Биллинг
icon: wallet
link: /billing/index
disabled: true
link:
- title: Безопасность и стандарты
icon: security
link: ''
@@ -149,9 +148,10 @@ services:
icon: palette
- title: AI инструменты
articles:
- title: AI песочница
- title: AI платформа
description: В работе
icon: robot
link: /ai/index
- title: Мультимодельная AI фабрика
description: В работе
icon: robot
+20
View File
@@ -0,0 +1,20 @@
# Мониторинг
Мониторинг позволяет отслеживать использование ресурсов в Beeline Cloud. С помощью мониторинга можно своевременно выявлять превышение лимитов, оптимизировать распределение ресурсов и предотвращать возможные проблемы в работе инфраструктуры.
::: info Примечание
Новые виртуальные машины появляются в мониторинге через 30 минут после создания.
:::
## Обзор
В этом разделе вы можете контролировать следующие метрики:
- Включенные CPU в VDC, `шт.`.
- Включенная оперативная память, `ГБ`.
- CPU Ready, `%`.
- Использование CPU, `%`.
- Использование оперативной памяти, `%`.
- RAM Swap + Balloon, `%`.
Выбрать интервал времени, за который будут показаны данные, можно в поле **Период**. Вы также можете включить автоматическое обновление графиков с заданной периодичностью в поле **Автообновление**.
+27
View File
@@ -0,0 +1,27 @@
# Обзор
## Сервисы
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
Список сервисов можно посмотреть в разделе «Сервисы» в личном кабинете.
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](../start/getting-started.md#1-регистрация-в-beeline-cloud).
## Центры обработки данных
Инфраструктура Beeline Cloud размещена в надежных дата-центра уровня Tier III.
| Город | Дата-центр | Адрес дата-центра | Tier |
|---|---|---|---|
|Москва|[Останкино](https://dc.ostankino.ru/)|РФ, г. Москва 1-я Останкинская ул., д. 1, стр. 1|III|
|Москва|[Oxygen](https://o2dc.ru/)|РФ, г. Москва Волгоградский пр., д. 42, к. 9|III|
|Москва|[Филанко](https://datahouse.ru/datacenter/nagornaya/)|РФ, г. Москва Электролитный пр-д, д. 3, стр. 47|II|
|Ярославль|ЯТЦ Модуль 3|РФ, г. Ярославль ул. Технопарковая, д. 5|III|
|Ярославль|ЯТЦ Модуль 5|РФ, г. Ярославль ул. Технопарковая, д. 5|III|
|Ярославль|ЯТЦ Модуль 6|РФ, г. Ярославль ул. Технопарковая, д. 5|III|
|Новосибирск|РТК-ЦОД|РФ, г. Новосибирск, ул. Демакова, д. 42|III|
- **ЯТЦ** — Ярославский технический центр.
-1
View File
@@ -1 +0,0 @@
# Архитектура
-1
View File
@@ -1 +0,0 @@
# Терминология
+4 -4
View File
@@ -1,8 +1,8 @@
---
section_links:
- title: Сервисы
link: /platform/services/services.md
description: Сервисы Beeline Cloud
- title: Обзор
link: /platform/about.md
description: Информация о сервисах Beeline Cloud, ЦОД
- title: Техническая поддержка
link: /platform/support/support-overview.md
description: Условия оказания и способы обращения в техническую поддержку
@@ -17,7 +17,7 @@ Beeline Cloud — облачная платформа, основанная на
- быстрое развертывание сервисов;
- безопасное хранение данных — наши системы хранения данных соответствуют строгим стандартам;
- защита данных от утечек и несанкционированного доступа;
- гибкое масштабирование — увеличение или уменьшение ресурсы по мере необходимости.
- гибкое масштабирование — увеличение или уменьшение ресурсов по мере необходимости.
- прогнозируемые расходы.
Облачная платформа полностью соответствует требованиям по защите ПДн для первого уровня защищенности (УЗ-1), что позволяет безопасно размещать и обрабатывать персональные данные.
-1
View File
@@ -1 +0,0 @@
# Соглашение об уровне обслуживания
-9
View File
@@ -1,9 +0,0 @@
# Сервисы
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
Список сервисов можно посмотреть в разделе «Сервисы» в личном кабинете.
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud).
+1 -1
View File
@@ -10,7 +10,7 @@
| Способ связи | Описание | Время работы |
|--------|----------|---------------------|
|Портал технической поддержки| /скоро появится | круглосуточно |
|Центр поддержки| [lk.cloud.beeline.ru/support-center](https://lk.cloud.beeline.ru/support-center) | круглосуточно |
|Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно|
## Сроки обработки запросов
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 259 KiB

+24
View File
@@ -0,0 +1,24 @@
<svg width="104" height="25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M84.04 7.02c2.024 0 3.464-1.063 3.74-3.395h-1.99c-.205.823-.686 1.234-1.747 1.234-1.063 0-1.612-.411-1.783-1.234h-1.99c.272 2.332 1.746 3.395 3.77 3.395zm-40.827 9.485V8.084h-2.502V20.36h2.607l5.04-8.563v8.563h2.503V8.084h-2.606l-5.042 8.421zM32.832 8.186c-1.983 0-3.674.924-4.55 2.639.125-2.782.678-4.437 3.898-4.868l5.008-.687-.206-2.743-5.213.72c-4.493.617-5.762 4.082-5.762 9.533 0 4.767 2.161 7.819 6.173 7.819 3.91 0 6.036-3.02 6.036-6.55s-2.365-5.863-5.384-5.863zm-.652 9.704c-2.264 0-3.6-1.645-3.6-4.115v-1.268c.479-.96 1.75-1.715 3.6-1.715 1.956 0 3.463.925 3.463 3.257s-1.199 3.841-3.463 3.841zm67.488-9.806v4.594h-4.87V8.082h-2.502V20.36h2.502v-5.145h4.87v5.145h2.504V8.084h-2.504zm-18.165 8.421V8.084H79V20.36h2.607l5.04-8.563v8.563h2.503V8.084h-2.606l-5.04 8.421zm-26.139-.912c-.274 1.372-.652 1.956-1.407 1.956-.411 0-.72-.035-.925-.103v2.846c.308.138.584.24 1.233.24 1.304 0 2.23-.754 2.676-1.92.273-.72.446-1.715.584-2.984.137-1.269.24-2.949.24-4.937h3.327v9.67h2.503V8.085h-7.921c0 3.703-.103 6.138-.31 7.51zm20.044 1.44.035-4.87c.035-3.086-1.853-4.355-4.596-4.355-2.264 0-4.32 1.234-4.629 4.115h2.4c.138-1.131 1.028-1.51 2.229-1.51 1.23 0 2.054.379 2.178 1.642l-3.069 1.24c-2.091.857-3.668 1.817-3.668 3.84 0 2.092 1.166 3.43 3.498 3.43 1.61 0 2.628-.756 3.443-2.234.122 1.478 1.102 2.132 2.798 2.132h.686v-2.367h-.205c-.792 0-1.1-.309-1.1-1.063zm-4.699.96c-1.166 0-2.023-.308-2.023-1.371 0-.926.72-1.337 1.955-1.853l2.39-.994-.025 3.326c-.411.516-1.234.892-2.297.892z"
fill="#fff"/>
<path
d="M10.005 22.498c5.524 0 10.002-4.477 10.002-10 0-5.521-4.478-9.998-10.002-9.998C4.48 2.5.002 6.977.002 12.499s4.478 9.999 10.003 9.999z"
fill="#FFC800"/>
<path
d="M14.309 19.948c-3.397 1.96-7.081 2.311-9.434 1.137A10.007 10.007 0 0 0 20.01 12.35c-.16 2.625-2.305 5.64-5.702 7.6zM11.273 3.233c.688 1.191-.976 3.442-3.72 5.023-2.743 1.581-5.523 1.9-6.211.706a1.092 1.092 0 0 1-.076-.182c-.179-.555.035-1.273.549-2.03a9.942 9.942 0 0 1 3.187-2.912 9.958 9.958 0 0 1 4.118-1.3c.912-.068 1.64.107 2.031.537.047.053.088.105.123.16z"
fill="#000"/>
<path
d="M15.525 4.523c1.203 2.082-1.224 5.731-5.418 8.152-4.195 2.421-8.571 2.697-9.772.615a2.535 2.535 0 0 1-.328-1.148 9.895 9.895 0 0 0 1.02 4.77l.014.026c.363.626.898 1.119 1.566 1.476 2.353 1.259 6.332.826 10.053-1.321 3.719-2.148 6.084-5.374 6.171-8.04.025-.752-.132-1.46-.49-2.087a9.936 9.936 0 0 0-3.628-3.29 2.514 2.514 0 0 1 .814.851l-.002-.004z"
fill="#000"/>
<path
d="M10.007 22.498c5.524 0 10.002-4.477 10.002-10 0-5.521-4.478-9.998-10.002-9.998C4.482 2.5.004 6.977.004 12.499s4.478 9.999 10.003 9.999z"
fill="url(#a)"/>
<defs>
<radialGradient id="a" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse"
gradientTransform="translate(10.006 12.5) scale(10.0025)">
<stop offset=".5" stop-color="#fff" stop-opacity="0"/>
<stop offset="1" stop-color="#fff" stop-opacity=".35"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+24
View File
@@ -0,0 +1,24 @@
<svg width="104" height="25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M84.04 7.02c2.024 0 3.464-1.063 3.74-3.395h-1.99c-.205.823-.686 1.234-1.747 1.234-1.063 0-1.612-.411-1.783-1.234h-1.99c.272 2.332 1.746 3.395 3.77 3.395zm-40.827 9.485V8.084h-2.502V20.36h2.607l5.04-8.563v8.563h2.503V8.084h-2.606l-5.042 8.421zM32.832 8.186c-1.983 0-3.674.924-4.55 2.639.125-2.782.678-4.437 3.898-4.868l5.008-.687-.206-2.743-5.213.72c-4.493.617-5.762 4.082-5.762 9.533 0 4.767 2.161 7.819 6.173 7.819 3.91 0 6.036-3.02 6.036-6.55s-2.365-5.863-5.384-5.863zm-.652 9.704c-2.264 0-3.6-1.645-3.6-4.115v-1.268c.479-.96 1.75-1.715 3.6-1.715 1.956 0 3.463.925 3.463 3.257s-1.199 3.841-3.463 3.841zm67.488-9.806v4.594h-4.87V8.082h-2.502V20.36h2.502v-5.145h4.87v5.145h2.504V8.084h-2.504zm-18.165 8.421V8.084H79V20.36h2.607l5.04-8.563v8.563h2.503V8.084h-2.606l-5.04 8.421zm-26.139-.912c-.274 1.372-.652 1.956-1.407 1.956-.411 0-.72-.035-.925-.103v2.846c.308.138.584.24 1.233.24 1.304 0 2.23-.754 2.676-1.92.273-.72.446-1.715.584-2.984.137-1.269.24-2.949.24-4.937h3.327v9.67h2.503V8.085h-7.921c0 3.703-.103 6.138-.31 7.51zm20.044 1.44.035-4.87c.035-3.086-1.853-4.355-4.596-4.355-2.264 0-4.32 1.234-4.629 4.115h2.4c.138-1.131 1.028-1.51 2.229-1.51 1.23 0 2.054.379 2.178 1.642l-3.069 1.24c-2.091.857-3.668 1.817-3.668 3.84 0 2.092 1.166 3.43 3.498 3.43 1.61 0 2.628-.756 3.443-2.234.122 1.478 1.102 2.132 2.798 2.132h.686v-2.367h-.205c-.792 0-1.1-.309-1.1-1.063zm-4.699.96c-1.166 0-2.023-.308-2.023-1.371 0-.926.72-1.337 1.955-1.853l2.39-.994-.025 3.326c-.411.516-1.234.892-2.297.892z"
fill="#000"/>
<path
d="M10.005 22.498c5.524 0 10.002-4.477 10.002-10 0-5.521-4.478-9.998-10.002-9.998C4.48 2.5.002 6.977.002 12.499s4.478 9.999 10.003 9.999z"
fill="#FFC800"/>
<path
d="M14.309 19.948c-3.397 1.96-7.081 2.311-9.434 1.137A10.007 10.007 0 0 0 20.01 12.35c-.16 2.625-2.305 5.64-5.702 7.6zM11.273 3.233c.688 1.191-.976 3.442-3.72 5.023-2.743 1.581-5.523 1.9-6.211.706a1.092 1.092 0 0 1-.076-.182c-.179-.555.035-1.273.549-2.03a9.942 9.942 0 0 1 3.187-2.912 9.958 9.958 0 0 1 4.118-1.3c.912-.068 1.64.107 2.031.537.047.053.088.105.123.16z"
fill="#000"/>
<path
d="M15.525 4.523c1.203 2.082-1.224 5.731-5.418 8.152-4.195 2.421-8.571 2.697-9.772.615a2.535 2.535 0 0 1-.328-1.148 9.895 9.895 0 0 0 1.02 4.77l.014.026c.363.626.898 1.119 1.566 1.476 2.353 1.259 6.332.826 10.053-1.321 3.719-2.148 6.084-5.374 6.171-8.04.025-.752-.132-1.46-.49-2.087a9.936 9.936 0 0 0-3.628-3.29 2.514 2.514 0 0 1 .814.851l-.002-.004z"
fill="#000"/>
<path
d="M10.007 22.498c5.524 0 10.002-4.477 10.002-10 0-5.521-4.478-9.998-10.002-9.998C4.482 2.5.004 6.977.004 12.499s4.478 9.999 10.003 9.999z"
fill="url(#a)"/>
<defs>
<radialGradient id="a" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse"
gradientTransform="translate(10.006 12.5) scale(10.0025)">
<stop offset=".5" stop-color="#fff" stop-opacity="0"/>
<stop offset="1" stop-color="#fff" stop-opacity=".35"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

+30 -8
View File
@@ -23,19 +23,41 @@
- создание других пользователей в проекте недоступно;
- установлены [квоты](#квоты-сервисов) на ресурсы сервисов.
### Квоты сервисов
## Квоты сервисов
::: details Виртуальные дата-центры на VMware
- [Виртуальные дата-центры на VMware](../vdc/vdc-quatos.md)
- Виртуальные машины:
| Вид ограничения | Значение |
|---|---|
| Количество виртуальных дата-центров в проекте | 1 |
| Количество vCPU в одном дата-центре | 4 |
| Объем RAM в одном дата-центре | 8 Гб |
| Объем дискового пространства в одном дата-центре | 80 Гб |
|Количество публичных IP-адресов в одном дата-центре| 1 |
|Количество публичных IP-адресов | 1 |
|Суммарное количество vCPU для всех виртуальных машин |32|
|Суммарный объем RAM для всех виртуальных машин | 256 ГБ|
|Суммарный объем дисков, включая [образы загрузочных дисков](../compute/compute-overview.md#операционная-система) | 200 ГБ |
:::
Доступные шаблоны конфигураций vCPU и RAM виртуальных машин:
| Конфигурация | vCPU | RAM, ГБ |
|:------------|:----|:----------|
| cpu2ram2 | 2 | 2 |
| cpu2ram4 | 2 | 4 |
| cpu2ram8 | 2 | 8 |
| cpu2ram16 | 2 | 16 |
| cpu4ram4 | 4 | 4 |
| cpu4ram8 | 4 | 8 |
| cpu4ram16 | 4 | 16 |
| cpu4ram32 | 4 | 32 |
| cpu8ram16 | 8 | 16 |
| cpu8ram32 | 8 | 32 |
| cpu8ram64 | 8 | 64 |
| cpu8ram128 | 8 | 128 |
| cpu16ram4 | 16 | 4 |
| cpu16ram8 | 16 | 8 |
| cpu16ram16 | 16 | 16 |
| cpu16ram32 | 16 | 32 |
| cpu16ram64 | 16 | 64 |
| cpu16ram128 | 16 | 128 |
## Переход на платное использование
+16 -4
View File
@@ -1,18 +1,30 @@
---
section_links:
- title: Обзор сервиса
link: /vdc/vdc-overview.md.md
link: /vdc/vdc-overview.md
description: Обзор сервиса, решаемые задачи, характеристики оборудования
- title: Быстрый старт
link: /vdc/vdc-getting-started.md
description: Создание виртуальной машины в дата-центре и подключение к ней
description: Создание виртуальной машины в дата-центре
- title: Виртуальные дата-центры
link: /vdc/vdc-how-to/vdc-index.md
description: Создание виртуального дата-цента, вход с двухфакторной аутентификацией
description: Создание виртуального дата-цента, вход с двухфакторной аутентификацией
- title: Виртуальные машины
link: /vdc/vdc-how-to/vm/vm-index.md
description: Управление виртуальными машинами в дата-центре с помощью Cloud Director
- title: Сети
link: /vdc/vdc-how-to/networks/networks-index.md
description: Настройка доступа дата-центра в интернет, доступа ВМ в/из интернета
- title: Пользователи и роли
link: /vdc/vdc-how-to/users/users-index.md
description: Создание пользователей в дата-центре, ролевая модель
- title: Двухфакторная аутентификация
link: /vdc/vdc-how-to/vdc-2fa.md
description: Подключение двухфакторной аутентификацией
---
# Виртуальные дата-центры на VMware
Сервис **Виртуальные дата-центры на VMware** предоставляет платформу для создания виртуальных дата-центров на базе физической инфраструктуры Beeline Cloud.
В [личном кабинете](https://lk.cloud.beeline.ru/) вы можете заказать виртуальный дата-центр с выделенным публичным IP-адресом. Управлять ресурсами дата-центра в панели управления Cloud Director. Для усиления безопасности подключается [двухфакторная аутентификация (2FA)](./vdc-how-to/vdc-2fa.md) при входе в дата-центр.
В [личном кабинете](https://lk.cloud.beeline.ru/) вы можете заказать виртуальный дата-центр с выделенным внешним IP-адресом. Управление ресурсами дата-центра выполняется в панели управления Cloud Director. Для усиления безопасности подключается [двухфакторная аутентификация (2FA)](./vdc-how-to/vdc-2fa.md) при входе в дата-центр.
+50 -28
View File
@@ -1,40 +1,62 @@
# Быстрый старт
Раздел в разработке.
<!--В этой инструкции рассмотрен процесс создания виртуального ВМа UNIX и подключение к нему по протоколу SSH.
В этой инструкции рассмотрен процесс создания виртуального дата-центра и создание в нем виртуальной машины из шаблона.
## Создать виртуальный ВМ
## Перед началом работы
1. Отк
2. Выбрать проект.
3. На странице **Обзор** убедитесь в наличии свободных ресурсов.
4. Нажмите **Создать ВМ**.
5. Выберите образ ОС UNIX.
6.
7. Нажмите **Cоздать ВМ**.
- [Зарегистрируйтесь](../start/getting-started.md#1-регистрация-в-beeline-cloud) в личном кабинете Beeline Cloud.
Виртуальный ВМ отобразится на странице **Облачные вычисления → ВМы**. Выполняется сборка виртуального ВМа. После окончания сборки ВМ перейдет в статус `Включен`.
## 1. Создать виртуальный дата-центр
## Подключиться к ВМу по SSH
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. На странице **Мой проект** нажмите кнопку **Создать ресурс → Виртуальный дата-центр**.
3. [Заполните](./vdc-how-to/vdc-create.md#создать-дата-центр) параметры виртуального дата-центра.
:::warning Важно
Общее количество ресурсов в виртуальном дата-центре указывайте в пределах [квот сервиса](vdc-quatos.md#бесплатный-период) для периода [бесплатного тестирования](../start/trial.md).
:::
4. Нажмите **Создать дата-центр**.
Для подключения к виртуальному ВМу по SSH выполните команду в терминале:
Далее подключите двухфакторную для входа в панель управления виртуальным дата-центром.
- по IP-адресу ВМа:
## 2. Подключить двухфакторную аутентификацию
```
ssh -l <логин пользователя> -i <путь до приватного ключа> <IP-адрес ВМа>
```
- по полному доменному имени ВМа (FQDN):
1. [Войдите](https://msk1.mfa.dfcloud.ru/) на портал двухфакторной аутентификации:
- введите логин и пароль, учетные данные можно посмотреть в личном кабинете:
- вернитесь в личный кабинет на страницу **Виртуальные дата-центры**;
- нажмите на имя дата-центра;
- на вкладке **Параметры подключения** указаны логин и пароль для входа на портал 2FA.
2. Следуйте инструкциям для [установки](./vdc-how-to/vdc-2fa-start.md#2-установить-multifactor) и [активации](./vdc-how-to/vdc-2fa-start.md#3-активировать-второй-фактор) приложения Multifactor.
3. Установите пароль для входа в виртуальный дата-центр:
- [войдите](https://msk1.mfa.dfcloud.ru/) на портал двухфакторной аутентификации;
- введите логин и пароль, которые вы вводили на шаге 1;
- в приложении Multifactor нажмите кнопку **Подтвердить**;
- придумайте новый пароль и подтвердите его;
- [войдите](https://msk1.mfa.dfcloud.ru/) на портал двухфакторной аутентификации с новым паролем;
- в приложении Multifactor нажмите кнопку **Подтвердить**.
```
ssh -l <логин пользователя> -i <путь до приватного ключа> <FQDN ВМа>
```
## 3. Войти в виртуальный дата-центр
Пример команды подключения к ВМу по IP-адресу:
1. Вернитесь в личный кабинет на страницу **Виртуальные дата-центры**.
2. Нажмите на имя дата-центра.
3. Скопируйте и вставьте в браузер ссылку, содержащуюся в **Панель управления дата-центром**.
4. Введите имя пользователя и пароль:
- **User name**: перейдите в личный кабинет и скопируйте имя пользователя из поля **Логин**;
- **Password**: введите пароль от дата-центра, установленный на [шаге 3 п. 2. Подключить двухфакторную аутентификацию](#2-подключить-двухфакторную-аутентификацию).
5. Подтвердите вход в приложении Multifactor на своем смартфоне.
```
$ ssh -l ivanov -i /home/user/.ssh/id_rsa 10.0.0.1
```
## Далее
-->
## 4. Создать виртуальную машину из шаблона
1. В меню слева выберите **Data Centers → vAPPS**.
2. Нажмите **NEW VAPP**.
3. Заполните параметры vAPP:
- **Name**: введите название vAPP;
- **Description**: введите описание vApp;
- включите опцию **Power on**.
4. Нажмите **ADD VIRTUAL MACHINE**, чтобы добавить в vApp виртуальную машину.
5. Заполните параметры ВМ:
- **Name**: введите название ВМ;
- **Type**: выберите *From Template* и выберите нужный шаблон для создания ВМ;
6. Таблицу **NICs** пропустите.
7. Нажмите **OK**, затем нажмите **Create**.
Созданная ВМ доступна в списке **Virtual Machines**.
@@ -0,0 +1,92 @@
# Настройка доступа к ВМ из интернета
Чтобы настроить доступ в интернет:
1. Добавьте правило NAT.
2. Создайте набор IP-адресов.
3. Настройте брандмауэр.
## NAT
NAT (Network Address Translation) используется для преобразования IP-адресов при прохождении трафика через шлюз. В Cloud Director параметр NAT Action определяет, как именно выполняется трансляция адресов.
### Типы NAT Action
**DNAT**
Назначает внешний IP-адрес на внутренний. Используется, когда нужно предоставить доступ из Интернета или внешней сети к виртуальной машине во внутреннем сегменте Например, внешний запрос к 203.0.113.10:80 перенаправляется на внутренний сервер 192.168.10.5:80.
**SNAT**
Подменяет внутренний IP на внешний. Используется, когда виртуальные машины выходят в Интернет или внешнюю сеть. Например, запрос от 192.168.10.5 в Интернет будет выглядеть как исходящий с 203.0.113.10.
**NO DNAT**
Исключает правило DNAT. Позволяет явно указать, что для выбранного диапазона IP DNAT не применяется. Используется для finer-grained контроля, когда часть трафика должна обходить DNAT.
**NO SNAT**
Исключает правило SNAT. Позволяет указать, что для определенного диапазона исходящий трафик не будет преобразовываться во внешний IP. Используется, если нужно сохранить исходные адреса внутри определенных сетей.
**REFLEXIVE**
Создает двустороннее правило NAT, которое автоматически применяет трансляцию в обоих направлениях.
## Добавить правило NAT
1. На вкладке **Data Centers** перейдите в вашу организацию.
2. Перейдите в раздел **Networking****Edges**.
3. Выберите шлюз, который вы хотите подключить к сети.
4. Перейдите в раздел **Services****NAT**.
5. Нажмите кнопку **New**.
6. Укажите имя сети.
7. (необязательно) Опишите назначение сети.
8. В поле **NAT Action** выберите `DNAT`.
9. В поле **External IP** укажите IP-адрес или подсеть в формате CIDR.
::: tip Примечание
Посмотреть доступный внешний IP-адрес можно нажав на ****.
:::
10. В поле **Internal IP** укажите внутренний IP-адрес или подсеть в формате CIDR (например, `192.168.0.3`).
11. В поле **Application** нажмите **Редактировать**.
12. Включите тумблер **Choose a specific application**.
13. Из списка выберите `RDP`.
14. Нажмите кнопку **Save**.
15. Нажмите кнопку **Save** еще раз.
## Создать набор IP-адресов
1. Перейдите в раздел **Security****IP Sets**.
2. Нажмите кнопку **New**.
3. Укажите имя набора IP-адресов.
4. (необязательно) Опишите назначение набора IP-адресов.
5. Добавьте в набор подсеть в формате CIDR, которую вы использовали как **Internal IP** в NAT.
6. Нажмите кнопку **Save**.
## Настроить брандмауэр
1. Перейдите в раздел **Services****Firewall**.
2. Нажмите кнопку **New**.
3. Укажите имя правила.
4. В поле **Source** нажмите **Редактировать**.
5. Включите тумблер **Any Source**.
6. Нажмите кнопку **Keep**.
7. В поле **Application** нажмите **Редактировать**.
8. Включите тумблер **Choose a specific application**.
9. Из списка выберите `RDP`.
10. Нажмите кнопку **Save**.
11. Перейдите в **Destination**.
12. Укажите созданный ранее набор IP-адресов.
13. Нажмите кнопку **Keep**.
14. В поле **Action** выберите действие: `Allow`.
15. Нажмите кнопку **Save**.
## Проверить подключение
1. Откройте терминал.
2. Выполните следующую команду в зависимости от вашей ОС:
На Windows: `Test-NetConnection -ComputerName <адрес> -Port <порт>`
На macOS: `nc -zv <адрес> <порт>`
На Linux: `nc -zv <адрес> <порт>`
Если у вас нет утилиты для проверки подключения, установите ее.
@@ -0,0 +1,74 @@
# Подключение виртуальной машины в vApp к сети
Чтобы подключить виртуальную машину в vApp к сети:
1. Отключите ВМ.
2. Разрешите пользовательскую настройку гостевой ОС.
3. Подключите vApp к сети.
4. Подключите виртуальную машину к сети.
5. Включите ВМ.
6. Проверьте подключение.
## Отключить ВМ
1. В дата-центре перейдите в раздел **Applications****Virtual Machines**.
2. В карточке ВМ выберите **Actions****Power****Power Off**.
3. Подтвердите действие.
## Разрешить пользовательскую настройку гостевой ОС
Перед продолжением убедитесь, что у виртуальной машины включен параметр **Enable guest customization**. Чтобы это проверить:
1. На вкладке **Data Centers** перейдите в вашу организацию.
2. Перейдите в раздел **Compute****Virtual Machines**.
3. Выберите виртуальную машину, которую вы хотите подключить к сети.
4. Перейдите в раздел Guest OS Customization.
5. Убедитесь, что параметр **Enable guest customization** имеет значение **Enabled**.
Если параметр имеет значение **Disabled**:
1. Нажмите кнопку **Edit**.
2. Выберите опцию **Enable guest customization**.
3. Нажмите кнопку **Save**.
## Подключить vApp к сети
1. Перейдите в раздел **Applications****Virtual Applications**.
2. Выберите vApp.
3. Перейдите в раздел **Networks**.
4. Нажмите кнопку **New**.
5. Выберите тип подключения **Direct**.
6. Выберите сеть из списка.
7. Нажмите кнопку **Add**.
## Подключить виртуальную машину к сети
1. Перейдите в раздел **Virtual Machines** в vApp.
2. Выберите виртуальную машину из списка.
3. Перейдите в раздел **Hardware****NICs**.
4. Нажмите кнопку **Edit**.
5. В таблице в столбце **Network** выберите сеть, к которой нужно подключить виртуальную машину.
6. Выберите **IP Mode** - **Static - IP Pool**.
7. Нажмите кнопку **Save**.
## Включить ВМ
1. В дата-центре перейдите в раздел **Applications****Virtual Machines**.
2. В карточке ВМ выберите **Actions****Power****Power On**.
3. Подтвердите действие.
## Проверить подключение
1. Подключитесь к ВМ через `ssh`.
2. Выполните следующую команду в зависимости от вашей ОС:
На Windows: `Test-NetConnection -ComputerName <адрес> -Port <порт>`
На macOS: `nc -zv <адрес> <порт>`
На Linux: `nc -zv <адрес> <порт>`
Для проверки вы можете использовать сервер Google:
- Адрес: `8.8.8.8`.
- Порт: `443`.
Если у вас нет утилиты для проверки подключения, установите ее.
@@ -0,0 +1,64 @@
# Подключение ВМ к интернету
Чтобы подключить ВМ к интернету:
1. Добавьте правило [NAT](allow-external-connections-to-vm.md#nat).
2. Создайте набор IP-адресов.
3. Настройте брандмауэр.
4. Проверьте подключение.
## Добавить правило NAT
1. На вкладке **Data Centers** перейдите в вашу организацию.
2. Перейдите в раздел **Networking****Edges**.
3. Выберите шлюз, который вы хотите подключить к сети.
4. Перейдите в раздел **Services****NAT**.
5. Нажмите кнопку **New**.
6. Укажите имя сети.
7. (необязательно) Опишите назначение сети.
8. В поле **NAT Action** выберите `SNAT`.
9. В поле **External IP** укажите IP-адрес или подсеть в формате CIDR.
::: tip Примечание
Посмотреть доступный внешний IP-адрес можно нажав на ****.
:::
10. В поле **Internal IP** укажите внутренний IP-адрес или подсеть в формате CIDR (например, `192.168.0.0/24`).
11. Нажмите кнопку **Save**.
## Создать набор IP-адресов
1. Перейдите в раздел **Security****IP Sets**.
2. Нажмите кнопку **New**.
3. Укажите имя набора IP-адресов.
4. (необязательно) Опишите назначение набора IP-адресов.
5. Добавьте в набор подсеть в формате CIDR, которую вы использовали как **Internal IP** в NAT.
6. Нажмите кнопку **Save**.
## Настроить брандмауэр
1. Перейдите в раздел **Services****Firewall**.
2. Нажмите кнопку **New**.
3. Укажите имя правила.
4. В поле **Source** нажмите **Редактировать**.
5. Укажите созданный ранее набор IP-адресов.
6. Нажмите кнопку **Keep**.
7. Перейдите в **Destination**.
8. Включите тумблер **Any Destination**.
9. Нажмите кнопку **Keep**.
10. В поле **Action** выберите действие: `Allow`.
11. Нажмите кнопку **Save**.
## Проверить подключение
1. Подключитесь к ВМ через `ssh`.
2. Выполните следующую команду в зависимости от вашей ОС:
На Windows: `Test-NetConnection -ComputerName <адрес> -Port <порт>`
На macOS: `nc -zv <адрес> <порт>`
На Linux: `nc -zv <адрес> <порт>`
Для проверки вы можете использовать сервер Google:
- Адрес: `8.8.8.8`.
- Порт: `443`.
Если у вас нет утилиты для проверки подключения, установите ее.
@@ -0,0 +1,77 @@
# Создание сети в организации и подключение Edge Gateway
## Edge Gateway
Edge Gateway — это виртуальный маршрутизатор в Cloud Director. Он соединяет внутренние сети организации с внешними. С помощью него можно настроить:
- выход в интернет.
- маршрутизацию между подсетями.
- правила фаервола.
- VPN.
- балансировку нагрузки.
Другими словами, если подключить сеть к Edge Gateway, виртуальные машины смогут выходить в интернет. Если нет — сеть останется изолированной.
## Типы сетей в vDC
Виртуальный дата-центр поддерживает несколько типов сетей. Они различаются по степени изоляции и доступу к внешним ресурсам. Ниже описаны основные варианты.
### Routed: маршрутизируемая сеть
Сеть Routed подключается к edge-шлюзу. Она позволяет управлять доступом к внешним ресурсам: машинам и сетям за пределами vDC или группы vDC. Через шлюз администратор может настроить правила маршрутизации и политики безопасности.
### Isolated: изолированная сеть
Сеть Isolated не подключена к внешним системам. Она полностью изолирована от других сетей и доступна только внутри организации vDC или группы vDC.
Такой вариант используют для тестовых сред или систем, которым не требуется связь с внешними ресурсами.
## Создать сеть и подключить шлюз
1. На вкладке **Data Centers** перейдите в вашу организацию.
2. Перейдите в раздел **Networking****Networks**.
3. Нажмите кнопку **New**.
4. Выберите **Current Organization Virtual Data Center** и нажмите **Next**.
5. Выберите [тип сети](#типы-сетей-в-vdc) **Routed** или **Isolated**.
::: tip Примечание
Вы сможете изменить тип сети в дальнейшем.
:::
6. На шаге **Edge Connection** выберите доступный edge-шлюз из списка.
7. Нажмите кнопку **Next**.
8. Укажите имя сети.
9. (необязательно) Опишите назначение сети.
10. (необязательно) Включите режим **Dual-Stack Mode**, чтобы сеть поддерживала одновременно подсети IPv4 и IPv6.
::: danger Внимание
После включения режима Dual-Stack отключить его нельзя.
:::
11. Укажите значение **Gateway CIDR - IPv4**.
::: tip Примечание
IP-адрес шлюза указывается вместе с маской подсети в формате CIDR. Например, введите `192.168.100.1/24`. В этом случае диапазон статических адресов должен начинаться с адреса `192.168.100.2`.
:::
::: danger Внимание
IP-адрес шлюза не должен входить в диапазон статических IP-адресов. После создания сети изменить IP-адрес шлюза нельзя.
:::
12. (обязательно, если включили режим Dual-Stack) Укажите значение **Gateway CIDR - IPv6**.
::: tip Примечание
Адрес шлюза указывается вместе с маской подсети в формате CIDR. Например, введите `2001:db8::1/64`. В этом случае диапазон статических адресов должен начинаться с адреса `2001:db8::2`.
:::
::: danger Внимание
IP-адрес шлюза не должен входить в диапазон статических IP-адресов. После создания сети изменить IP-адрес шлюза и отключить поддержку IPv6 нельзя.
:::
13. (необязательно) Включите режим **Strict IP Mode**. Если режим включен, статические IP-адреса и DHCP-привязки будут выдаваться только из заданнее заданных диапазонов IP сети.
14. (необязательно) Включите параметр **Distributed Routing**. Если он включен, маршрутизация будет выполнятся напрямую на гипервизорах. Если выключен — весь трафик будет идти через сервисный маршрутизатор edge-шлюза.
::: tip Примечание
Опция доступна, если все статические IP входят в выделенные диапазоны.
:::
15. (необязательно) Включите параметр **Shared**, чтобы сделать сеть доступной для использования в группе VDC.
16. (необязательно) Включите параметр **Guest VLAN Allowed**, чтобы разрешить использование гостевых VLAN внутри этой сети.
17. Укажите диапазоны статических IP-адресов в разделе **Static IP Pools**.
Диапазон должен входить в подсеть, указанную в **Gateway CIDR - IPv4** на шаге 11.
Например: если адрес шлюза `192.168.100.1/24`, введите `192.168.100.2 - 192.168.100.100`, чтобы выделить пул из 99 адресов.
18. Нажмите кнопку **Add**, чтобы добавить диапазон.
19. (необязательно) Добавьте дополнительные диапазоны.
20. Нажмите кнопку **Next**.
21. (необязательно) Укажите адрес основного DNS-сервера в поле **Primary DNS**. [Подробнее о DNS](/concepts/dns.md).
22. (необязательно) Укажите адрес дополнительного DNS-сервера в поле **Secondary DNS**.
23. (необязательно) Укажите DNS-суффикс в поле **DNS suffix**, если требуется добавлять доменное имя автоматически. Например, введите `corp.local`, чтобы имена узлов разрешались как `host.corp.local`.
24. Нажмите кнопку **Next**.
25. Проверьте параметры сети и нажмите кнопку **Finish**, чтобы создать сеть.
@@ -0,0 +1,9 @@
# Подключение сети к Edge Gateway
1. На вкладке **Data Centers** перейдите в вашу организацию.
2. Перейдите в раздел **Networking****Networks**.
3. Выберите сеть из списка.
4. Нажмите кнопку **Edit**.
5. Перейдите на вкладку **Connection**.
6. Включите параметр **Connect to an edge gateway**.
7. Нажмите кнопку **Save**.
@@ -0,0 +1,20 @@
---
section_links:
- title: Настройка доступа к ВМ из интернета
link: /vdc/vdc-how-to/networks/allow-external-connections-to-vm.md
description:
- title: Подключение ВМ в vApp к сети
link: /vdc/vdc-how-to/networks/connect-vapp-to-network.md
description:
- title: Подключение ВМ к интернету
link: /vdc/vdc-how-to/networks/connect-vm-to-network.md
description:
- title: Создание сети в организации и подключение к Edge Gateway
link: /vdc/vdc-how-to/networks/create-network.md
description:
- title: Подключение сети к Edge Gateway
link: /vdc/vdc-how-to/networks/isolated-to-routed.md
description:
---
# Сети
+20
View File
@@ -0,0 +1,20 @@
# Создание пользователя
1. Перейдите в раздел **Administration → Access Control → Users**.
2. Нажмите кнопку **New**.
3. В открывшемся окне введите параметры учетной записи:
- **User name**: имя пользователя.
- **Provider Type**: провайдер каталога учетных записей.
- **Local**: учетная запись будет создана в каталоге Cloud Director.
- **LDAP**: учетная запись будет создана во внешнем каталоге.
- **Password**: пароль для входа.
- **Confirm password**: подтверждение пароля.
- (необязательно) **State**: состояние учетной записи (по умолчанию активна).
- (необязательно) **Configure user's quota**: [настройка](quotas.md#настроить-квоты) квот пользователя.
- **Available roles**: [роль](roles.md) пользователя в системе. <!--какой системе?-->
- (необязательно) **Full name**: ФИО пользователя.
- (необязательно) **Email address**: адрес электронной почты.
- (необязательно) ***Phone number**: номер телефона.
4. Нажмите кнопку **Save**.
@@ -0,0 +1,12 @@
# Изменение пароля учетной записи
::: warning Важно
Пароль можно изменить только у учетных записей с типом провайдера **Local**.
:::
1. Перейдите в раздел **Administration → Access Control → Users**.
2. Выберите из списка учетную запись для которой нужно изменить пароль.
3. Нажмите кнопку **Edit**.
4. Укажите новый пароль в поле **Password**.
5. Подтвердите пароль: введите его еще раз в поле **Confirm password**.
6. Нажмите кнопку **Save**.
+15
View File
@@ -0,0 +1,15 @@
# Настройка квот пользователя
Квоты позволяют контролировать использование ресурсов. С помощью квот можно ограничить количество создаваемых и запускаемых ВМ, чтобы один пользователь не занял все доступные ресурсы организации.
## Настроить квоты
1. Перейдите в раздел **Administration → Access Control → Users**.
2. Выберите из списка учетную запись для которой нужно настроить квоту.
3. Нажмите кнопку **Set Quota**.
4. В открывшемся окне задайте ограничения для пользователя:
- **All VMs quota**: общее количество виртуальных машин, которые может создать пользователь.
- **Running VMs quota**: количество виртуальных машин, которые пользователь может запускать одновременно.
5. Нажмите кнопку **Save**.
+10
View File
@@ -0,0 +1,10 @@
# Ролевая модель
В Cloud Director доступны следующие роли:
- **Catalog Author** — создает и публикует новые каталоги.
- **Console Access Only** — просматривает состояние и свойства виртуальных машин, работает с гостевой ОС. Не управляет ресурсами дата-центра.
- **Defer to Identity Provider** — права определяются внешним провайдером идентификации.
- **Organization Administrator** — администрирует организацию.
- **vApp Author** — использует каталоги и может создавать vApp.
- **vApp User** — использует vApp, созданные другими пользователями.
+17
View File
@@ -0,0 +1,17 @@
---
section_links:
- title: Ролевая модель
link: /vdc/vdc-how-to/users/roles.md
description: Перечень ролей в Cloud Director
- title: Создание пользователя
link: /vdc/vdc-how-to/users/add-user.md
description: Создание пользователей в дата-центре
- title: Изменение пароля пользователя
link: /vdc/vdc-how-to/users/change-users-password.md
description: Установка нового пароля учетной записи пользователя
- title: Настройка квот
link: /vdc/vdc-how-to/users/quotas.md
description: Установка ограничений на количество создаваемых и запускаемых ВМ
---
# Пользователи и роли
-1
View File
@@ -13,4 +13,3 @@ section_links:
Сервис **Виртуальные дата-центры на VMware** поддерживает двухфакторную аутентификацию (2FA) в виртуальном дата-центре.
Двухфакторная аутентификация реализована на основе системы [Multifactor](https://multifactor.ru/). Подключить 2FA можно на портале двухфакторной аутентификации. При подключении 2FA добавляется дополнительный уровень защиты к логину и паролю. При входе в виртуальный дата-центр вводится логин и пароль, а затем подтверждается вход в приложении аутентификации.
+11 -6
View File
@@ -1,6 +1,10 @@
# Создание дата-центра
## Создать дата-центр
:::tip Информация
Если вы используете Beeline Cloud в тестовом режиме, то учитывайте [ограничения на ресурсы](../vdc-quatos.md#бесплатный-период) сервиса при создании дата-центра.
:::
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
@@ -9,16 +13,17 @@
- На странице **Обзор** в карточке **Виртуальные дата-центры** нажмите **Создать дата-центр**.
- В левом меню откройте раздел **Виртуальные дата-центры** и нажмите **Создать дата-центр**.
5. В блоке **Общие настройки** укажите:
- **Название виртуального дата-центра**: введите название дата-центра длиной до 50 символов, переименовать дата-центр после создания нельзя.
- **Частота процессора**: выберите частоту ядер процессора.
- **Название виртуального дата-центра**: введите название дата-центра длиной до 25 символов, переименовать дата-центр после создания нельзя.
- **Адрес дата-центра**: выберите [дата-центр](../../platform/about.md#центры-обработки-данных) для размещения виртуального дата-центра.
- **Производительность кластера**: выберите [физическую платформу](../vdc-tech.md#физические-платформы) для дата-центра.
6. В блоке **Общий объем ресурсов дата-центра** укажите:
- **vCPU**: введите количество ядер для всего дата-центра;
- **RAM**: введите объем оперативной памяти в Гб для всего дата-центра.
- **RAM**: введите объем оперативной памяти в ГБ для всего дата-центра.
7. В блоке **Общее дисковое пространство** укажите:
- **Общий объем Fast SSD дисков**: введите объем диска в Гб для всего дата-центра.
- **Общий объем SSD-дисков**: введите объем диска в ГБ для всего дата-центра.
8. В блоке **Сеть** укажите:
- **Скорость интернета для маршрутизатора NSX-T**: выберите скорость интернета;
- **Публичные IP-адреса**: введите количество публичный IP-адресов в дата-центре. Для дата-центра доступен один публичный IP-адрес.
- **Публичные IP-адреса**: введите количество внешних IP-адресов в дата-центре.
9. Нажмите **Создать дата-центр**.
Для дата-центра будут сформированы:
+1 -5
View File
@@ -1,13 +1,9 @@
# Вход в дата-центр
::: warning Важно
[Подключите двухфакторную аутентификацию](./vdc-2fa-start.md) для входа в панель управления дата-центром Cloud Director.
[Подключите двухфакторную аутентификацию](./vdc-2fa-start.md) для входа в панель управления дата-центром Cloud Director. Иначе, не получится войти в виртуальный дата-центр.
:::
## Войти в дата-центр
1. Перейдите в личный кабинет.
2. В списке **Проекты** нажмите на имя проекта, в котором нужно создать ресурс.
3. Раскройте список **Сервисы** и нажмите на имя сервиса **Виртуальные дата-центры на VMware**.
+20 -5
View File
@@ -2,16 +2,31 @@
section_links:
- title: Создание дата-центра
link: /vdc/vdc-how-to/vdc-create.md
description: Создание виртуального дата-центра в личном кабинете
description: Создание виртуального дата-центра в личном кабинете Beeline Cloud
- title: Вход в дата-центр
link: /vdc/vdc-how-to/vdc-enter.md
description: Вход в виртуальный дата-центр с двухфакторной аутентификацией
- title: Управление дата-центром
link: /vdc/vdc-how-to/vdc-index.md
description: Просмотр информации о виртуальном дата-центе и его удаление
- title: Двухфакторная аутентификация
description: Просмотр информации о виртуальном дата-центе в личном кабинете Beeline Cloud
- title: Удаление дата-центра
link: /vdc/vdc-how-to/vdc-index.md
description: Настройка двухфакторной аутентификации для входа в дата-центр
description: Удаление виртуального дата-центра в личном кабинете Beeline Cloud
---
# Виртуальные дата-центры
# Виртуальные дата-центры
Виртуальный дата-центр — это логический контейнер, в котором собраны следующие ресурсы:
- вычислительные мощности (например, CPU или память);
- хранилище;
- сети;
- правила безопасности.
Виртуальный дата-центр объединяет ресурсы в единый пул, доступный через VMware Cloud Director.
Используйте VDC, если нужно:
- разделить общие ресурсы между разными командами или клиентами;
- управлять политиками безопасности и сетями в изоляции;
- создавать виртуальные машины внутри «своего» пространства.
+13 -8
View File
@@ -21,12 +21,17 @@
## Удалить дата-центр
Для удаления виртуального дата-центра обратитесь в техническую поддержку.
<!--1. Перейдите в личный кабинет.
2. В списке **Проекты** нажмите на имя проекта.
3. В списке **Сервисы** нажмите на имя сервиса **Виртуальные дата-центры на VMware**.
4. Откройте раздел **Виртуальные дата-центры на VMware → Виртуальные дата-центры**.
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные дата-центры на VMware**.
4. В левом меню откройте раздел **Виртуальные дата-центры**.
5. В таблице найдите строку с нужным дата-центром.
6. Нажмите &hellip; и выберите **Удалить**.
7. В открывшемся окне подтвердите операцию, нажав **Удалить**.-->
6. Нажмите на &hellip; и выберите **Запросить удаление**.
7. Вы будете перенаправлены в центр поддержки пользователей.
8. На странице **Создание обращения** заполните заявку на удаление дата-центра:
- **Тип обращения**: *Сервисное обслуживание*.
- **Сервис**: *Другое*.
- **Тема**: укажите о необходимости удалить дата-центр.
9. Нажмите кнопку **Создать обращение**.
За статусом обращения можно следить в разделе **Помощь → Центр поддержки**.
+21
View File
@@ -0,0 +1,21 @@
# Клонирование виртуальной машины
::: tip Информация
ВМ можно клонировать только внутри vApp.
:::
1. В меню слева выберите **Data Centers** и нажмите на карточку дата-центра.
2. Перейдите в **Compute → Virtual Machines → New VM**.
3. В карточке ВМ нажмите **ACTIONS → Copy**.
4. В открывшемся окне выберите vApp, куда будет скопирована ВМ.
5. Нажмите **Next**.
6. В разделе **Configure Resources** настройте параметры ВМ:
- **Name**: введите имя ВМ.
- **Computer Name**: введите имя ВМ внутри операционной системы (hostname).
- **Target VM Storage Policy**: укажите политику хранения для ВМ.
- **Disk Storage Policies**: выберите политику хранения и задайте IOPS для диска.
- **NICs**: настройте сетевые адаптеры. Укажите тип адаптера, сеть и параметры IP-адреса.
7. Нажмите **Next**.
8. Подтвердите действие.
@@ -0,0 +1,27 @@
# Группы размещения виртуальных машин
Правила привязки (Affinity Rules) управляют тем, как виртуальные машины распределяются по физическим хостам.
## Типы правил
- Affinity rules — правила совместного размещения. Обязывают систему запускать выбранные ВМ на одном физическом хосте. Такой подход применяют, когда нужно, чтобы машины работали вместе. Например, для оптимизации производительности. При отказе узла ВМ можно перенести на другой хост.
- Anti-affinity rules — правила раздельного размещения. Требуют запускать выбранные ВМ на разных физических хостах. Такой подход обеспечивает избыточность и высокую доступность. Если доступных хостов нет, то правило не выполняется. Информация об этом фиксируется в журнале событий.
<!--заменить примечание на действие. Нужно проверить статус ВМ, если ВМ отключена, то включить, а потом создавать правило?-->
::: warning Внимание
Оба типа правил применяются только к включенным ВМ.
:::
## Создать группу размещения
1. В меню слева выберите **Data Centers** и нажмите на карточку дата-центра.
2. Перейдите в **Compute → Affinity Rules**.
3. Нажмите кнопку **New** около типа правила, которое хотите создать.
4. В открывшемся окне укажите параметры:
- **Name**: имя правила.
- **Enabled**: включает или выключает правило.
- **Required**: делает правило обязательным. Если параметр выключен, Cloud Director может разместить ВМ на других хостах, даже если правило нарушается. <!--переформулировать-->
- **VMs in Rule**: список виртуальных машин, к которым применяется правило.
5. Нажмите кнопку **Save**.

Some files were not shown because too many files have changed in this diff Show More