Compare commits
108 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d71462b31c | |||
| 02b8f0e963 | |||
| ee11fce051 | |||
| 86d09e7015 | |||
| 5e284757e7 | |||
| bd08e437b6 | |||
| 49a7b5e0b4 | |||
| 81ee62ef52 | |||
| 601bec1af2 | |||
| efbdef87fa | |||
| b794e5aebd | |||
| 9e3bf98788 | |||
| ef38318ce8 | |||
| 6619c5cc7f | |||
| 70553ded2f | |||
| 184fe5eb1b | |||
| f6111628b0 | |||
| 94bc0035d3 | |||
| d2e654bf25 | |||
| 36f291aba4 | |||
| 41840e657a | |||
| 64bbd09f15 | |||
| 18ad8159cd | |||
| 872b9d519f | |||
| 702190b65a | |||
| ee6b50cb82 | |||
| de75b64133 | |||
| 07052a4160 | |||
| 99e30cda4a | |||
| 2b489b529f | |||
| 4b32ec3950 | |||
| 24116b1633 | |||
| 6bcd90f9bc | |||
| 46ed947331 | |||
| 1a600b7851 | |||
| 64d75d9aef | |||
| 4fdbff209f | |||
| 63e55b74e2 | |||
| f6865fbfe4 | |||
| 8775794f64 | |||
| 510114e1db | |||
| 00edb34a9d | |||
| afd3407309 | |||
| 81bc33a1e9 | |||
| 2495d86655 | |||
| 712f7ddbc0 | |||
| d4888e088e | |||
| 8dbbe46636 | |||
| 4186722ab9 | |||
| 184acc6485 | |||
| 1e42c41971 | |||
| 3331da2399 | |||
| ec841dff60 | |||
| e429ff9a47 | |||
| aa3a35b840 | |||
| 4c2d28fb37 | |||
| 322d7af231 | |||
| 77f37ea74c | |||
| 3194088e94 | |||
| d8020505c3 | |||
| 57aaeae566 | |||
| ac56186cf7 | |||
| f6e295a3f5 | |||
| 09415adce2 | |||
| 3609f446cb | |||
| 145f0c6702 | |||
| 61947a5acc | |||
| 9d638839d6 | |||
| 39e2370fde | |||
| 1c25d760e2 | |||
| a869b20d2b | |||
| 4e44140183 | |||
| 8d36597e0e | |||
| cbca88ec9d | |||
| e4d89b5132 | |||
| 5feef83ae0 | |||
| 123fbb3fb4 | |||
| 2021e92467 | |||
| 26f4def6c3 | |||
| ace0cba558 | |||
| b669aba0dc | |||
| 3a20198e52 | |||
| c7e23817d6 | |||
| 8ab527e096 | |||
| baca55494c | |||
| 2ce47117e1 | |||
| 398d4cc342 | |||
| cbbfc629eb | |||
| a8d37525c3 | |||
| 08f15a687f | |||
| b3ff86ce8b | |||
| 17eeec3d26 | |||
| 702c2e01da | |||
| ff9885c5f8 | |||
| 021236498e | |||
| 28e159b8bd | |||
| 022a3ad303 | |||
| 71c9bcb05a | |||
| 6b8bccff1d | |||
| ea158a44b0 | |||
| c140ec8b21 | |||
| be581a8757 | |||
| 285babb9c9 | |||
| fa95157ab7 | |||
| e208f23363 | |||
| deab4d3df0 | |||
| 3fffc8d2df | |||
| ff41fe80c4 |
@@ -14,3 +14,7 @@ src/.vuepress/.cache
|
||||
src/.vuepress/.temp
|
||||
src/.vitepress/cache
|
||||
packages-list.json
|
||||
/.vale
|
||||
/.vscode
|
||||
/.vale.ini
|
||||
/.markdownlint.json
|
||||
@@ -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:
|
||||
|
||||
@@ -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 && \
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "0.6.1",
|
||||
"version": "0.6.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "docs",
|
||||
"version": "0.6.1",
|
||||
"version": "0.6.4",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@beeline/design-tokens": "^1.31.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "docs",
|
||||
"version": "0.6.1",
|
||||
"description": "Vega docs portal",
|
||||
"version": "0.6.4-vdi",
|
||||
"description": "Beeline Cloud docs",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"dev": "vitepress dev src",
|
||||
|
||||
@@ -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: " ",
|
||||
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: '/img/logo-cloud.svg',
|
||||
dark: '/img/logo-cloud.svg',
|
||||
alt: '',
|
||||
},
|
||||
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,74 +133,216 @@ 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'},
|
||||
],
|
||||
// '/billing/': [
|
||||
|
||||
// ],
|
||||
'/backups/': [
|
||||
{
|
||||
text: 'Резервное копирование', link: '/backups/index.md',
|
||||
},
|
||||
{
|
||||
text: 'Обзор сервиса', link: '/backups/about.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{text: 'Квоты и лимиты', link: '/backups/backup-quatos.md'},
|
||||
]
|
||||
},
|
||||
{text: 'Резервное копирование виртуальных машин Beeline Cloud', link: '/backups/backup-internal-infra.md'},
|
||||
{text: 'Резервное копирование собственной инфраструктуры в Beeline Cloud', link: '/backups/backup-external-infra.md'},
|
||||
{text: 'Каталог резервных копий', link: '/backups/view-backups.md'},
|
||||
|
||||
],
|
||||
'/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-about.md' },
|
||||
{ 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/manage-vm.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: 'VMware Tools', link: '/vdc/vdc-how-to/vm/vmware-tools.md'},
|
||||
],
|
||||
},
|
||||
{ text: 'Диски', link: '/vdc/vdc-how-to/disks/disks-index.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{text: 'Обзор', link: '/vdc/vdc-how-to/disks/about.md'},
|
||||
{text: 'Создание диска', link: '/vdc/vdc-how-to/disks/create-disk.md'},
|
||||
{text: 'Проверка состояния диска', link: '/vdc/vdc-how-to/disks/view-disk.md'},
|
||||
{text: 'Управление выделенными дисками', link: '/vdc/vdc-how-to/disks/attach-disk.md'},
|
||||
{text: 'Изменение политики хранения дисков ВМ', link: '/vdc/vdc-how-to/disks/change-storage-policy-of-vm.md'},
|
||||
{text: 'Редактирование параметров диска', link: '/vdc/vdc-how-to/disks/edit-disk.md'},
|
||||
{text: 'Удаление диска', link: '/vdc/vdc-how-to/disks/delete-disk.md'},
|
||||
],
|
||||
},
|
||||
{ text: 'Сети', link: '/vdc/vdc-how-to/networks/networks-index.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{text: 'Обзор', link: '/vdc/vdc-how-to/networks/about.md'},
|
||||
{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/connect-to-edge-gateway.md'},
|
||||
{text: 'Создание Pre-Shared Key', link: '/vdc/vdc-how-to/networks/create-psk.md'},
|
||||
{ text: 'Настройка site-to-site подключения с помощью IPSec', link: '/vdc/vdc-how-to/networks/how-to-setup-ipsec-vpn.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{text: 'Настройка ASAv', link: '/vdc/vdc-how-to/networks/ipsec/asav.md'},
|
||||
{text: 'Настройка CSR 1000v', link: '/vdc/vdc-how-to/networks/ipsec/csr1000v.md'},
|
||||
{text: 'Настройка Fortigate', link: '/vdc/vdc-how-to/networks/ipsec/fortigate.md'},
|
||||
{text: 'Проверить сетевую связанность', link: '/vdc/vdc-how-to/networks/ipsec/check-vpn-status.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-index.md' ,
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'Техническое описание', link: '/compute/compute-overview.md' },
|
||||
{ text: 'Квоты и лимиты', link: '/compute/compute-quatos.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-servers-jump-create.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: 'Подключение по SSH по логину и паролю', link: '/compute/compute-how-to/compute-connect-pwd.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' },
|
||||
],
|
||||
},
|
||||
|
||||
],
|
||||
'/admin/': [
|
||||
{
|
||||
text: 'Аккаунт Beeline Cloud', link: '/admin/acc-index.md',
|
||||
collapsed: true,
|
||||
{ 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: 'Управление ключевыми парами', link: '/admin/ssh.md'},
|
||||
{ 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: 'Администрирование', link: '/admin/index.md',
|
||||
},
|
||||
{text: 'Управление ключевыми парами', link: '/admin/ssh.md'},
|
||||
],
|
||||
'/vdi/': [
|
||||
{
|
||||
text: 'Виртуальные рабочие столы', link: '/vdi/index.md',
|
||||
},
|
||||
{
|
||||
text: 'Обзор сервиса', link: '/vdi/vdi-overview.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'О сервисе', link: '/vdi/vdi-about.md' },
|
||||
{ text: 'Техническое описание', link: '/vdi/vdi-tech.md' },
|
||||
{ text: 'Квоты и лимиты', link: '/vdi/vdi-quatos.md' },
|
||||
{ text: 'Тарификация', link: '/vdi/vdi-tarif.md' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Заказ виртуальных рабочих столов', link: '/vdi/vdi-how-to/vdi-create.md'
|
||||
},
|
||||
{
|
||||
text: 'Настройка сервиса', link: '/vdi/vdi-how-to/vdi-nastroika.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'Настройка интеграции с Active Directory', link: '/vdi/vdi-how-to/vdi-connect-to-ad.md' },
|
||||
{ text: 'Настройка сети', link: '/vdi/vdi-how-to/vdi-interconnect.md' },
|
||||
]
|
||||
},
|
||||
// {
|
||||
// text: 'Gold-образ', link: '/vdi/vdi-how-to/vdi-gold.md'
|
||||
// },
|
||||
{
|
||||
text: 'Подключение к виртуальному рабочему месту', link: '/vdi/vdi-how-to/vdi-connect.md'
|
||||
},
|
||||
],
|
||||
'/interconnect/': [
|
||||
{
|
||||
text: 'Выделенные сетевые соединения', link: '/interconnect/index.md',
|
||||
},
|
||||
{
|
||||
text: 'Обзор сервиса', link: '/interconnect/interconnect-overview.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'О сервисе', link: '/interconnect/interconnect-about.md' },
|
||||
{ text: 'Техническое описание', link: '/interconnect/interconnect-tech.md' },
|
||||
{ text: 'Квоты и лимиты', link: '/interconnect/interconnect-quatos.md' },
|
||||
{ text: 'Тарификация', link: '/interconnect/interconnect-tarif.md' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Заказ сервиса', link: '/interconnect/how-to/interconnect-create.md'
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,10 +54,12 @@ const pageName = computed(() =>
|
||||
<div class="content-container">
|
||||
<slot name="doc-before" />
|
||||
<main class="main">
|
||||
<Content class="vp-doc" :class="[
|
||||
pageName,
|
||||
theme.externalLinkIcon && 'external-link-icon-enabled'
|
||||
]" />
|
||||
<div class="vp-doc" :class="[
|
||||
pageName,
|
||||
theme.externalLinkIcon && 'external-link-icon-enabled'
|
||||
]">
|
||||
<Content />
|
||||
</div>
|
||||
<SectionLinkList v-if="frontmatter.section_links" :links="frontmatter.section_links" />
|
||||
</main>
|
||||
<VPDocFooter>
|
||||
|
||||
@@ -6,6 +6,8 @@ import { usePrevNext } from 'vitepress/dist/client/theme-default/composables/pre
|
||||
import VPIconEdit from 'vitepress/dist/client/theme-default/components/icons/VPIconEdit.vue'
|
||||
import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue'
|
||||
import VPDocFooterLastUpdated from 'vitepress/dist/client/theme-default/components/VPDocFooterLastUpdated.vue'
|
||||
import CustomIcon from './CustomIcon.vue'
|
||||
import { Icons } from '@beeline/design-tokens/js/iconfont/icons'
|
||||
|
||||
const { theme, page, frontmatter } = useData()
|
||||
|
||||
@@ -43,14 +45,14 @@ const showFooter = computed(() => {
|
||||
<nav v-if="control.prev?.link || control.next?.link" class="prev-next">
|
||||
<div class="pager">
|
||||
<VPLink v-if="control.prev?.link" class="pager-link prev" :href="control.prev.link">
|
||||
<span class="desc" v-html="theme.docFooter?.prev || 'Previous page'"></span>
|
||||
<CustomIcon class="desc-prev" :icon="Icons.ArrowRight" />
|
||||
<span class="title" v-html="control.prev.text"></span>
|
||||
</VPLink>
|
||||
</div>
|
||||
<div class="pager">
|
||||
<VPLink v-if="control.next?.link" class="pager-link next" :href="control.next.link">
|
||||
<span class="desc" v-html="theme.docFooter?.next || 'Next page'"></span>
|
||||
<span class="title" v-html="control.next.text"></span>
|
||||
<CustomIcon class="desc-next" :icon="Icons.ArrowRight" />
|
||||
</VPLink>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -59,7 +61,7 @@ const showFooter = computed(() => {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.VPDocFooter {
|
||||
margin-top: 64px;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.edit-info {
|
||||
@@ -98,8 +100,6 @@ const showFooter = computed(() => {
|
||||
}
|
||||
|
||||
.prev-next {
|
||||
border-top: 1px solid var(--vp-c-divider);
|
||||
padding-top: 24px;
|
||||
display: grid;
|
||||
grid-row-gap: 8px;
|
||||
}
|
||||
@@ -115,10 +115,19 @@ const showFooter = computed(() => {
|
||||
display: block;
|
||||
border: 1px solid var(--vp-c-divider);
|
||||
border-radius: 8px;
|
||||
padding: 11px 16px 13px;
|
||||
padding: 10px 16px 10px 12px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transition: border-color 0.25s;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
|
||||
color: #1a73e8;
|
||||
|
||||
&.next {
|
||||
padding: 10px 12px 10px 16px;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
.pager-link:hover {
|
||||
@@ -136,6 +145,14 @@ const showFooter = computed(() => {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: var(--vp-c-text-2);
|
||||
|
||||
&-next {
|
||||
rotate: -270deg;
|
||||
}
|
||||
|
||||
&-prev {
|
||||
rotate: -90deg;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
|
||||
@@ -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,11 +1,303 @@
|
||||
.custom-block {
|
||||
padding: 24px;
|
||||
@use "@beeline/design-tokens/scss/tokens/globals/colors";
|
||||
@use "@beeline/design-tokens/scss/tokens/themes";
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/theme-variables' as *;
|
||||
|
||||
&-title {
|
||||
font-size: 18px;
|
||||
line-height: 22px;
|
||||
font-weight: 500;
|
||||
letter-spacing: .2px;
|
||||
margin-bottom: 12px;
|
||||
.custom-block {
|
||||
padding: 24px;
|
||||
|
||||
&-title {
|
||||
font-size: 17px !important;
|
||||
line-height: 22px !important;
|
||||
font-weight: 700 !important;
|
||||
letter-spacing: .2px !important;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
&.tip a {
|
||||
color: #1a73e8;
|
||||
|
||||
&:hover {
|
||||
color: #1a73e8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block {
|
||||
border: 1px solid transparent;
|
||||
border-radius: 8px;
|
||||
padding: 24px 24px 24px 64px;
|
||||
line-height: 24px;
|
||||
font-size: var(--vp-custom-block-font-size);
|
||||
color: var(--vp-c-text-2);
|
||||
|
||||
&.custom-block.details {
|
||||
padding: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block.info {
|
||||
border-color: var(--vp-custom-block-info-border);
|
||||
color: var(--vp-custom-block-info-text);
|
||||
background-color: var(--vp-custom-block-info-bg);
|
||||
}
|
||||
|
||||
.custom-block.info a,
|
||||
.custom-block.info code {
|
||||
color: var(--vp-c-brand-1);
|
||||
}
|
||||
|
||||
.custom-block.info a:hover,
|
||||
.custom-block.info a:hover > code {
|
||||
color: var(--vp-c-brand-2);
|
||||
}
|
||||
|
||||
.custom-block.info code {
|
||||
background-color: var(--vp-custom-block-info-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.note {
|
||||
border-color: var(--vp-custom-block-note-border);
|
||||
color: var(--vp-custom-block-note-text);
|
||||
background-color: var(--vp-custom-block-note-bg);
|
||||
}
|
||||
|
||||
.custom-block.note a,
|
||||
.custom-block.note code {
|
||||
color: var(--vp-c-brand-1);
|
||||
}
|
||||
|
||||
.custom-block.note a:hover,
|
||||
.custom-block.note a:hover > code {
|
||||
color: var(--vp-c-brand-2);
|
||||
}
|
||||
|
||||
.custom-block.note code {
|
||||
background-color: var(--vp-custom-block-note-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.tip {
|
||||
border-color: var(--vp-custom-block-tip-border);
|
||||
color: var(--vp-custom-block-tip-text);
|
||||
background-color: var(--vp-custom-block-tip-bg);
|
||||
|
||||
&::before {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
background-image: var(--vp-icon-clock);
|
||||
position: absolute;
|
||||
left: 24px;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block.tip a,
|
||||
.custom-block.tip code {
|
||||
color: var(--vp-c-tip-1);
|
||||
}
|
||||
|
||||
.custom-block.tip a:hover,
|
||||
.custom-block.tip a:hover > code {
|
||||
color: var(--vp-c-tip-2);
|
||||
}
|
||||
|
||||
.custom-block.tip code {
|
||||
background-color: var(--vp-custom-block-tip-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.important {
|
||||
border-color: var(--vp-custom-block-important-border);
|
||||
color: var(--vp-custom-block-important-text);
|
||||
background-color: var(--vp-custom-block-important-bg);
|
||||
}
|
||||
|
||||
.custom-block.important a,
|
||||
.custom-block.important code {
|
||||
color: var(--vp-c-important-1);
|
||||
}
|
||||
|
||||
.custom-block.important a:hover,
|
||||
.custom-block.important a:hover > code {
|
||||
color: var(--vp-c-important-2);
|
||||
}
|
||||
|
||||
.custom-block.important code {
|
||||
background-color: var(--vp-custom-block-important-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.warning {
|
||||
border-color: var(--vp-custom-block-warning-border);
|
||||
color: var(--vp-custom-block-warning-text);
|
||||
background-color: var(--vp-custom-block-warning-bg);
|
||||
|
||||
&::before {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
background-image: var(--vp-icon-info-circled);
|
||||
position: absolute;
|
||||
left: 24px;
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block.warning a,
|
||||
.custom-block.warning code {
|
||||
color: $color-text-link;
|
||||
}
|
||||
|
||||
.custom-block.warning a:hover,
|
||||
.custom-block.warning a:hover > code {
|
||||
color: $color-text-link;
|
||||
}
|
||||
|
||||
.custom-block.warning code {
|
||||
background-color: var(--vp-custom-block-warning-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.danger {
|
||||
border-color: var(--vp-custom-block-danger-border);
|
||||
color: var(--vp-custom-block-danger-text);
|
||||
background-color: var(--vp-custom-block-danger-bg);
|
||||
|
||||
&::before {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
background-image: var(--vp-icon-warning-triangle);
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block.danger a,
|
||||
.custom-block.danger code {
|
||||
color: var(--vp-c-danger-1);
|
||||
}
|
||||
|
||||
.custom-block.danger a:hover,
|
||||
.custom-block.danger a:hover > code {
|
||||
color: var(--vp-c-danger-2);
|
||||
}
|
||||
|
||||
.custom-block.danger code {
|
||||
background-color: var(--vp-custom-block-danger-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.caution {
|
||||
border-color: var(--vp-custom-block-caution-border);
|
||||
color: var(--vp-custom-block-caution-text);
|
||||
background-color: var(--vp-custom-block-caution-bg);
|
||||
}
|
||||
|
||||
.custom-block.caution a,
|
||||
.custom-block.caution code {
|
||||
color: var(--vp-c-caution-1);
|
||||
}
|
||||
|
||||
.custom-block.caution a:hover,
|
||||
.custom-block.caution a:hover > code {
|
||||
color: var(--vp-c-caution-2);
|
||||
}
|
||||
|
||||
.custom-block.caution code {
|
||||
background-color: var(--vp-custom-block-caution-code-bg);
|
||||
}
|
||||
|
||||
.custom-block.details {
|
||||
border-color: var(--vp-custom-block-details-border);
|
||||
color: var(--vp-custom-block-details-text);
|
||||
background-color: transparent;
|
||||
border-radius: 12px;
|
||||
border: 1px solid $color-border;
|
||||
|
||||
pre {
|
||||
border: none !important;
|
||||
|
||||
}
|
||||
|
||||
div {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
&:open {
|
||||
&.custom-block.details summary {
|
||||
background-color: $color-background-base-hover;
|
||||
border-top-left-radius: 12px;
|
||||
border-top-right-radius: 12px;
|
||||
|
||||
&::before {
|
||||
background-image: var(--vp-icon-nav-arrow-up);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block.details a {
|
||||
color: var(--vp-c-brand-1);
|
||||
}
|
||||
|
||||
.custom-block.details a:hover,
|
||||
.custom-block.details a:hover > code {
|
||||
color: var(--vp-c-brand-2);
|
||||
}
|
||||
|
||||
.custom-block.details code {
|
||||
background-color: var(--vp-custom-block-details-code-bg);
|
||||
}
|
||||
|
||||
.custom-block-title {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.custom-block p + p {
|
||||
margin: 8px 0;
|
||||
}
|
||||
|
||||
.custom-block.details summary {
|
||||
margin: 0;
|
||||
padding: 24px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
font-size: 19px;
|
||||
line-height: 24px;
|
||||
letter-spacing: 0.2px;
|
||||
display: block;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
right: 24px;
|
||||
content: '';
|
||||
background-image: var(--vp-icon-nav-arrow-down);
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.custom-block.details summary + p {
|
||||
margin: 0;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.custom-block a {
|
||||
color: inherit;
|
||||
font-weight: 600;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
transition: opacity 0.25s;
|
||||
}
|
||||
|
||||
.custom-block a:hover {
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.custom-block code {
|
||||
font-size: var(--vp-custom-block-code-font-size);
|
||||
}
|
||||
|
||||
.custom-block.custom-block th,
|
||||
.custom-block.custom-block blockquote > p {
|
||||
font-size: var(--vp-custom-block-font-size);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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,138 +1,566 @@
|
||||
@use "@beeline/design-tokens/scss/tokens/globals/colors";
|
||||
@use "@beeline/design-tokens/scss/tokens/themes";
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/theme-variables' as *;
|
||||
|
||||
@mixin font_style($fontSize, $fontWeight, $lineHeight, $letterSpacing) {
|
||||
font-size: $fontSize;
|
||||
font-weight: $fontWeight;
|
||||
line-height: $lineHeight;
|
||||
letter-spacing: $letterSpacing;
|
||||
font-size: $fontSize;
|
||||
font-weight: $fontWeight;
|
||||
line-height: $lineHeight;
|
||||
letter-spacing: $letterSpacing;
|
||||
}
|
||||
|
||||
@mixin generate-numbered-list-styles($start, $end) {
|
||||
@for $counter from $start through $end {
|
||||
$counter-name: list + ' ' + ($counter - 1);
|
||||
ol[start*="#{$counter}"] {
|
||||
list-style-type: none;
|
||||
counter-reset: $counter-name;
|
||||
}
|
||||
@for $counter from $start through $end {
|
||||
$counter-name: list + ' ' + ($counter - 1);
|
||||
ol[start*="#{$counter}"] {
|
||||
list-style-type: none;
|
||||
counter-reset: $counter-name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vp-doc {
|
||||
font-size: 17px;
|
||||
font-size: 17px;
|
||||
|
||||
// Titles
|
||||
h1 {
|
||||
@include font_style(44px, 500, 46px, 0.3px);
|
||||
margin-bottom: 24px;
|
||||
// Titles
|
||||
h1 {
|
||||
@include font_style(44px, 500, 56px, 0.3px);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
@include font_style(26px, 500, 32px, 0.2px);
|
||||
margin: 40px 0 24px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@include font_style(26px, 500, 32px, 0.2px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
@include font_style(20px, 700, 28px, 0.2px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
@include font_style(17px, 500, 22px, 0.2px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
// Text
|
||||
ol {
|
||||
list-style-type: none;
|
||||
counter-reset: list;
|
||||
margin: 0 0 0 50px;
|
||||
padding: 0;
|
||||
font-size: 15px;
|
||||
|
||||
& > * + * {
|
||||
margin-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
@include generate-numbered-list-styles(2, 50);
|
||||
|
||||
ol li {
|
||||
position: relative;
|
||||
padding: 8px 0 0 0;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
li + li {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
padding-bottom: 0;
|
||||
padding-top: 0;
|
||||
margin-top: 8px;
|
||||
@include font_style(15px, 400, 18px, 0.2px);
|
||||
}
|
||||
|
||||
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: -25px;
|
||||
}
|
||||
|
||||
ol li::before {
|
||||
content: counter(list);
|
||||
counter-increment: list;
|
||||
display: inline-flex;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -48px;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
background-color: colors.$color-background-brand;
|
||||
color: themes.$color-text-active;
|
||||
@include font_style(15px, 400, 18px, 0.2px);
|
||||
border-radius: 50%;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
ul li:nth-last-of-type(n):after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
ol ul li::before {
|
||||
counter-increment: list;
|
||||
content: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ol li:last-child {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
ul li:last-child {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
ol li p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
@include font_style(15px, 400, 18px, 0.2px);
|
||||
margin: 24px 0;
|
||||
}
|
||||
|
||||
// Links
|
||||
a {
|
||||
color: #1a73e8;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover, &:focus-visible, &:focus, &:active {
|
||||
color: #1a73e8;
|
||||
}
|
||||
|
||||
h2 {
|
||||
@include font_style(34px, 400, 36px, 0.3px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@include font_style(26px, 500, 32px, 0.2px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
@include font_style(20px, 700, 28px, 0.2px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
@include font_style(17px, 500, 22px, 0.2px);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
// Text
|
||||
ol {
|
||||
list-style-type: none;
|
||||
counter-reset: list;
|
||||
margin: 0 0 0 50px;
|
||||
padding: 0 0 5px 0;
|
||||
font-size: 16px;
|
||||
|
||||
& > * + * {
|
||||
margin-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
@include generate-numbered-list-styles(2, 50);
|
||||
|
||||
ol li {
|
||||
position: relative;
|
||||
padding: 5px 0 0 0;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
li + li {
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
padding-bottom: 0;
|
||||
padding-top: 0;
|
||||
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;
|
||||
display: inline-flex;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -48px;
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
background-color: #7e00ed;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 25px;
|
||||
font-size: 16px;
|
||||
border-radius: 50%;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
ul li:nth-last-of-type(n):after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
ol ul li::before {
|
||||
counter-increment: list;
|
||||
content: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ol li p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
// Links
|
||||
a {
|
||||
color: #1a73e8;
|
||||
|
||||
&:hover, &:focus-visible, &:focus, &:active {
|
||||
color: #1a73e8;
|
||||
}
|
||||
|
||||
&:visited {
|
||||
color: #7e00ed;
|
||||
}
|
||||
&:visited {
|
||||
color: #7e00ed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Tabs
|
||||
.plugin-tabs {
|
||||
border-radius: 12px;
|
||||
border: 1px solid $color-border;
|
||||
background-color: revert-layer !important;
|
||||
|
||||
&--tab {
|
||||
border-bottom: 1px solid transparent;
|
||||
}
|
||||
|
||||
&--content {
|
||||
padding: 24px !important;
|
||||
|
||||
.language- {
|
||||
border: none;
|
||||
padding: 0px !important;
|
||||
overflow-y: hidden !important;
|
||||
overflow-x: hidden !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Code
|
||||
.vp-doc :not(pre, h1, h2, h3, h4, h5, h6) > code {
|
||||
font-size: var(--vp-code-font-size);
|
||||
color: var(--vp-code-color);
|
||||
}
|
||||
|
||||
.vp-doc :not(pre) > code {
|
||||
border-radius: 4px;
|
||||
padding: 3px 6px;
|
||||
background-color: var(--vp-code-bg);
|
||||
transition:
|
||||
color 0.25s,
|
||||
background-color 0.5s;
|
||||
}
|
||||
|
||||
.vp-doc a > code {
|
||||
color: var(--vp-code-link-color);
|
||||
}
|
||||
|
||||
.vp-doc a:hover > code {
|
||||
color: var(--vp-code-link-hover-color);
|
||||
}
|
||||
|
||||
.vp-doc h1 > code,
|
||||
.vp-doc h2 > code,
|
||||
.vp-doc h3 > code {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.vp-doc div[class*='language-'],
|
||||
.vp-block {
|
||||
position: relative;
|
||||
margin: 16px -24px;
|
||||
background-color: transparent;
|
||||
overflow-x: auto;
|
||||
transition: background-color 0.5s;
|
||||
}
|
||||
|
||||
@media (min-width: 640px) {
|
||||
.vp-doc div[class*='language-'],
|
||||
.vp-block {
|
||||
border-radius: 12px;
|
||||
margin: 16px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 639px) {
|
||||
.vp-doc li div[class*='language-'] {
|
||||
border-radius: 8px 0 0 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.vp-doc div[class*='language-'] + div[class*='language-'],
|
||||
.vp-doc div[class$='-api'] + div[class*='language-'],
|
||||
.vp-doc div[class*='language-'] + div[class$='-api'] > div[class*='language-'] {
|
||||
margin-top: -8px;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] pre,
|
||||
.vp-doc [class*='language-'] code {
|
||||
/*rtl:ignore*/
|
||||
direction: ltr;
|
||||
/*rtl:ignore*/
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] pre {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin: 0;
|
||||
padding: 24px;
|
||||
overflow-x: auto;
|
||||
border-radius: 12px;
|
||||
border: 1px solid $color-border;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code {
|
||||
display: block;
|
||||
padding: 0px;
|
||||
width: fit-content;
|
||||
min-width: 100%;
|
||||
line-height: var(--vp-code-line-height);
|
||||
font-size: var(--vp-code-font-size);
|
||||
color: var(--vp-code-color);
|
||||
transition: color 0.5s;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .highlighted {
|
||||
background-color: var(--vp-code-line-highlight-color);
|
||||
transition: background-color 0.5s;
|
||||
margin: 0 -24px;
|
||||
padding: 0 24px;
|
||||
width: calc(100% + 2 * 24px);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .highlighted.error {
|
||||
background-color: var(--vp-code-line-error-color);
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .highlighted.warning {
|
||||
background-color: var(--vp-code-line-warning-color);
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .diff {
|
||||
transition: background-color 0.5s;
|
||||
margin: 0 -24px;
|
||||
padding: 0 24px;
|
||||
width: calc(100% + 2 * 24px);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .diff::before {
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] .has-focused-lines .line:not(.has-focus) {
|
||||
filter: blur(0.095rem);
|
||||
opacity: 0.4;
|
||||
transition:
|
||||
filter 0.35s,
|
||||
opacity 0.35s;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] .has-focused-lines .line:not(.has-focus) {
|
||||
opacity: 0.7;
|
||||
transition:
|
||||
filter 0.35s,
|
||||
opacity 0.35s;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-']:hover .has-focused-lines .line:not(.has-focus) {
|
||||
filter: blur(0);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .diff.remove {
|
||||
background-color: var(--vp-code-line-diff-remove-color);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .diff.remove::before {
|
||||
content: '-';
|
||||
color: var(--vp-code-line-diff-remove-symbol-color);
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .diff.add {
|
||||
background-color: var(--vp-code-line-diff-add-color);
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] code .diff.add::before {
|
||||
content: '+';
|
||||
color: var(--vp-code-line-diff-add-symbol-color);
|
||||
}
|
||||
|
||||
.vp-doc div[class*='language-'].line-numbers-mode {
|
||||
/*rtl:ignore*/
|
||||
padding-left: 32px;
|
||||
}
|
||||
|
||||
.vp-doc .line-numbers-wrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
/*rtl:ignore*/
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
/*rtl:ignore*/
|
||||
border-right: 1px solid var(--vp-code-block-divider-color);
|
||||
padding-top: 20px;
|
||||
width: 32px;
|
||||
text-align: center;
|
||||
font-family: var(--vp-font-family-mono);
|
||||
line-height: var(--vp-code-line-height);
|
||||
font-size: var(--vp-code-font-size);
|
||||
color: var(--vp-code-line-number-color);
|
||||
transition:
|
||||
border-color 0.5s,
|
||||
color 0.5s;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] > button.copy {
|
||||
/*rtl:ignore*/
|
||||
direction: ltr;
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
/*rtl:ignore*/
|
||||
right: 12px;
|
||||
z-index: 3;
|
||||
border: none;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background-color: transparent;
|
||||
opacity: 1;
|
||||
cursor: pointer;
|
||||
background-image: var(--vp-icon-copy);
|
||||
background-position: 50%;
|
||||
background-size: 20px;
|
||||
background-repeat: no-repeat;
|
||||
transition:
|
||||
border-color 0.25s,
|
||||
background-color 0.25s,
|
||||
opacity 0.25s;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-']:hover > button.copy,
|
||||
.vp-doc [class*='language-'] > button.copy:focus {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] > button.copy:hover,
|
||||
.vp-doc [class*='language-'] > button.copy.copied {
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] > button.copy.copied,
|
||||
.vp-doc [class*='language-'] > button.copy:hover.copied {
|
||||
/*rtl:ignore*/
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] > button.copy.copied::before,
|
||||
.vp-doc [class*='language-'] > button.copy:hover.copied::before {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
/*rtl:ignore*/
|
||||
transform: translateX(calc(-100% - 1px));
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: none;
|
||||
/*rtl:ignore*/
|
||||
border-right: 0;
|
||||
padding: 0 10px;
|
||||
width: fit-content;
|
||||
height: 40px;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: var(--vp-code-copy-code-active-text);
|
||||
white-space: nowrap;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-'] > span.lang {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
/*rtl:ignore*/
|
||||
right: 8px;
|
||||
z-index: 2;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: var(--vp-code-lang-color);
|
||||
transition:
|
||||
color 0.4s,
|
||||
opacity 0.4s;
|
||||
}
|
||||
|
||||
.vp-doc [class*='language-']:hover > button.copy + span.lang,
|
||||
.vp-doc [class*='language-'] > button.copy:focus + span.lang {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
// Banner
|
||||
.vp-doc .custom-block {
|
||||
margin: 40px 0;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block p {
|
||||
margin: 8px 0;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block p:first-child {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block div[class*='language-'] {
|
||||
margin: 8px 0;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block div[class*='language-'] code {
|
||||
font-weight: 400;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block .vp-code-group .tabs {
|
||||
margin: 0;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
// Table
|
||||
.vp-doc table {
|
||||
display: block;
|
||||
border-collapse: collapse;
|
||||
overflow-x: auto;
|
||||
border-radius: 12px;
|
||||
border: 1px solid $color-border;
|
||||
// width: 100%;
|
||||
margin: 24px 0;
|
||||
}
|
||||
|
||||
.vp-doc tr {
|
||||
border-top: hidden;
|
||||
transition: background-color 0.5s;
|
||||
}
|
||||
|
||||
.vp-doc tr:nth-child(2n) {
|
||||
background-color: var(--vp-c-bg-soft);
|
||||
}
|
||||
|
||||
.vp-doc th,
|
||||
.vp-doc td {
|
||||
padding: 18px 16px;
|
||||
padding: 18px 16px;
|
||||
width: 100vh;
|
||||
background-color: var(--vp-c-bg);
|
||||
border: none;
|
||||
}
|
||||
|
||||
.vp-doc tbody tr {
|
||||
border-top: 1px solid $color-border;
|
||||
|
||||
&:last-child{
|
||||
border-bottom: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.vp-doc th {
|
||||
@include font_style(15px, 500, 20px, 0.2px);
|
||||
color: $color-text-active;
|
||||
background-color: var(--vp-c-bg);
|
||||
border-top: 1px solid $color-border;
|
||||
}
|
||||
|
||||
.vp-doc td {
|
||||
@include font_style(15px, 400, 18px, 0.2px);
|
||||
padding: 18px 16px;
|
||||
background-color: var(--vp-c-bg);
|
||||
border-right: hidden;
|
||||
border-left: hidden;
|
||||
color: $color-text-active;
|
||||
}
|
||||
|
||||
// Block
|
||||
.vp-doc .custom-block {
|
||||
margin: 16px 0;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block p {
|
||||
margin: 8px 0;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block p:first-child {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block div[class*='language-'] {
|
||||
margin: 40px 0;
|
||||
border-radius: 12px;
|
||||
|
||||
&.vp-doc .custom-block {
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.vp-doc .custom-block div[class*='language-'] code {
|
||||
font-weight: 400;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.vp-doc .custom-block .vp-code-group .tabs {
|
||||
margin: 0;
|
||||
border-radius: 8px 8px 0 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;
|
||||
}
|
||||
}
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
:root {
|
||||
--vp-font-family-base: 'Beeline Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
--vp-font-family-mono: 'Roboto Mono', monospace;
|
||||
--vp-font-family-mono: 'JetBrains Mono', monospace;
|
||||
|
||||
// Code
|
||||
// --vp-code-font-size: ;
|
||||
@@ -183,16 +183,18 @@
|
||||
--vp-custom-block-code-font-size: 17px;
|
||||
--vp-custom-block-tip-border: transparent;
|
||||
--vp-custom-block-tip-text: var(--vp-c-text-1);
|
||||
--vp-custom-block-tip-bg: #f1f1f3;
|
||||
--vp-custom-block-tip-bg: #f9f9f9;
|
||||
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
|
||||
--vp-custom-block-warning-bg: #fff4e1;
|
||||
--vp-custom-block-danger-bg: #ffecef;
|
||||
--vp-custom-block-warning-bg: #e3f2ff;
|
||||
--vp-custom-block-warning-icon: #1a73e8;
|
||||
--vp-custom-block-danger-bg: #fff4e1;
|
||||
--vp-custom-block-danger-icon: #ff9419;
|
||||
}
|
||||
|
||||
.dark {
|
||||
--vp-custom-block-warning-bg: #3d392a;
|
||||
--vp-custom-block-warning-bg: #132338;
|
||||
--vp-custom-block-tip-bg: #36383c;
|
||||
--vp-custom-block-danger-bg: #371313;
|
||||
--vp-custom-block-danger-bg: #3d392a;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -203,3 +205,12 @@
|
||||
--docsearch-primary-color: var(--vp-c-brand-1) !important;
|
||||
}
|
||||
|
||||
:root {
|
||||
--vp-icon-copy: url('../../../public/icons/copy.svg');
|
||||
--vp-icon-clock: url('../../../public/icons/clock.svg');
|
||||
--vp-icon-info-circled: url('../../../public/icons/info_circled.svg');
|
||||
--vp-icon-warning-triangle: url('../../../public/icons/warning_triangle.svg');
|
||||
--vp-icon-nav-arrow-down: url('../../../public/icons/nav_arrow_down.svg');
|
||||
--vp-icon-nav-arrow-up: url('../../../public/icons/nav_arrow_up.svg');
|
||||
--vp-sidebar-width: 320px;
|
||||
}
|
||||
|
||||
@@ -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. С помощью аккаунта можно управлять профилем пользователя.
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Управление ключевыми парами
|
||||
link: /admin/ssh.md
|
||||
description: Добавление SSH-ключей для подключения к виртуальным машинам
|
||||
---
|
||||
|
||||
# Администрирование
|
||||
|
||||
При [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud создается аккаунт и проект в Beeline Cloud.
|
||||
|
||||
С помощью аккаунта можно управлять профилем пользователя - добавлять SSH-ключи, чтобы подключаться к виртуальным машинам без ввода пароля.
|
||||
|
||||
@@ -10,7 +10,7 @@ SSH-ключ добавляется на этапе [создания вирту
|
||||
|
||||
## Добавить SSH-ключ
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Перейдите в профиль пользователя в правом верхнем углу.
|
||||
3. Перейдите в раздел **SSH-ключи**.
|
||||
4. Нажмите **Добавить ключ**.
|
||||
@@ -31,14 +31,14 @@ SSH-ключ добавляется на этапе [создания вирту
|
||||
|
||||
## Посмотреть SSH-ключи
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Перейдите в профиль пользователя в правом верхнем углу.
|
||||
3. Перейдите в раздел **SSH-ключи**.
|
||||
4. В таблице показаны SSH-ключи пользователя.
|
||||
|
||||
## Изменить название SSH-ключа
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Перейдите в профиль пользователя в правом верхнем углу.
|
||||
3. Перейдите в раздел **SSH-ключи**.
|
||||
4. Выберите нужный ключ.
|
||||
@@ -48,7 +48,7 @@ SSH-ключ добавляется на этапе [создания вирту
|
||||
|
||||
## Удалить SSH-ключ
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Перейдите в профиль пользователя в правом верхнем углу.
|
||||
3. Перейдите в раздел **SSH-ключи**.
|
||||
4. Выберите нужный ключ.
|
||||
|
||||
|
Before Width: | Height: | Size: 347 KiB After Width: | Height: | Size: 347 KiB |
|
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 325 KiB |
|
Before Width: | Height: | Size: 199 KiB After Width: | Height: | Size: 199 KiB |
@@ -0,0 +1,15 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Квоты и лимиты
|
||||
link: /backups/backup-quatos.md
|
||||
description: Ограничения на количество ресурсов в сервисе
|
||||
---
|
||||
|
||||
# О сервисе
|
||||
|
||||
Резервное копирование — это сервис для сохранения данных и конфигураций виртуальных машин с возможностью последующего восстановления. В облачной среде резервные копии позволяют вернуть систему в рабочее состояние после сбоя и поддерживать доступность сервисов.
|
||||
|
||||
Резервное копирование подключается:
|
||||
|
||||
- для [виртуальных машин, развернутых в Beeline Cloud](./backup-internal-infra.md);
|
||||
- для [собственной инфраструктуры](./backup-external-infra.md).
|
||||
@@ -0,0 +1,54 @@
|
||||
# Резервное копирование собственной инфраструктуры в Beeline Cloud
|
||||
|
||||
## Перед началом работы
|
||||
|
||||
- Зарегистрируйтесь в [личном кабинете Beeline Cloud](https://console.cloud.beeline.ru/).
|
||||
- [Создайте](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра) виртуальный дата-центр.
|
||||
- [Создайте](../vdc/vdc-how-to/vm/create-vm.md) виртуальную машину в виртуальном дата-центре.
|
||||
|
||||
## Подключить резервное копирование
|
||||
|
||||
1. Войдите в [личный кабинет Beeline Cloud](https://lk.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню перейдите в **Сервисы** → **Резервное копирование**.
|
||||
4. Нажмите кнопку **Создать хранилище**.
|
||||
5. В разделе **Инфраструктура для копирования** выберите опцию **Локальная**.
|
||||
6. В разделе **Тип подключения** выберите способ резервного копирования:
|
||||
- **Veeam Agent**: резервное копирование в beeline cloud при помощи Veeam Agent.
|
||||
- **Veeam Cloud Connect**: подключение Veeam к облачному репозиторию beeline cloud.
|
||||
- **Киберпроект**: резервное копирование в beeline cloud при помощи Киберпротект.
|
||||
|
||||
:::tabs
|
||||
|
||||
== Veeam Agent / Veeam Cloud Connect
|
||||
|
||||
- В разделе **Сетевые подключения** выберите тип подключения:
|
||||
|
||||
- **Интернет**: интернет-соединение.
|
||||
- **L2 или L3 канал**: выделенное интернет-соединение.
|
||||
- для **L2 или L3 канал** укажите способ связи с вами и удобное время для консультации с менеджером Beeline Cloud.
|
||||
|
||||
- В разделе **Параметры** укажите:
|
||||
|
||||
- **Количество ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
|
||||
- **Объем хранилища**: объем хранилища для резервных копий.
|
||||
|
||||
== Киберпроект
|
||||
|
||||
- В разделе **Общее** выберите [дата-центр](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра), к которому нужно подключить резервное копирование.
|
||||
|
||||
- В разделе **Параметры** укажите:
|
||||
|
||||
- **ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
|
||||
- **Базы данных**: количество баз данных, которое нужно подключить к сервису.
|
||||
- **Серверы**: количество серверов, которое нужно подключить к сервису.
|
||||
- **Устройства**: количество рабочих столов (VDI), которое нужно подключить к сервису.
|
||||
- **Объем хранилища**: объем хранилища для резервных копий.
|
||||
|
||||
:::
|
||||
|
||||
7. Нажмите кнопку **Создать хранилище**.
|
||||
|
||||
Подключение резервного копирования занимает до 3 дней. Статус подключения сервиса отображается в личном кабинете Beeline Cloud.
|
||||
|
||||
Данные для доступа к ПО для настройки резервного копирования будут отправлены на электронную почту, указанную в личном кабинете Beeline Cloud.
|
||||
@@ -0,0 +1,56 @@
|
||||
# Резервное копирование виртуальных машин Beeline Cloud
|
||||
|
||||
## Перед началом работы
|
||||
|
||||
- Зарегистрируйтесь в [личном кабинете Beeline Cloud](https://console.cloud.beeline.ru/).
|
||||
- [Создайте](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра) виртуальный дата-центр.
|
||||
- [Создайте](../vdc/vdc-how-to/vm/create-vm.md) виртуальную машину в виртуальном дата-центре.
|
||||
|
||||
## Подключить резервное копирование
|
||||
|
||||
1. Войдите в [личный кабинет Beeline Cloud](https://lk.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню перейдите в **Сервисы** → **Резервное копирование**.
|
||||
4. Нажмите кнопку **Создать хранилище**.
|
||||
5. В разделе **Инфраструктура для копирования** выберите опцию **В облаке**.
|
||||
6. В разделе **Управление** выберите **способ резервного копирования**: **самостоятельно** или **провайдером**.
|
||||
|
||||
:::: tabs
|
||||
|
||||
== Провайдером
|
||||
|
||||
- В разделе **Общее** выберите [дата-центр](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра), к которому нужно подключить резервное копирование.
|
||||
- В разделе **Политика резервного копирования** укажите настройки резервного копирования:
|
||||
|
||||
- **Глубина хранения**: время хранения резервных копий.
|
||||
- **Полное резервное копирование**: количество полных копий в день.
|
||||
- **Инкрементальное резервное копирование**: количество инкрементальных копий в день.
|
||||
- **Окно резервного копирования**: выберите время запуска резервного копирования.
|
||||
|
||||
::: details Чем полная копия отличается от инкрементной?
|
||||
Полное резервное копирование — это создание копии всех данных виртуальной машины за одну операцию. Полная копия подходит для восстановления без зависимости от других сохранений.
|
||||
|
||||
Инкрементное резервное копирование — это сохранение только измененных данных относительно предыдущей копии. Это уменьшает объем хранения и ускоряет процесс при регулярном копировании.
|
||||
:::
|
||||
|
||||
- В разделе **Параметры** укажите:
|
||||
|
||||
- **Количество ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
|
||||
- **Объем хранилища**: объем хранилища для резервных копий.
|
||||
|
||||
== Самостоятельно
|
||||
|
||||
- В разделе **Общее** выберите [дата-центр](../vdc/vdc-how-to/vdc-create.md#создание-дата-центра), к которому нужно подключить резервное копирование.
|
||||
|
||||
- В разделе **Параметры** укажите:
|
||||
|
||||
- **Количество ВМ**: количество виртуальных машин, которое нужно подключить к сервису.
|
||||
- **Объем хранилища**: объем хранилища для резервных копий.
|
||||
|
||||
::::
|
||||
|
||||
7. Нажмите кнопку **Создать хранилище**.
|
||||
|
||||
Подключение резервного копирования занимает до 3 дней. Статус подключения сервиса отображается в личном кабинете Beeline Cloud.
|
||||
|
||||
Данные для доступа к ПО для настройки резервного копирования будут отправлены на электронную почту, указанную в личном кабинете Beeline Cloud.
|
||||
@@ -0,0 +1,27 @@
|
||||
# Квоты и лимиты
|
||||
|
||||
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
|
||||
|
||||
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
|
||||
|
||||
## Квоты
|
||||
|
||||
### Бесплатный период
|
||||
|
||||
В [бесплатном периоде](../start/trial.md) использования Beeline Cloud установлены квоты на ресурсы сервиса:
|
||||
|
||||
| Вид ограничения | Значение |
|
||||
| ------------------- | -------- |
|
||||
| Количество хранилищ | 1 |
|
||||
| Количество виртуальных машин | 5 |
|
||||
| Объем хранилища | 1 ПБ |
|
||||
|
||||
### Платное использование
|
||||
|
||||
| Вид ограничения | Значение |
|
||||
| ------------------- | ------------- |
|
||||
| Количество хранилищ | Неограниченно |
|
||||
| Количество виртуальных машин | 999 |
|
||||
| Объем хранилища | 1 ПБ |
|
||||
|
||||
Если вы заключили договор с Beeline Cloud, то объем хранилища и количество ВМ можно увеличить. Для этого обратитесь в [техническую поддержку](../platform/support/support-overview.md).
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор сервиса
|
||||
link: /backups/about.md
|
||||
description: Обзор сервиса, квоты и лимиты
|
||||
- title: Резервное копирование виртуальных машин Beeline Cloud
|
||||
link: /backups/backup-internal-infra.md
|
||||
description: Резервное копирование инфраструктуры, расположенной в контуре Beeline Cloud
|
||||
- title: Резервное копирование собственной инфраструктуры в Beeline Cloud
|
||||
link: /backups/backup-external-infra.md
|
||||
description: Резервное копирование вашей инфраструктуры в облако Beeline Cloud
|
||||
- title: Каталог резервных копий
|
||||
link: /backups/view-backups.md
|
||||
description: Просмотр ресурсов, к которым подключено резервное копирование
|
||||
---
|
||||
|
||||
# Резервное копирование
|
||||
@@ -0,0 +1,30 @@
|
||||
# Каталог резервных копий
|
||||
|
||||
## Посмотреть каталог резервных копий
|
||||
|
||||
Чтобы посмотреть, к каким ресурсам у подключено резервное копирование:
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Резервное копирование**.
|
||||
4. Откроется каталог резервных копий.
|
||||
|
||||
## Посмотреть детали подключенного резервного копирования
|
||||
|
||||
1. Выберите из каталога резервную копию.
|
||||
2. Откроется карточка услуги резервного копирования. В карточке отображаются:
|
||||
|
||||
- Цена услуги,
|
||||
- Подключенная инфраструктура,
|
||||
- Тип управления,
|
||||
- ПО, используемое для резервного копирования,
|
||||
- Тенант,
|
||||
- Объем хранилища.
|
||||
|
||||
:::tip Информация
|
||||
|
||||
В карточке услуги отображаются только параметры, выбранные при первичном подключении резервного копирования.
|
||||
|
||||
Если изменить параметры резервного копирования в ПО Киберпротект, Veeam Cloud Connect или Veeam Agent, данные в консоли Beeline Cloud не обновятся. Но стоимость услуг формируется согласно объему использованных ресурсов в ПО Киберпротект, Veeam Cloud Connect или Veeam Agent.
|
||||
|
||||
:::
|
||||
@@ -0,0 +1,21 @@
|
||||
# Биллинг
|
||||
|
||||
Биллинг предназначен для управления финансовыми операциями в Beeline Cloud. В биллинге вы можете:
|
||||
|
||||
- контролировать счета;
|
||||
- отслеживать платежи;
|
||||
- анализировать потребление ресурсов.
|
||||
|
||||
## Разделы биллинга
|
||||
|
||||
### Счета
|
||||
|
||||
В этом разделе отображаются все выставленные счета, их статусы и суммы. Вы можете посмотреть детали каждого счета и скачать документы для бухгалтерии.
|
||||
|
||||
### Финансовый мониторинг
|
||||
|
||||
В этом разделе вы можете отслеживать движение средств, контролировать платежи и задолженности.
|
||||
|
||||
### Аналитика потребления
|
||||
|
||||
В этом разделе вы можете создавать отчеты и строить графики, чтобы отследить использование ресурсов за выбранный период.
|
||||
@@ -1 +0,0 @@
|
||||
# Биллинг
|
||||
@@ -0,0 +1,17 @@
|
||||
# Аналитика потребления
|
||||
|
||||
В этом разделе вы можете отследить использование ресурсов в проектах. Это может помочь вам контролировать расходы на сервисы.
|
||||
|
||||
Вы можете:
|
||||
|
||||
- Узнать какие проекты потребляют больше всего ресурсов.
|
||||
- Сравнить использование за разные периоды.
|
||||
|
||||
## Как пользоваться
|
||||
|
||||
1. В поле **Проект** выберите один или `все проекты`.
|
||||
2. В поле **Сервис** укажите нужный сервис, например, **Виртуальные дата-центры на VMware**.
|
||||
3. В поле Ресурсы выберите «Все ресурсы» или конкретный тип.
|
||||
4. Установите период с помощью календаря.
|
||||
|
||||
После этого появится отчет. Если данных нет, попробуйте изменить период, выбрать другой проект или ресурс.
|
||||
@@ -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://console.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-адресу:
|
||||
где:
|
||||
|
||||
```
|
||||
$ ssh -l ivanov -i /home/user/.ssh/id_rsa 10.0.0.1
|
||||
- `логин`: имя пользователя для входа на ВМ, указанное при создании ВМ;
|
||||
- `внешний_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
|
||||
```
|
||||
|
||||
## Далее
|
||||
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#подключение-вм-закрытого-контура-к-интернету).
|
||||
|
||||
::::
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
## Создать группу размещения
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
В группе размещения можно изменить название группы и редактировать теги.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
## Удалить группу размещения
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
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-адресу через джамп-хост
|
||||
- title: Подключение по SSH по логину и паролю
|
||||
link: /compute/compute-how-to/compute-connect-inside.md
|
||||
description: Подключиться к виртуальной машине по SSH с помощью логина и пароля
|
||||
---
|
||||
|
||||
# Подключение к ВМ
|
||||
@@ -0,0 +1,70 @@
|
||||
# Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары
|
||||
|
||||
Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу из интернета, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](compute-ip.md#внешние-ip-адреса).
|
||||
|
||||
## Перед началом работы
|
||||
|
||||
Перед подключением проверьте выполнение условий и наличие данных:
|
||||
|
||||
- Статус виртуальной машины — `Включена`.
|
||||
- [Создана промежуточная ВМ](compute-servers-jump-create.md), через которую будет выполняться подключение к ВМ.
|
||||
- Виртуальной машине [назначен](../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. Конфигурация 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
|
||||
```
|
||||
|
||||
## 2. Подключиться к ВМ по внутреннему 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>
|
||||
```
|
||||
::::
|
||||
@@ -0,0 +1,44 @@
|
||||
|
||||
# Подключение по SSH по логину и паролю
|
||||
|
||||
Подключиться к ВМ можно по протоколу SSH с помощью логина и пароля.
|
||||
|
||||
## Перед началом работы
|
||||
|
||||
Перед подключением проверьте выполнение условий:
|
||||
|
||||
- Статус виртуальной машины — `Включена`.
|
||||
|
||||
## 1. Подготовить учетные данные
|
||||
|
||||
Для подключения узнайте логин и пароль пользователя:
|
||||
|
||||
| Учетные данные | Значение |
|
||||
|---|---|
|
||||
| Логин | Логин задается при [создании](compute-servers-create.md#создать-виртуальную-машину) виртуальной машины. Логин пользователя [указан](compute-servers-manage.md#посмотреть-свойства-вм) в свойствах ВМ в поле **Логин** |
|
||||
| Пароль | Пароль задается при [создании](compute-servers-create.md#создать-виртуальную-машину) виртуальной машины. Если вы забыли пароль, то восстановить его не получится |
|
||||
|
||||
## 2. Подключиться к ВМ
|
||||
|
||||
:::: tabs
|
||||
|
||||
= по внешнему IP-адресу
|
||||
|
||||
Если ВМ создана в зоне `DMZ` и ей присвоен [внешний IP-адрес](compute-ip.md#внешние-ip-адреса), то для подключения к ВМ выполните:
|
||||
|
||||
1. Откройте терминал.
|
||||
2. Выполните команду в терминале:
|
||||
```
|
||||
ssh <логин>@<внешний_IP>
|
||||
```
|
||||
3. Подтвердите подключение.
|
||||
4. Введите пароль и подтвердите подключение.
|
||||
|
||||
= по внутреннему 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).
|
||||
|
||||
::::
|
||||
@@ -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. Подтвердите подключение.
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
## Посмотреть список дисков
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
|
||||
## Посмотреть информацию о диске
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
Создать диск дополнительный (не загрузочный):
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
@@ -52,7 +52,7 @@
|
||||
Изменение размера дискового пространства возможно только в большую сторону.
|
||||
:::
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
@@ -68,10 +68,10 @@
|
||||
При подключении диск и ВМ должны быть созданы в одной зоне доступности.
|
||||
|
||||
::: warning Важно
|
||||
К ВМ можно подключить максимально 28 дисков, включая системный.
|
||||
К ВМ можно подключить максимально 28 дисков, включая загрузочный.
|
||||
:::
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
Отключить от ВМ можно только дополнительный диск. Отключение загрузочного диска невозможно.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -104,7 +104,7 @@
|
||||
Удаление диска необратимо. Все данные будут удалены без возможности восстановления.
|
||||
:::
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
|
||||
@@ -2,15 +2,16 @@
|
||||
section_links:
|
||||
- title: Создание ВМ
|
||||
link: /compute/compute-how-to/compute-servers-create.md
|
||||
description: Создание виртуальной машины
|
||||
description: Создать виртуальную машину
|
||||
- title: Создание ВМ джамп-хоста
|
||||
link: /compute/compute-how-to/compute-servers-jump-create.md
|
||||
description: Создать виртуальную машину с внешним IP-адресом с доступом из интернета и выходом в интернет
|
||||
- title: Подключение к ВМ
|
||||
link: /compute/compute-how-to/compute-connect.md
|
||||
description: Подключиться к созданной виртуальной машине
|
||||
link: /compute/compute-how-to/compute-connect-index.md
|
||||
description: Подключиться к созданной виртуальной машине по SSH
|
||||
- title: Управление ВМ
|
||||
link: /compute/compute-how-to/compute-servers-manage.md
|
||||
description: Управление состоянием виртуальной машины, удаление виртуальной машины
|
||||
---
|
||||
|
||||
# Виртуальные машины
|
||||
|
||||
Создание виртуальных машин с операционной системой семейства Linux и подключение к ней. Управление состоянием ВМ.
|
||||
@@ -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-адресов
|
||||
|
||||
@@ -32,7 +28,7 @@ IP-адрес — это вычислительный ресурс облака.
|
||||
|
||||
## Посмотреть список IP-адресов
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
@@ -42,7 +38,7 @@ IP-адрес — это вычислительный ресурс облака.
|
||||
|
||||
Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
@@ -53,13 +49,38 @@ IP-адрес — это вычислительный ресурс облака.
|
||||
- добавьте тег адресу при необходимости.
|
||||
7. Нажмите **Создать**.
|
||||
|
||||
На странице **Облачные вычисления → IP-адреса** появится новый IP-адрес со статусом `Зарезервирован`.
|
||||
На странице **Виртуальные машины → IP-адреса** появится новый IP-адрес со статусом `Зарезервирован`.
|
||||
|
||||
## Посмотреть внешний IP-адрес
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.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/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
@@ -70,9 +91,9 @@ IP-адрес — это вычислительный ресурс облака.
|
||||
|
||||
## Присвоить имя IP-адресу
|
||||
|
||||
Имя IP-адреса отображается только на странице **Облачные вычисления → IP-адреса**. На странице ВМ отображается значение IP-адреса.
|
||||
Имя IP-адреса отображается только на странице **Виртуальные машины → IP-адреса**. На параметрах виртуальной машины отображается значение IP-адреса.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
@@ -83,11 +104,15 @@ IP-адрес — это вычислительный ресурс облака.
|
||||
|
||||
## Удалить IP-адрес
|
||||
|
||||
:::warning Важно
|
||||
Не удаляйте внешний IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
|
||||
:::
|
||||
|
||||
Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ.
|
||||
|
||||
Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную:
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **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-servers-jump-create.md);
|
||||
- одна виртуальная машина с ОС VyOS версии 1.4.0, созданная в **customer site** с доступом в интернет с постоянным публичным IP-адресом `client real ip`.
|
||||
- если в сети **customer site** используется ISO-образ VyOS, то установите OC VyOS на виртуальную машину согласно официальной документации.
|
||||
|
||||

|
||||
|
||||
## 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`
|
||||
|
After Width: | Height: | Size: 46 KiB |
@@ -1,45 +1,49 @@
|
||||
# Создание виртуальные машины
|
||||
# Создание виртуальной машины
|
||||
|
||||
## Создать виртуальную машину
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
5. Нажмите **Создать виртуальную машину**.
|
||||
6. В блоке **Имя и расположение** укажите имя и расположение ВМ:
|
||||
- **Имя машины**: введите название ВМ:
|
||||
- допустимая длина 63 символа с учетом зоны DNS проекта;
|
||||
- **Имя машины**: введите название ВМ по правилам:
|
||||
- длина от 3 до 63 символов;
|
||||
- используйте только строчные латинские буквы, цифры и дефис;
|
||||
- не используйте дефис в начале или в конце имени.
|
||||
- **Зона доступности**: выберите подходящую [зону доступности](../compute-overview.md#зоны-доступности).
|
||||
- Укажите количество создаваемых ВМ.
|
||||
7. В блоке **Выбор образа** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
|
||||
8. В блоке **Конфигурация** выберите количество ОЗУ и ЦПУ. Наборы ресурсов заранее скомпонованы по оптимальным параметрам.
|
||||
7. В блоке **Образ загрузочного диска** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
|
||||
8. В блоке **Конфигурация** выберите количество vCPU и RAM. Наборы ресурсов заранее скомпонованы по оптимальным параметрам.
|
||||
::: tip Информация
|
||||
При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество ОЗУ.
|
||||
При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество RAM.
|
||||
:::
|
||||
9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски:
|
||||
- **Загрузочный диск**: выберите тип хранения и укажите размер загрузочного диска.
|
||||
- Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавьте диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже.
|
||||
::: warning Важно
|
||||
К ВМ можно подключить не более 28 дисков, включая загрузочный.
|
||||
:::
|
||||
10. Выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
|
||||
11. В блоке **Настройки сети** выберите:
|
||||
- **IPv4-адрес**: выберите способ получения внутреннего IP-адреса для ВМ:
|
||||
- выберите **Автоматически**, чтобы получить IP-адрес автоматически;
|
||||
- выберите адрес из списка. В списке адресов отображаются [созданные вручную IP-адреса](compute-ip.md#создать-ip-адрес) и [сохраненные IP-адреса](compute-ip.md#сохранить-ip-адрес-в-проекте), которые доступны для переиспользования.
|
||||
9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски:
|
||||
- **Загрузочный диск**: выберите [тип диска](../compute-overview.md#диски) и укажите размер загрузочного диска.
|
||||
- Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавить диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже.
|
||||
10. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
|
||||
- **Логин**: введите логин пользователя по правилам:
|
||||
- длина от 1 до 32 символов;
|
||||
- используйте только строчные латинские буквы, цифры и символы: дефис, подчеркивание и точку;
|
||||
- не используйте дефис и точку в начале;
|
||||
- не используйте дефис в конце имени.
|
||||
- выберите один из способов подключения к ВМ:
|
||||
- **SSH-ключ**: выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
|
||||
- **Пароль**: придумайте пароль для подключения к ВМ.
|
||||
::: warning Важно
|
||||
Вашей организации предоставлен один [публичный IP-адрес](compute-ip.md#типы-адресов). Назначьте публичный IP-адрес ВМ, создаваемой в DMZ-зоне, и получите доступ из интернета к виртуальным машинам.
|
||||
Обязательно сохранить пароль. В дальнейшем сменить и восстановить пароль невозможно.
|
||||
:::
|
||||
11. В блоке **Настройка сети** выберите:
|
||||
- **IPv4-адрес**: выберите способ получения IP-адреса для ВМ:
|
||||
- выберите **Внутренний (назначится автоматически)**, чтобы получить IP-адрес автоматически, автоматически назначаются [внутренние IP-адреса](compute-ip.md#внутренние-ip-адреса);
|
||||
- выберите адрес из списка. В списке адресов отображается [зарезервированные IP-адреса](compute-ip.md#статусы-ip-адресов).
|
||||
12. В блоке **Размещения** выберите:
|
||||
- **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](compute-affinity.md) создайте заранее.
|
||||
13. Установите флажок **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
|
||||
13. Включите опцию **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
|
||||
14. Нажмите **Создать виртуальную машину**.
|
||||
|
||||
ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](compute-ip.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`.
|
||||
|
||||
Виртуальная машина будет создана с `root`-правами.
|
||||
|
||||
## Добавить диск
|
||||
|
||||
Добавление дополнительного диска к ВМ состоит из двух шагов:
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# Создание ВМ джамп-хоста
|
||||
|
||||
Промежуточная ВМ (джамп-хост) — это виртуальная машина с внешним IP-адресом, созданная в специальной приграничной зоне доступности `DMZ` и имеющая доступ к внутренней сети. Джамп-хост является шлюзом между интернетом и внутренней сетью. Через джамп-хост можно подключиться к ВМ по SSH по внутреннему IP-адресу.
|
||||
|
||||
## 1. Посмотреть внешний IP-адрес и его статус
|
||||
|
||||
Для создания промежуточной ВМ с доступом в/из интернета понадобится внешний IP-адрес.
|
||||
|
||||
Перед созданием промежуточной ВМ посмотрите статус и значение внешнего IP-адреса:
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. В списке найдите IP-адрес, который сопоставлен с IP-адресом `10.0.0.10`.
|
||||
6. Значение внешнего IP-адреса указано в поле **Имя**.
|
||||
7. Убедитесь, что IP-адрес, который сопоставлен с IP-адресом `10.0.0.10`, находится в статусе `Зарезервирован`.
|
||||
|
||||
Внешний IP-адрес может быть занят другой виртуальной машиной. Если вы не планируете использовать эту ВМ в качестве джамп-хоста, то [отвяжите внешний IP-адрес](./compute-ip.md#назначить-вм-внешний-ip-адрес) от этой ВМ и [создайте новую промежуточную ВМ с FIP](#2-создать-промежуточную-вм).
|
||||
|
||||
## 2. Создать промежуточную ВМ
|
||||
|
||||
Чтобы ВМ была доступна из интернета и имела выход в интернет, ВМ создается:
|
||||
|
||||
- в [зоне доступности](./../compute-overview.md#зоны-доступности) `DMZ`;
|
||||
- с внешним IP-адресом, который сопоставлен с внутренним IP-адресом `10.0.0.10`;
|
||||
- с образом операционной системы:
|
||||
- Linux для реализации базовой сетевой функциональности;
|
||||
- VyOS для реализации расширенной сетевой функциональности.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.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. Нажмите **Создать виртуальную машину**.
|
||||
@@ -2,22 +2,24 @@
|
||||
|
||||
## Посмотреть список ВМ
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
|
||||
## Посмотреть свойства ВМ
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
5. Нажмите на имя ВМ.
|
||||
6. На вкладке **Общая информация** показана информация о ВМ:
|
||||
- **Логин**: логин пользователя для подключения к ВМ.
|
||||
- **Зона доступности**: [зона доступности](./../compute-overview.md#зоны-доступности) ВМ.
|
||||
- **Идентификатор**: уникальный идентификатор ВМ.
|
||||
- **Внутренний FQDN**: полное доменное имя ВМ.
|
||||
- **IPv4 адрес**:внутренний IP-адрес, присвоенный ВМ.
|
||||
- **Внутренний IP-адрес**:внутренний IP-адрес, присвоенный ВМ.
|
||||
- **Образ**: операционная система, установленная на ВМ.
|
||||
- **Конфигурация**: конфигурация ЦПУ и ОЗУ.
|
||||
- **Группа размещения**: группа размещения ВМ.
|
||||
@@ -30,7 +32,7 @@
|
||||
|
||||
У ВМ можно изменить конфигурацию ЦПУ и ОЗУ: увеличить или уменьшить количество вычислительных ресурсов. Выбор конфигурации предоставляется из линейки доступных тарифов.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -46,7 +48,7 @@
|
||||
|
||||
Выключение ВМ не предполагает освобождение вычислительных ресурсов, зарезервированных за этим ВМ.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -65,7 +67,7 @@
|
||||
|
||||
## Включить ВМ
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -84,7 +86,7 @@
|
||||
|
||||
Перезагрузка ВМ предполагает корректное завершение работы операционный системы без отключения питания.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -105,7 +107,7 @@
|
||||
|
||||
Принудительная перезагрузка ВМ предполагает аппаратное выключение и включение. Несохраненные данные могут быть потеряны.
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
@@ -142,7 +144,7 @@ IP-адрес будет удален вместе с ВМ. Чтобы оста
|
||||
Удаление ВМ необратимо. Все данные будут удалены без возможности восстановления.
|
||||
:::
|
||||
|
||||
1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Виртуальные машины**.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Техническое описание
|
||||
link: /compute/compute-overview.md
|
||||
description: Информация о зонах доступности, физических платформах сервиса
|
||||
- title: Квоты и лимиты
|
||||
link: /compute/compute-quatos.md
|
||||
description: Ограничения на количество ресурсов в сервисе
|
||||
---
|
||||
|
||||
# Обзор сервиса
|
||||
@@ -1,6 +1,4 @@
|
||||
# Обзор сервиса
|
||||
|
||||
Виртуальные машины — сервис для создания и управления виртуальными машинами.
|
||||
# Техническое описание
|
||||
|
||||
## Виртуальная машина
|
||||
|
||||
@@ -10,24 +8,67 @@
|
||||
- количество CPU;
|
||||
- объем RAM;
|
||||
- тип и размер диска;
|
||||
- регион доступности.
|
||||
- зона доступности.
|
||||
|
||||
## Зоны доступности
|
||||
|
||||
Виртуальную машину можно создать в одной из зон доступности:
|
||||
Зона доступности — это один или несколько центров обработки данных (ЦОД), в которых могут быть размещены компоненты облачной инфраструктуры.
|
||||
|
||||
- `Inside` — внутренняя зона не подразумевает доступ из интернета к виртуальным машинам.
|
||||
- `DMZ` — демилитаризованная зона подразумевает доступ из интернета к виртуальным машинам.
|
||||
| Зона доступности |Дата-центр | Сетевой периметр |
|
||||
|---|---|---|
|
||||
|`msk-dc-1`|[Останкино](https://dc.ostankino.ru/)|`Inside`, `DMZ`|
|
||||
<!--|`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`.
|
||||
|
||||
## Операционная система
|
||||
|
||||
Для виртуальных машин подготовлены образы операционных систем Linux.
|
||||
|
||||
В операционных системах доступен `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 ГБ |
|
||||
|
||||
## Группы виртуальных машин
|
||||
|
||||
Группу виртуальных машин внутри одной зоны доступности можно объединить в соответствии с определенной политикой размещения. Доступны политики:
|
||||
|
||||
@@ -38,56 +79,3 @@
|
||||
- Правило `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 |-->
|
||||
@@ -0,0 +1,37 @@
|
||||
# Квоты и лимиты
|
||||
|
||||
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
|
||||
|
||||
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
|
||||
|
||||
## Квоты
|
||||
|
||||
| Вид ограничения | Значение |
|
||||
|---|---|
|
||||
|Количество публичных 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 |
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор сервиса
|
||||
link: /compute/compute-overview.md
|
||||
link: /compute/compute-overview-index.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
|
||||
|
||||
@@ -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.
|
||||
@@ -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: ''
|
||||
@@ -81,20 +80,19 @@ services:
|
||||
- title: Выделенные сетевые соединения
|
||||
description: В работе
|
||||
icon: network
|
||||
link: /interconnect/index
|
||||
- title: CDN. Доставка контента
|
||||
description: В работе
|
||||
icon: network
|
||||
- title: SD-WAN. Распределенные сети
|
||||
description: В работе
|
||||
icon: network
|
||||
- title: Резервное копирование и восстановление
|
||||
- title: Резервное копирование
|
||||
articles:
|
||||
- title: Резервное копирование
|
||||
description: В работе
|
||||
icon: refresh
|
||||
- title: Аварийное восстановление данных
|
||||
description: В работе
|
||||
description: Создание, хранение и восстановление копии виртуальных машин
|
||||
icon: refresh
|
||||
link: /backups/index
|
||||
- title: Базы данных
|
||||
articles:
|
||||
- title: ClickHouse
|
||||
@@ -139,6 +137,7 @@ services:
|
||||
- title: Виртуальные рабочие столы (VDI)
|
||||
description: В работе
|
||||
icon: magic
|
||||
link: /vdi/index
|
||||
- title: Платформа офисного пространства
|
||||
description: В работе
|
||||
icon: magic
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# Заказ сервиса
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные рабочие столы**.
|
||||
4. В левом меню откройте раздел **Виртуальные дата-центры** и нажмите **Подключить**.
|
||||
5. Выберите из списка скорость интернета.
|
||||
6. В блоке **Настройка рабочих мест** укажите конфигурацию для первого пула виртуальных рабочих мест:
|
||||
- **Рабочие места**: выберите конфигурацию рабочего места.
|
||||
- **Тип диска**: выберите тип диска.
|
||||
- **Кол-во раб. мест**: укажите количество рабочих мест в пуле.
|
||||
- **Объем памяти**: задайте размер диска для одного рабочего места.
|
||||
- **Операционная система**: выберите из списка операционную систему, которая будет установлена на рабочих местах.
|
||||
7. Если требуется еще один пул виртуальных рабочих мест нажмите **Добавить конфигурацию**.
|
||||
8. Включите опцию `Интеграция Active Directory` для [интеграции с вашей доменной Active Directory](./vdi-connect-to-ad.md).
|
||||
9. Нажмите **Подключить**.
|
||||
|
||||
Заказ на создание виртуальных рабочих столов будет отправлен специалистам Beeline Cloud. После выполнения заказа будут направлены логин и паролю для подключения к ВРМ на адрес электронной почты, указанный при регистрации в Beeline Cloud.
|
||||
|
||||
При заказе выполняется установка операционной системы на виртуальные рабочие столы. Необходимое программное обеспечение устанавливается и настраивается самостоятельно.
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор сервиса
|
||||
link: /interconnect/interconnect-overview.md
|
||||
description: Назначение сервиса, решаемые задачи, характеристики оборудования, ограничения в сервисе
|
||||
- title: Заказ сервиса
|
||||
link: /interconnect/how-to/interconnect-create.md
|
||||
description: Создание заявки в личном кабинете Beeline Сloud на заказ выделенного сетевого соединения
|
||||
---
|
||||
|
||||
# Выделенные сетевые соединения
|
||||
@@ -0,0 +1,23 @@
|
||||
# О сервисе
|
||||
|
||||
Сервис **Виртуальные рабочие столы** — это облачный сервис, предоставляющий доступ к виртуальному рабочему месту, развернутому на ресурсах Beeline Cloud. Сервис предоставляет безопасные виртуальные рабочие места на базе VMware Horizon.
|
||||
|
||||
Виртуальное рабочее место — это удаленный рабочий стол с установленной операционной системой и программным обеспечением, необходимым для работы конечного пользователя. Подключаться к ВРМ можно через браузер или с помощью приложения Horizon.
|
||||
|
||||
Пул виртуальных рабочих мест — это набор виртуальных рабочих мест одинаковой конфигурации.
|
||||
|
||||
## Возможности сервиса
|
||||
|
||||
- Предоставление в пользование ВРМ без графического ускорителя.
|
||||
- Предоставление гостевой ОС.
|
||||
- Двухфакторная аутентификация (2FA) при подключении к удаленному рабочему столу.
|
||||
- Развертывание виртуальных рабочих мест путем клонирования подготовленной виртуальной машины — «Gold-образа».
|
||||
- Интеграция с Active Directory.
|
||||
|
||||
## Сценарии использования сервиса
|
||||
|
||||
Способ организации доступа к ВРМ:
|
||||
|
||||
- **Подключение к ВРМ через интернет с выделенной полосой пропускания**:
|
||||
- предоставляется выделенный канал доступа в интернет требуемой полосы пропускания;
|
||||
- разворачиваются выделенные служебные виртуальные машины с функцией пограничного шлюза и Reverse Proxy (ВМ UAG) без дополнительной тарификации.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
section_links:
|
||||
- title: О сервисе
|
||||
link: /interconnect/interconnect-about.md
|
||||
description: Назначение, сценарии использования сервиса
|
||||
- title: Техническое описание
|
||||
link: /interconnect/interconnect-tech.md
|
||||
description:
|
||||
- title: Квоты и лимиты
|
||||
link: /interconnect/interconnect-quatos.md
|
||||
description: Ограничения на количество ресурсов в сервисе
|
||||
- title: Тарификация
|
||||
link: /interconnect/interconnect-tarif.md
|
||||
description: Правила тарификации сервиса
|
||||
---
|
||||
|
||||
# Обзор сервиса
|
||||
@@ -0,0 +1,19 @@
|
||||
# Квоты и лимиты
|
||||
|
||||
**Квоты** — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
|
||||
|
||||
**Лимиты** — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
|
||||
|
||||
## Квоты
|
||||
|
||||
### Бесплатный период
|
||||
|
||||
В [бесплатном периоде](../start/trial.md#бесплатный-период) использования Beeline Cloud установлены квоты на ресурсы сервиса:
|
||||
|
||||
| Вид ограничения | Значение |
|
||||
|---|---|
|
||||
| Количество виртуальных рабочих мест | 10 шт. |
|
||||
| Количество виртуальных рабочих мест | 10 шт. |
|
||||
| Количество пулов виртуальных рабочих мест | 6 шт.|
|
||||
| Минимальный объем дискового пространства для одного виртуального рабочего места, включая объем дискового пространства необходимый для установки ОС | 100 ГБ |
|
||||
| Доступные операционные системы | Windows |
|
||||
@@ -0,0 +1,14 @@
|
||||
# Тарификация
|
||||
|
||||
Тарификация производится по правилу «fixed pricing»: фиксированный ежемесячный платеж за количество заказанных виртуальных рабочих мест.
|
||||
|
||||
Тарифицируется:
|
||||
|
||||
- количество виртуальных рабочих мест выбранных конфигураций vCPU и RAM;
|
||||
- лицензии для виртуальных рабочих мест;
|
||||
- тип и объем дискового пространства;
|
||||
- скорость интернета.
|
||||
|
||||
Сервис оплачивается на основании счета, выставляемого ежемесячно. Оплата счетов, детализация расходов доступна в разделе **Биллинг** в личном кабинете Beeline Cloud. Дополнительные услуги оплачиваются отдельно.
|
||||
|
||||
Посмотреть расчет стоимости сервиса после завершения периода бесплатного тестирования можно во время [заказа виртуальных рабочих столов](./vdi-how-to/vdi-create.md#заказ-виртуальных-рабочих-столов) в личном кабинете Beeline Cloud.
|
||||
@@ -0,0 +1,39 @@
|
||||
# Техническое описание
|
||||
|
||||
## Операционные системы
|
||||
|
||||
Сервис предоставляет виртуальные рабочие места с операционной системой Windows.
|
||||
|
||||
## Поддерживаемые браузеры
|
||||
|
||||
- Chrome 123/124/125/126,
|
||||
- Safari 15/16/17,
|
||||
- Firefox 125/126/127/128,
|
||||
- Microsoft Edge (Supported only on Windows clients) 123/124/125/126.
|
||||
|
||||
## Конфигурации виртуальных рабочих мест
|
||||
|
||||
| Конфигурация | vCPU, RAM |
|
||||
|---|---|
|
||||
|Small |2 vCPU; 4 ГБ RAM |
|
||||
|Small, Hight Memory |2 vCPU; 8 ГБ RAM |
|
||||
|Medium |4 vCPU; 8 ГБ Ram |
|
||||
|Medium, Hight Memory |4 vCPU; 16 ГБ RAM |
|
||||
|Large |8 vCPU; 16 ГБ RAM |
|
||||
|Extra Large |16 vCPU; 24 ГБ RAM |
|
||||
|
||||
## Типы дисков
|
||||
|
||||
Доступны типы дисков для пула виртуальных рабочих мест:
|
||||
|
||||
- SSD,
|
||||
- SSD Fast,
|
||||
- SSD Ultra.
|
||||
|
||||
## Физические платформы
|
||||
|
||||
Сервис предоставляет платформу без GPU. Выбор платформы гарантирует тип физического процессора в дата-центре и определяет набор допустимых конфигураций CPU и RAM.
|
||||
|
||||
| Платформа | Процессор |Частота, ГГц | Кол-во физических CPU на сервере | RAM, ГБ | Зона доступности |Характеристики на 1 ВМ|
|
||||
|---|---|---|---|---|---|---|
|
||||
| Cascade Lake | Intel Xeon Gold 6248R | 3 | 2x24 |1536|msk-dc-1|**Кол-во vCPU:** до 24<br> **Объем RAM:** до 256 ГБ|
|
||||
@@ -0,0 +1,20 @@
|
||||
# Мониторинг
|
||||
|
||||
Мониторинг позволяет отслеживать использование ресурсов в Beeline Cloud. С помощью мониторинга можно своевременно выявлять превышение лимитов, оптимизировать распределение ресурсов и предотвращать возможные проблемы в работе инфраструктуры.
|
||||
|
||||
::: info Примечание
|
||||
Новые виртуальные машины появляются в мониторинге через 30 минут после создания.
|
||||
:::
|
||||
|
||||
## Обзор
|
||||
|
||||
В этом разделе вы можете контролировать следующие метрики:
|
||||
|
||||
- Включенные CPU в VDC, `шт.`.
|
||||
- Включенная оперативная память, `ГБ`.
|
||||
- CPU Ready, `%`.
|
||||
- Использование CPU, `%`.
|
||||
- Использование оперативной памяти, `%`.
|
||||
- RAM Swap + Balloon, `%`.
|
||||
|
||||
Выбрать интервал времени, за который будут показаны данные, можно в поле **Период**. Вы также можете включить автоматическое обновление графиков с заданной периодичностью в поле **Автообновление**.
|
||||
@@ -0,0 +1,27 @@
|
||||
# Обзор
|
||||
|
||||
## Сервисы
|
||||
|
||||
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
|
||||
|
||||
Список сервисов можно посмотреть в разделе **Сервисы** в личном кабинете.
|
||||
|
||||
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
|
||||
|
||||
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](../start/getting-started.md#1-регистрация-в-beeline-cloud).
|
||||
|
||||
## Центры обработки данных
|
||||
|
||||
Инфраструктура Beeline Cloud размещена в надежных дата-центрах уровней Tier II и 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|
|
||||
|Новосибирск|РТК-ЦОД|РФ, г. Новосибирск, ул. Менделеева, д. 1|III|
|
||||
|
||||
- **ЯТЦ** — Ярославский технический центр.
|
||||
@@ -1 +0,0 @@
|
||||
# Архитектура
|
||||
@@ -1 +0,0 @@
|
||||
# Терминология
|
||||
@@ -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 +0,0 @@
|
||||
# Соглашение об уровне обслуживания
|
||||
@@ -1,9 +0,0 @@
|
||||
# Сервисы
|
||||
|
||||
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
|
||||
|
||||
Список сервисов можно посмотреть в разделе «Сервисы» в личном кабинете.
|
||||
|
||||
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
|
||||
|
||||
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud).
|
||||
@@ -1,17 +1,13 @@
|
||||
# Техническая поддержка
|
||||
|
||||
Вы всегда можете обратиться в нашу техническую поддержку по вопросам сопровождения сервисов Beeline Cloud.
|
||||
|
||||
:::warning Важно
|
||||
Обратиться в техническую поддержку могут пользователи, [зарегистрированные в Beeline Cloud](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud).
|
||||
:::
|
||||
По вопросам сопровождения сервисов Beeline Cloud обращайтесь в техническую поддержку.
|
||||
|
||||
## Способы обращения
|
||||
|
||||
| Способ связи | Описание | Время работы |
|
||||
|--------|----------|---------------------|
|
||||
|Портал технической поддержки| /скоро появится | круглосуточно |
|
||||
|Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно|
|
||||
| Способ связи | Канал обращения | Время работы | Описание |
|
||||
|----------|----------|---------------------|----------|
|
||||
|Центр поддержки| [lk.cloud.beeline.ru/support-center](https://lk.cloud.beeline.ru/support-center) | круглосуточно | Для подачи обращений через центр поддержки [зарегистрируйтесь в Beeline Cloud](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud) |
|
||||
|Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно| |
|
||||
|
||||
## Сроки обработки запросов
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.164 1.280 C 8.407 1.511,5.917 2.733,4.056 4.768 C 0.808 8.319,0.331 13.626,2.894 17.705 C 4.604 20.429,7.414 22.228,10.640 22.665 C 11.247 22.747,12.633 22.758,13.220 22.685 C 15.814 22.362,18.039 21.238,19.844 19.338 C 22.249 16.807,23.262 13.117,22.495 9.684 C 21.506 5.258,17.875 1.930,13.391 1.342 C 12.804 1.265,11.708 1.235,11.164 1.280 M12.992 2.802 C 14.034 2.915,15.102 3.227,16.060 3.699 C 18.938 5.114,20.862 7.872,21.202 11.070 C 21.262 11.631,21.231 12.869,21.143 13.417 C 20.834 15.352,19.950 17.095,18.569 18.494 C 17.813 19.259,17.035 19.820,16.060 20.300 C 12.202 22.200,7.549 21.173,4.821 17.820 C 3.712 16.458,2.991 14.732,2.802 12.992 C 2.748 12.493,2.748 11.507,2.802 11.008 C 2.988 9.301,3.702 7.571,4.779 6.220 C 5.100 5.818,5.759 5.161,6.200 4.805 C 7.555 3.710,9.254 2.996,10.960 2.804 C 11.400 2.755,12.544 2.754,12.992 2.802 M11.740 5.300 C 11.540 5.371,11.339 5.585,11.283 5.786 C 11.223 6.004,11.224 12.001,11.285 12.219 C 11.341 12.423,11.577 12.659,11.781 12.715 C 12.004 12.777,17.996 12.777,18.219 12.715 C 18.432 12.656,18.660 12.422,18.719 12.202 C 18.827 11.802,18.599 11.390,18.209 11.282 C 18.113 11.255,17.109 11.240,15.410 11.240 L 12.760 11.240 12.760 8.590 C 12.760 6.780,12.746 5.890,12.715 5.781 C 12.635 5.493,12.285 5.236,11.980 5.242 C 11.936 5.243,11.828 5.269,11.740 5.300 " stroke="none" fill-rule="evenodd" fill="black"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.277 3.294 C 3.867 3.406,3.553 3.676,3.364 4.078 L 3.260 4.300 3.260 9.500 L 3.260 14.700 3.365 14.925 C 3.514 15.241,3.725 15.458,4.033 15.610 L 4.298 15.740 6.267 15.752 L 8.236 15.764 8.248 17.732 L 8.260 19.700 8.365 19.925 C 8.514 20.241,8.725 20.458,9.033 20.610 L 9.298 20.740 14.500 20.740 L 19.702 20.740 19.967 20.610 C 20.275 20.458,20.486 20.241,20.635 19.925 L 20.740 19.700 20.740 14.500 L 20.740 9.300 20.634 9.073 C 20.484 8.754,20.247 8.513,19.950 8.375 L 19.700 8.260 17.732 8.248 L 15.764 8.236 15.752 6.268 L 15.740 4.300 15.634 4.073 C 15.484 3.754,15.247 3.513,14.950 3.375 L 14.700 3.260 9.580 3.252 C 5.607 3.246,4.419 3.256,4.277 3.294 M14.240 6.499 L 14.240 8.237 11.770 8.249 L 9.300 8.260 9.075 8.365 C 8.759 8.514,8.542 8.725,8.390 9.033 L 8.260 9.298 8.249 11.769 L 8.237 14.240 6.499 14.240 L 4.760 14.240 4.760 9.500 L 4.760 4.760 9.500 4.760 L 14.240 4.760 14.240 6.499 M19.240 14.500 L 19.240 19.240 14.500 19.240 L 9.760 19.240 9.760 14.500 L 9.760 9.760 14.500 9.760 L 19.240 9.760 19.240 14.500 " stroke="none" fill-rule="evenodd" fill="rgba(25, 28, 52, 0.7)"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="rgb(26, 115, 232)" xmlns="http://www.w3.org/2000/svg"><path d="M11.360 1.265 C 9.727 1.403,8.426 1.757,7.127 2.418 C 2.743 4.648,0.464 9.535,1.524 14.429 C 2.035 16.786,3.511 19.075,5.472 20.551 C 6.984 21.689,8.581 22.352,10.560 22.665 C 11.147 22.757,12.886 22.757,13.480 22.663 C 16.062 22.258,18.197 21.125,19.948 19.231 C 21.260 17.812,22.172 15.993,22.539 14.060 C 22.802 12.680,22.794 11.152,22.518 9.811 C 21.989 7.240,20.388 4.798,18.216 3.251 C 16.755 2.210,14.862 1.480,13.217 1.323 C 12.753 1.278,11.620 1.243,11.360 1.265 M13.142 2.822 C 14.244 2.966,15.085 3.223,16.090 3.725 C 17.514 4.435,18.595 5.362,19.536 6.678 C 19.884 7.166,20.076 7.496,20.383 8.139 C 20.760 8.929,20.969 9.584,21.146 10.540 C 21.259 11.149,21.249 12.831,21.130 13.500 C 20.766 15.526,19.952 17.089,18.501 18.542 C 17.652 19.392,16.850 19.952,15.806 20.423 C 13.274 21.564,10.578 21.550,8.063 20.382 C 6.267 19.549,4.652 17.975,3.751 16.182 C 3.108 14.902,2.809 13.689,2.772 12.220 C 2.750 11.334,2.801 10.786,2.985 9.960 C 3.284 8.616,3.959 7.212,4.808 6.168 C 6.036 4.660,7.867 3.498,9.765 3.023 C 10.791 2.766,12.108 2.688,13.142 2.822 M11.767 6.829 C 11.612 6.858,11.333 7.159,11.281 7.353 C 11.194 7.679,11.360 8.055,11.652 8.196 C 12.159 8.442,12.723 8.112,12.726 7.568 C 12.728 7.039,12.319 6.723,11.767 6.829 M11.720 10.864 C 11.550 10.938,11.414 11.060,11.326 11.220 C 11.267 11.327,11.259 11.604,11.248 13.840 C 11.241 15.215,11.246 16.434,11.260 16.548 C 11.289 16.786,11.404 16.979,11.592 17.106 C 12.018 17.393,12.607 17.149,12.716 16.640 C 12.775 16.368,12.775 11.654,12.717 11.401 C 12.610 10.938,12.137 10.683,11.720 10.864 " stroke="none" fill-rule="evenodd"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.740 8.300 C 5.326 8.447,5.131 8.963,5.341 9.359 C 5.370 9.414,6.795 10.858,8.507 12.567 C 11.334 15.389,11.636 15.678,11.796 15.720 C 11.985 15.770,12.194 15.747,12.359 15.659 C 12.414 15.630,13.858 14.205,15.567 12.493 C 18.375 9.679,18.678 9.363,18.720 9.205 C 18.870 8.634,18.366 8.130,17.795 8.280 C 17.637 8.322,17.346 8.600,14.810 11.133 L 12.000 13.939 9.190 11.133 C 6.772 8.718,6.358 8.320,6.220 8.283 C 6.014 8.228,5.936 8.231,5.740 8.300 " stroke="none" fill-rule="evenodd" fill="black"></path></svg>
|
||||
|
After Width: | Height: | Size: 618 B |
@@ -0,0 +1 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.742 8.298 C 11.618 8.344,10.899 9.041,8.455 11.488 C 5.625 14.320,5.322 14.637,5.280 14.795 C 5.130 15.366,5.634 15.870,6.205 15.720 C 6.363 15.678,6.654 15.400,9.190 12.867 L 12.000 10.061 14.810 12.867 C 17.346 15.400,17.637 15.678,17.795 15.720 C 18.366 15.870,18.870 15.366,18.720 14.795 C 18.678 14.637,18.375 14.321,15.567 11.507 C 13.858 9.795,12.411 8.369,12.351 8.337 C 12.184 8.248,11.921 8.232,11.742 8.298 " stroke="none" fill-rule="evenodd" fill="black"></path></svg>
|
||||
|
After Width: | Height: | Size: 588 B |
@@ -0,0 +1 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="rgb(255, 148, 25)" xmlns="http://www.w3.org/2000/svg"><path d="M11.289 2.361 C 11.128 2.403,10.867 2.505,10.709 2.589 C 10.403 2.749,9.945 3.150,9.761 3.419 C 9.701 3.507,7.808 6.784,5.556 10.700 C 2.401 16.186,1.433 17.898,1.343 18.160 C 1.236 18.467,1.225 18.548,1.226 19.000 C 1.227 19.431,1.241 19.544,1.332 19.820 C 1.594 20.612,2.220 21.285,2.954 21.563 C 3.483 21.763,3.212 21.757,12.000 21.757 C 20.809 21.757,20.515 21.764,21.056 21.559 C 21.629 21.342,22.222 20.794,22.502 20.221 C 22.714 19.787,22.779 19.489,22.776 18.960 C 22.774 18.559,22.759 18.456,22.657 18.160 C 22.566 17.896,21.623 16.227,18.444 10.700 C 16.192 6.784,14.299 3.507,14.239 3.419 C 14.055 3.150,13.597 2.749,13.292 2.589 C 12.708 2.282,11.928 2.193,11.289 2.361 M12.546 3.894 C 12.653 3.948,12.806 4.062,12.887 4.147 C 13.045 4.311,21.133 18.340,21.232 18.620 C 21.306 18.831,21.278 19.332,21.182 19.520 C 21.056 19.766,20.855 19.979,20.635 20.101 L 20.420 20.220 12.000 20.220 L 3.580 20.220 3.365 20.101 C 3.145 19.979,2.944 19.766,2.818 19.520 C 2.722 19.332,2.694 18.831,2.768 18.620 C 2.867 18.340,10.955 4.311,11.113 4.147 C 11.266 3.986,11.496 3.849,11.700 3.795 C 11.916 3.738,12.336 3.787,12.546 3.894 M11.740 8.300 C 11.540 8.371,11.339 8.585,11.283 8.786 C 11.226 8.993,11.224 13.002,11.282 13.209 C 11.390 13.599,11.802 13.827,12.202 13.719 C 12.422 13.660,12.656 13.432,12.715 13.219 C 12.777 12.999,12.777 9.001,12.715 8.781 C 12.635 8.493,12.285 8.236,11.980 8.242 C 11.936 8.243,11.828 8.269,11.740 8.300 M11.787 16.281 C 11.283 16.432,11.090 17.080,11.429 17.484 C 11.788 17.910,12.448 17.813,12.684 17.300 C 12.948 16.729,12.394 16.099,11.787 16.281 " stroke="none" fill-rule="evenodd" fill="rgb(255, 148, 25)"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 259 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="140" height="20" fill="none"><path fill="none" d="M0 0h140v20H0z"/><path fill="#F0B900" fill-rule="evenodd" d="M98.02 1v17h-2.55V1h2.55Zm32.62 16.68q1.1.54 2.46.54 1.34 0 2.34-.58.01 0 .02-.01.5-.29.89-.7.38-.41.65-.94V18h2.42V1h-2.53v6.59c-.33-.63-.81-1.13-1.46-1.51q-.96-.56-2.36-.56c-1.1 0-2.07.26-2.9.79q-.26.16-.5.35-.9.73-1.46 1.87-.72 1.44-.72 3.37 0 1.9.72 3.32.51 1.03 1.32 1.73.31.27.65.48.23.14.46.25ZM90.88 6.34q.26.17.5.37.37.31.67.68.86 1.06 1.15 2.6h-2.28c-.17-.53-.51-.95-1.01-1.27q-.77-.47-2.16-.47-1.15 0-1.94.53-.3.2-.54.47-.16.17-.29.36-.61.91-.61 2.23 0 1.31.6 2.24.13.2.3.39.26.3.58.51.78.51 1.9.51 1.39 0 2.16-.48c.5-.33.84-.74 1.01-1.24h2.28q-.28 1.48-1.1 2.52-.32.41-.72.75-.23.19-.48.35-1.31.86-3.18.86-1.63 0-2.87-.7-.13-.07-.25-.15-.54-.35-.98-.79-.64-.65-1.07-1.51-.03-.05-.05-.1-.68-1.42-.68-3.16 0-1.79.72-3.22 0-.01.01-.01.43-.87 1.09-1.52.43-.43.96-.76.09-.06.2-.12 1.25-.71 2.92-.71 1.86 0 3.16.84Zm18.78-.01c-.91-.56-1.98-.83-3.22-.83q-1.78 0-3.11.77l-.1.06q-.6.37-1.08.86-.61.61-1.03 1.42-.04.08-.08.15v.01q-.67 1.37-.67 3.07 0 1.65.63 3.01.06.12.12.25.41.79 1.01 1.41.49.5 1.1.89.08.05.16.09 1.31.76 3.05.76c1.24 0 2.31-.29 3.22-.85q.61-.39 1.1-.89.6-.62 1.01-1.41.06-.13.12-.25.63-1.36.63-3.01 0-1.7-.67-3.07v-.01q-.04-.07-.08-.15-.42-.81-1.03-1.42-.48-.49-1.08-.86Zm5.06-.58h2.55v7.42c0 .82.21 1.41.63 1.77.43.37 1.05.55 1.85.55.68 0 1.25-.11 1.69-.35q.1-.05.2-.11.54-.34.9-.98v-8.3h2.55V18h-2.39v-2.31c-.3.72-.77 1.32-1.41 1.8-.63.49-1.44.73-2.42.73-1.32 0-2.34-.36-3.06-1.07-.73-.72-1.09-1.78-1.09-3.18V5.75Zm20.95 9.44c-.55.22-1.22.33-2.03.33-1.19 0-2.1-.34-2.7-1.01l-.18-.22q-.72-.97-.72-2.47 0-1.52.74-2.45.08-.1.16-.19c.6-.64 1.5-.96 2.68-.96.84 0 1.52.11 2.06.33q.38.15.66.39.34.3.55.73v4.42c-.26.52-.67.89-1.22 1.1Zm-31.24-6.41q.84-.53 2.01-.53 1.2 0 2.03.54.29.19.54.45.21.22.38.47.58.87.58 2.13 0 1.32-.61 2.22-.16.23-.35.44-.26.26-.55.45-.83.54-2.02.54-1.16 0-1.99-.53-.31-.19-.57-.46-.19-.2-.34-.42-.62-.91-.62-2.24 0-1.27.59-2.15.16-.24.37-.45.25-.27.55-.46Z"/><path fill="#000" fill-rule="evenodd" d="M2.55 7.64q.13-.26.31-.49.46-.61 1.17-1.04.99-.59 2.39-.59 1.46 0 2.59.61.15.08.29.16.3.19.57.42.84.7 1.37 1.78.71 1.41.71 3.33 0 1.93-.71 3.38-.54 1.12-1.41 1.84-.25.21-.54.39-.17.11-.36.21-1.12.58-2.54.58c-.98 0-1.8-.2-2.47-.6a3.74 3.74 0 0 1-1.5-1.65V18H0V1h2.55v6.64ZM43.35 1v17H40.8V1h2.55Zm4.32.12c.45 0 .83.15 1.14.44.31.29.46.69.46 1.18 0 .5-.15.9-.46 1.2-.31.31-.69.46-1.14.46q-.38 0-.69-.14-.25-.12-.46-.32c-.32-.3-.47-.7-.47-1.2 0-.49.15-.89.47-1.18q.2-.18.43-.29.33-.15.72-.15ZM25 14.09c-.17.75-.48 1.44-.93 2.07-.45.62-1.05 1.13-1.81 1.51-.76.38-1.7.58-2.82.58-1.13 0-2.13-.28-3.01-.83a5.667 5.667 0 0 1-2.05-2.28q0-.01-.01-.01-.73-1.45-.73-3.26c0-1.24.25-2.33.75-3.29q.51-.96 1.26-1.65.37-.34.81-.61.2-.13.42-.24 1.16-.58 2.62-.58 1.49 0 2.66.6.18.1.36.21a5.48 5.48 0 0 1 2.02 2.26q.73 1.45.73 3.4c0 .05 0 .14-.01.26-.01.13-.01.22-.01.27h-9.08c.1 1.01.44 1.8 1.03 2.37.6.57 1.36.85 2.3.85.85 0 1.53-.15 2.06-.45.52-.3.9-.69 1.13-1.18H25Zm13.22 0c-.17.75-.48 1.44-.93 2.07-.44.62-1.05 1.13-1.81 1.51-.76.38-1.69.58-2.81.58-1.13 0-2.14-.28-3.01-.83-.88-.55-1.56-1.31-2.05-2.28-.5-.96-.74-2.06-.74-3.27 0-1.24.25-2.33.75-3.29q.5-.96 1.26-1.65.37-.34.8-.61.21-.13.43-.24 1.16-.58 2.61-.58 1.49 0 2.67.6.18.1.35.21c.87.54 1.54 1.29 2.03 2.26.48.97.73 2.1.73 3.4 0 .05-.01.14-.02.26 0 .13-.01.22-.01.27H29.4c.09 1.01.44 1.8 1.03 2.37.59.57 1.36.85 2.29.85.85 0 1.54-.15 2.06-.45.53-.3.91-.69 1.14-1.18h2.3Zm37.75 0c-.17.75-.48 1.44-.93 2.07-.44.62-1.05 1.13-1.81 1.51-.76.38-1.69.58-2.81.58-1.13 0-2.14-.28-3.01-.83-.88-.55-1.56-1.31-2.05-2.28-.5-.96-.74-2.06-.74-3.27q0-1.85.75-3.29c.5-.96 1.19-1.71 2.06-2.26q.21-.13.43-.24 1.16-.58 2.61-.58 1.49 0 2.67.6.18.1.35.21c.87.54 1.54 1.29 2.03 2.26.48.97.73 2.1.73 3.4 0 .05-.01.14-.02.26 0 .13-.01.22-.01.27h-9.08c.1 1.01.45 1.8 1.04 2.37.59.57 1.36.85 2.29.85.85 0 1.54-.15 2.06-.45.53-.3.91-.69 1.14-1.18h2.3ZM62.42 18h-2.55v-7.48c0-.84-.22-1.43-.65-1.78-.44-.35-1.06-.52-1.88-.52-.68 0-1.26.12-1.73.35-.46.23-.82.61-1.06 1.12V18H52V5.75h2.42V8c.28-.7.74-1.29 1.38-1.77.65-.47 1.45-.71 2.42-.71 1.33 0 2.36.35 3.1 1.06.73.71 1.1 1.77 1.1 3.19V18ZM46.4 5.75h2.55V18H46.4V5.75ZM19.5 8.02q-1.08 0-1.85.49-.17.11-.33.25-.09.08-.17.16-.71.71-.93 1.9h6.5q-.14-.95-.63-1.62-.16-.22-.36-.4-.09-.09-.18-.16-.79-.62-2.05-.62Zm13.22 0q-1.07 0-1.84.49-.18.11-.34.25-.09.08-.17.16-.7.71-.93 1.9h6.5q-.13-.95-.63-1.62-.16-.22-.35-.4-.09-.09-.19-.16-.78-.62-2.05-.62Zm37.75 0q-1.07 0-1.84.49-.18.11-.34.25-.09.08-.17.16-.7.71-.93 1.9h6.5q-.13-.95-.63-1.62-.16-.22-.35-.4-.09-.09-.19-.16-.78-.62-2.05-.62Zm-64.63 7.5q1.56 0 2.43-.77.12-.11.23-.24.09-.1.17-.2.72-.98.72-2.49 0-1.53-.74-2.47-.07-.09-.15-.17-.08-.09-.18-.18-.87-.78-2.45-.78c-.83 0-1.53.12-2.09.35q-.49.2-.83.55-.24.25-.4.57v4.38c.26.52.67.89 1.23 1.11q.84.34 2.06.34Z"/></svg>
|
||||
|
After Width: | Height: | Size: 4.8 KiB |
@@ -2,11 +2,11 @@
|
||||
|
||||
## 1. Регистрация в Beeline Cloud
|
||||
|
||||
1. Перейдите по ссылке [lk.cloud.beeline.ru](https://lk.cloud.beeline.ru/) и нажмите кнопку **Войти** в правом верхнем углу.
|
||||
1. Перейдите по ссылке [lk.cloud.beeline.ru](https://lk.cloud.beeline.ru/).
|
||||
2. Введите номер телефона любого оператора связи и нажмите кнопку **Войти**.
|
||||
3. Введите код с картинки и нажмите **Подтвердить**.
|
||||
4. Введите код, отправленный на номер телефона, указанный при регистрации.
|
||||
5. Введите рабочий почтовый адрес и нажмите на кнопку **Далее**. На указанный адрес будет выслана ссылка для подтверждения почты.
|
||||
4. Введите код, отправленный на номер телефона.
|
||||
5. Введите адрес электронной почты и нажмите на кнопку **Далее**. На указанную почту будет выслана ссылка для подтверждения.
|
||||
6. Дождитесь письма от Beeline Cloud с темой **Подтверждение адреса электронной почты** и перейдите по ссылке **Завершить регистрацию**.
|
||||
|
||||
После успешной регистрации аккаунта начнется настройка личного кабинета. После завершения настройки:
|
||||
@@ -21,9 +21,9 @@
|
||||
|
||||
## 2. Создание ресурса
|
||||
|
||||
Чтобы начать использование Beeline Cloud, создайте ресурс в проекте. Ресурсами в проекте могут быть виртуальные машины, виртуальные дата-центры и др. ресурсы, которые предоставляют сервисы Beeline Cloud.
|
||||
Чтобы начать использование Beeline Cloud, создайте ресурс в проекте. Ресурсами в проекте могут быть виртуальные машины, виртуальные дата-центры и другие ресурсы, которые предоставляют сервисы Beeline Cloud.
|
||||
|
||||
1. Перейдите в [личный кабинет](https://lk.cloud.beeline.ru/).
|
||||
1. Перейдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. На странице проекта **Мой проект** нажмите **Создать ресурс**.
|
||||
3. Выберите из списка тип ресурса, который вам требуется создать в проекте.
|
||||
4. На странице создания ресурса заполните свойства ресурса.
|
||||
@@ -36,5 +36,5 @@
|
||||
- Познакомьтесь с сервисами:
|
||||
- [Виртуальные дата-центры на VMware](../vdc/index.md).
|
||||
- [Виртуальные машины](../compute/index.md).
|
||||
- [Заключите договор](organization.md), чтобы использовать полные мощности ресурсов Beeline Cloud.
|
||||
- [Заключите договор](organization.md), чтобы снять [ограничения](trial.md#квоты-сервисов) платформы Beeline Cloud, действующие на период бесплатного тестирования.
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
# Платное использование
|
||||
|
||||
Аккаунт Beeline Cloud регистрируется для физического лица. Физическому лицу предоставляется [период бесплатного тестирования](trial.md). После окончания бесплатного периода заключите договор с Beeline Cloud, чтобы продолжить работу с сервисами Beeline Cloud.
|
||||
Аккаунт Beeline Cloud регистрируется для физического лица. Физическому лицу предоставляется [период бесплатного тестирования](trial.md). После окончания бесплатного периода заключите коммерческий договор с Beeline Cloud, чтобы продолжить работу с сервисами Beeline Cloud.
|
||||
|
||||
Для добавления организации необходимо отправить заявку на заключение договора из личного кабинета Beeline Cloud физического лица:
|
||||
Коммерческий договор на использование платформы Beeline Cloud заключается с **юридическими лицами и индивидуальными предпринимателями**. Физическим лицам доступно тестирование функциональности Beeline Cloud в ознакомительных целях без права коммерческой эксплуатации.
|
||||
|
||||
Для заключения коммерческого договора, необходимо:
|
||||
|
||||
1. Войдите в [личный кабинет Beeline Cloud](https://lk.cloud.beeline.ru/).
|
||||
2. В информационном окне о бесплатном тестировании нажмите на ссылку **Заключить договор**.
|
||||
3. Нажмите на образец договора и ознакомьтесь в условиями договора.
|
||||
4. Заполните заявку на заключение договора:
|
||||
- **ФИО**: укажите контактное лицо;
|
||||
- **ИНН** (необязательно): укажите ИНН организации, с которой будет заключен договор;
|
||||
- **ИНН**: укажите ИНН организации, с которой будет заключен договор;
|
||||
- укажите удобное время для звонка.
|
||||
5. Нажмите **Отправить**.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
Срок бесплатного тестирования Beeline Cloud — 30 дней.
|
||||
|
||||
Для каждого сервиса начало бесплатного периода рассчитывается отдельно. Началом бесплатного периода использования сервиса является дата создания первого инстанса ресурса.
|
||||
Началом бесплатного периода использования Beeline Cloud является дата создания первого экземпляра ресурса.
|
||||
|
||||
## Техническая поддержка
|
||||
|
||||
@@ -16,27 +16,24 @@
|
||||
|
||||
## Ограничения
|
||||
|
||||
::: warning Важно
|
||||
Ограничения сохраняются после [перехода на платное использование Beeline Cloud](organization.md#платное-использование).
|
||||
:::
|
||||
|
||||
В бесплатном периоде действуют ограничения:
|
||||
|
||||
- зарегистрированному пользователю предоставляется один проект в облаке;
|
||||
- пользователь является владельцем проекта и его единственным участником;
|
||||
- создание других пользователей в проекте недоступно;
|
||||
- установлены [квоты](#квоты-сервисов) на ресурсы сервисов.
|
||||
- создание других пользователей в проекте недоступно.
|
||||
|
||||
### Квоты сервисов
|
||||
## Квоты сервисов
|
||||
|
||||
::: details Виртуальные дата-центры на VMware
|
||||
На период бесплатного тестирования установлены квоты на ресурсы сервисов:
|
||||
|
||||
| Вид ограничения | Значение |
|
||||
|---|---|
|
||||
| Количество виртуальных дата-центров в проекте | 1 |
|
||||
| Количество vCPU в одном дата-центре | 4 |
|
||||
| Объем RAM в одном дата-центре | 8 Гб |
|
||||
| Объем дискового пространства в одном дата-центре | 80 Гб |
|
||||
|Количество публичных IP-адресов в одном дата-центре| 1 |
|
||||
|
||||
:::
|
||||
- [Виртуальные дата-центры на VMware](../vdc/vdc-quatos.md#бесплатный-период).
|
||||
- [Виртуальные рабочие столы](../vdi/vdi-quatos.md#бесплатный-период).
|
||||
- [Резервное копирование](../backups/backup-quatos.md#бесплатный-период).
|
||||
|
||||
## Переход на платное использование
|
||||
|
||||
После завершения периода бесплатного тестирования доступ к ресурсам будет остановлен. Для дальнейшей работы в Beeline Cloud [заключите договор](organization.md). Договор можно заключить с юридическим лицом или ИП. Договор не заключается с физическим лицом.
|
||||
После завершения периода бесплатного тестирования доступ к ресурсам будет остановлен. Для дальнейшей работы в Beeline Cloud [заключите договор](organization.md).
|
||||
|
||||
@@ -1,18 +1,31 @@
|
||||
---
|
||||
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: Создание виртуального дата-цента, вход с двухфакторной аутентификацией
|
||||
- title: Виртуальные машины
|
||||
link: /vdc/vdc-how-to/vm/vm-index.md
|
||||
description: Управление виртуальными машинами в дата-центре с помощью Cloud Director
|
||||
- title: Диски
|
||||
link: /vdc/vdc-how-to/disks/disks-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) при входе в дата-центр.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# О сервисе
|
||||
|
||||
Сервис **Виртуальные дата-центры на VMware** предоставляет в аренду виртуальный дата-центр на основе платформы виртуализации vSphere и Cloud Director. Сервис построен по модели IaaS на физической инфраструктуре Beeline Cloud.
|
||||
|
||||
В [личном кабинете](https://console.cloud.beeline.ru/) вы можете заказать виртуальный дата-центр с выделенным внешним IP-адресом.
|
||||
|
||||
Виртуальный дата-центр — это логический контейнер, в котором собраны следующие ресурсы:
|
||||
|
||||
- вычислительные мощности (например, CPU или память);
|
||||
- хранилище;
|
||||
- сети;
|
||||
- правила безопасности.
|
||||
|
||||
Управление ресурсами дата-центра выполняется в панели управления Cloud Director.
|
||||
|
||||
Для усиления безопасности подключается [двухфакторная аутентификация (2FA)](./vdc-how-to/vdc-2fa.md) при входе в дата-центр.
|
||||
@@ -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://console.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,31 @@
|
||||
# Обзор
|
||||
|
||||
## Типы дисков
|
||||
|
||||
В VMware Cloud Director используются два типа дисков:
|
||||
|
||||
- Диски виртуальной машины.
|
||||
- Выделенные диски (Named Disks).
|
||||
|
||||
Политика хранения задает правила размещения и применяется при создании любого из этих типов.
|
||||
|
||||
## Диски виртуальной машины
|
||||
|
||||
- Являются частью конфигурации конкретной ВМ.
|
||||
- Создаются при развертывании ВМ или добавляются при редактировании ВМ.
|
||||
- Привязаны к жизненному циклу ВМ: при удалении ВМ такие диски удаляются вместе с ней.
|
||||
- Могут быть системными или дополнительными (например, для хранения данных).
|
||||
- Для каждого диска выбирается политика хранения, доступная в виртуальном дата-центре. От политики зависят размещение, ограничения по ёмкости и поддерживаемые возможности.
|
||||
|
||||
## Выделенные диски (Named Disks)
|
||||
|
||||
- Представляют отдельный ресурс хранения на уровне виртуального дата-центра.
|
||||
- Не зависят от жизненного цикла конкретной ВМ и могут подключаться к разным ВМ последовательно;
|
||||
- Обеспечивают переносимость данных между ВМ внутри одного виртуального дата-центра без копирования;
|
||||
- Удаляются независимо от ВМ, при отключении могут сохраняться для последующего использования.
|
||||
|
||||
## Политика хранения
|
||||
|
||||
Политика хранения в VMware Cloud Director определяется на уровне провайдера и задает правила размещения данных, уровень производительности и доступность хранилищ. Пользователь дата-центра не может изменять параметры политики. Политика хранения выбирается при создании дисков в дата-центре и определяет доступный объем хранилища.
|
||||
|
||||
Если нужно изменить объем, предусмотренный выбранной политикой хранения, обратитесь [в службу поддержки Beeline Cloud](../../../platform/support/support-overview.md).
|
||||
@@ -0,0 +1,46 @@
|
||||
# Управление выделенными дисками
|
||||
|
||||
## Подключить выделенный диск к ВМ
|
||||
|
||||
1. Перейдите в раздел **Data Centers**.
|
||||
2. Выберите нужный дата-центр из списка.
|
||||
3. Перейдите в раздел **Storage** → **Named Disks**.
|
||||
4. Выберите диск из списка.
|
||||
5. Нажмите кнопку **ATTACH**.
|
||||
6. В открывшемся окне выберите, к какой виртуальной машине подключить диск.
|
||||
|
||||
:::warning Внимание
|
||||
В списке не отображаются ВМ, которые сейчас используются, просрочены или находятся в некорректном состоянии.
|
||||
:::
|
||||
|
||||
7. Нажмите кнопку **ATTACH**.
|
||||
|
||||
Чтобы подключить общий диск к нескольким виртуальным машинам, повторите шаги 2-5 для других виртуальных машин.
|
||||
|
||||
## Отключить выделенный диск от ВМ
|
||||
|
||||
:::info Примечание
|
||||
Отключение выделенного диска не влияет на виртуальную машину. Диск и ВМ сохранятся, данные на них удалены не будут.
|
||||
:::
|
||||
|
||||
1. Перейдите в раздел **Data Centers**.
|
||||
2. Выберите нужный дата-центр из списка.
|
||||
3. Перейдите в раздел **Storage** → **Named Disks**.
|
||||
4. Выберите диск из списка.
|
||||
5. Нажмите кнопку **DETACH**.
|
||||
6. (необязательно) Если ВМ, к которой был подключен диск, удалена из vSphere, Cloud Director может некорректно отображать состояние диска. В этом случае выберите опцию **Force detach**, чтобы принудительно разорвать связь между диском и ВМ.
|
||||
7. Нажмите кнопку **DETACH**.
|
||||
|
||||
## Изменить владельца выделенного диска
|
||||
|
||||
Изменение владельца позволяет передать права управления независимым диском другому пользователю дата-центра.
|
||||
|
||||
1. Перейдите в раздел **Data Centers**.
|
||||
2. Выберите нужный дата-центр из списка.
|
||||
3. Перейдите в раздел **Storage** → **Named Disks**.
|
||||
4. Выберите нужный диск из списка.
|
||||
5. Нажмите кнопку **CHANGE OWNER**.
|
||||
6. В открывшемся окне выберите нового владельца из списка пользователей.
|
||||
7. Нажмите кнопку **OK**.
|
||||
|
||||
Если в списке нет доступных пользователей, [создайте их](../users/add-user.html).
|
||||
@@ -0,0 +1,10 @@
|
||||
# Изменение политики хранения дисков виртуальной машины
|
||||
|
||||
[Политика хранения](about.md#политика-хранения) задает правила размещения данных.
|
||||
|
||||
1. Перейдите в раздел **Applications** → **Virtual Machines**.
|
||||
2. Выберите нужную виртуальную машину из списка.
|
||||
3. Перейдите в раздел **Hardware** → **Hard Disks**.
|
||||
4. Нажмите кнопку **EDIT**.
|
||||
5. В открывшемся окне смените политику хранения.
|
||||
6. Нажмите кнопку **SAVE** для подтверждения изменений.
|
||||
@@ -0,0 +1,71 @@
|
||||
# Создание диска
|
||||
|
||||
## Создать диск ВМ
|
||||
|
||||
1. Перейдите в раздел **Applications** → **Virtual Machines**.
|
||||
2. Выберите нужную виртуальную машину из списка.
|
||||
3. Перейдите в раздел **Hardware** → **Hard Disks**.
|
||||
4. Нажмите кнопку **EDIT**.
|
||||
5. В открывшемся окне нажмите кнопку **ADD**.
|
||||
6. Задайте следующие параметры диска в таблице:
|
||||
|
||||
- **Size of Disk**: укажите размер создаваемого диска в мегабайтах или гигабайтах.
|
||||
- **Storage Policy**: выберите [политику хранения](about.md#политика-хранения).
|
||||
- (необязательно) **IOPS Reservation**: задайте количество операций ввода-вывода в секунду, которое будет гарантировано для данного диска.
|
||||
- **Bus Type**: выберите тип шины.
|
||||
|
||||
- `LSI Logic Parallel (SCSI)`: стандартный контроллер, обеспечивает стабильную работу большинства ОС.
|
||||
- `LSI Logic SAS (SCSI)`: современный контроллер с поддержкой интерфейса SAS, улучшенной скоростью и надежностью.
|
||||
- `Paravirtual (SCSI)`: оптимизирован для виртуальных сред, обеспечивает минимальные задержки и высокую производительность при интенсивных нагрузках.
|
||||
- `IDE`: устаревшая шина с низкой скоростью передачи данных. Используется для работы со старыми ОС.
|
||||
- `SATA`: шина для обычных нагрузок с меньшим числом одновременных операций. Поддерживает горячее подключение.
|
||||
- `NVME`: высокоскоростная шина. Обеспечивает минимальные задержки и максимальную пропускную способность.
|
||||
|
||||
:::warning Внимание
|
||||
Изменить **Bus Type** после создания диска нельзя.
|
||||
:::
|
||||
|
||||
- **Bus Number**: выберите номер контроллера, к которому будет подключен диск.
|
||||
- **Unit Number**: задайте порядковый номер устройства на выбранной шине. Значение должно быть уникальным на контроллере.
|
||||
|
||||
7. (необязательно) Повторите шаги 5-6, если вы хотите создать несколько дисков.
|
||||
8. Нажмите кнопку **SAVE**.
|
||||
|
||||
## Создать выделенный диск
|
||||
|
||||
1. Перейдите в раздел **Data Centers**.
|
||||
2. Выберите нужный дата-центр из списка.
|
||||
3. Перейдите в раздел **Storage** → **Named Disks**.
|
||||
4. Нажмите кнопку **NEW**.
|
||||
5. В открывшемся окне задайте параметры диска:
|
||||
|
||||
- **Name**: введите имя диска.
|
||||
- (необязательно) **Description**: укажите описание.
|
||||
- **Storage Policy**: выберите [политику хранения](about.md#политика-хранения).
|
||||
- (необязательно) **IOPS Reservation**: задайте количество операций ввода-вывода в секунду, которое будет гарантировано для данного диска.
|
||||
- **Size of Disk**: укажите размер создаваемого диска в мегабайтах или гигабайтах.
|
||||
- **Bus Type**: выберите тип шины.
|
||||
|
||||
- `SCSI`: стандартная шина, ориентирована на серверные задачи. Обеспечивает высокую производительность, совместима с большинством ОС.
|
||||
- `IDE`: устаревшая шина с низкой скоростью передачи данных. Используется для работы со старыми ОС.
|
||||
- `SATA`: шина для обычных нагрузок с меньшим числом одновременных операций. Поддерживает горячее подключение.
|
||||
- `NVME`: высокоскоростная шина. Обеспечивает минимальные задержки и максимальную пропускную способность.
|
||||
|
||||
- (если в пункте **Bus Type** указали `SCSI`) **Bus Sub-Type**: выберите подтип контроллера.
|
||||
|
||||
- `BusLogic Parallel SCSI controller`: устаревший контроллер, используется со старыми ОС.
|
||||
- `LSI Logic Parallel SCSI controller`: стандартный контроллер, обеспечивает стабильную работу большинства ОС.
|
||||
- `LSI Logic SAS SCSI controller`: современный контроллер с поддержкой интерфейса SAS, улучшенной скоростью и надежностью.
|
||||
- `Paravirtual SCSI controller`: оптимизирован для виртуальных сред, обеспечивает минимальные задержки и высокую производительность при интенсивных нагрузках.
|
||||
|
||||
- (необязательно) **Sharing Type**: выберите режим доступа к диску — отдельный или общий для нескольких виртуальных машин.
|
||||
|
||||
- `None`: диск доступен только одной виртуальной машине.
|
||||
- `Disk`: диск может быть подключен к нескольким виртуальным машинам на уровне диска.
|
||||
- `Controller`: диск может быть подключен к нескольким виртуальным машинам через общий контроллер.
|
||||
|
||||
:::warning Внимание
|
||||
При выбранном режиме `Controller` в **Bus Type** доступны только шины 2 шины: `LSI Logic SAS SCSI controller` и `Paravirtual SCSI controller`. После создания диска вы не сможете изменить параметры **Bus Type**, **Bus Sub-Type** и **Sharing Type**.
|
||||
:::
|
||||
|
||||
6. Нажмите кнопку **SAVE** для создания диска.
|
||||
@@ -0,0 +1,24 @@
|
||||
# Удаление диска
|
||||
|
||||
## Удалить диск ВМ
|
||||
|
||||
1. Перейдите в раздел **Applications** → **Virtual Machines**.
|
||||
2. Выберите нужную виртуальную машину из списка.
|
||||
3. Перейдите в раздел **Hardware** → **Hard Disks**.
|
||||
4. Нажмите кнопку **EDIT**.
|
||||
5. В открывшемся окне найдите диск, который нужно удалить.
|
||||
6. Нажмите кнопку  в строчке диска, который нужно удалить.
|
||||
7. Нажмите кнопку **SAVE**.
|
||||
|
||||
## Удалить выделенный диск
|
||||
|
||||
:::info Примечание
|
||||
Перед удалением диска, [отключите его от виртуальной машины](attach-disk.md#отключить-выделенный-диск-от-вм).
|
||||
:::
|
||||
|
||||
1. Перейдите в раздел **Data Centers**.
|
||||
2. Выберите нужный дата-центр из списка.
|
||||
3. Перейдите в раздел **Storage** → **Named Disks**.
|
||||
4. Выберите нужный диск из списка.
|
||||
5. Нажмите кнопку **DELETE**.
|
||||
6. В открывшемся окне подтвердите действие.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор
|
||||
link: /vdc/vdc-how-to/disks/about.md
|
||||
description: Описание типов дисков, доступных в VMware Cloud Director
|
||||
- title: Создание диска
|
||||
link: /vdc/vdc-how-to/disks/create-disk.md
|
||||
description: Создание выделенного диска и диска ВМ
|
||||
- title: Проверка состояния диска
|
||||
link: /vdc/vdc-how-to/disks/view-disk.md
|
||||
description: Проверка состояния выделенного диска и диска ВМ
|
||||
- title: Управление выделенными дисками
|
||||
link: /vdc/vdc-how-to/disks/attach-disk.md
|
||||
description: Подключение, отключение выделенного диска к ВМ, изменение владельца диска
|
||||
- title: Изменение политики хранения дисков ВМ
|
||||
link: /vdc/vdc-how-to/disks/change-storage-policy-of-vm.md
|
||||
description: Управление политикой хранения дисков ВМ
|
||||
- title: Редактирование параметров диска
|
||||
link: /vdc/vdc-how-to/disks/edit-disk.md
|
||||
description: Изменение параметров выделенного диска и диска ВМ
|
||||
- title: Удаление диска
|
||||
link: /vdc/vdc-how-to/disks/delete-disk.md
|
||||
description: Удаление выделенного диска и диска ВМ
|
||||
---
|
||||
|
||||
# Диски
|
||||
@@ -0,0 +1,40 @@
|
||||
# Редактирование параметров диска
|
||||
|
||||
## Редактировать параметры диска ВМ
|
||||
|
||||
1. Перейдите в раздел **Applications** → **Virtual Machines**.
|
||||
2. Выберите нужную виртуальную машину из списка.
|
||||
3. Перейдите в раздел **Hardware** → **Hard Disks**.
|
||||
4. Нажмите кнопку **EDIT**.
|
||||
5. В открывшемся окне найдите диск, у которого нужно изменить параметры.
|
||||
6. Измените параметры диска в таблице:
|
||||
|
||||
- **Size of Disk**: укажите размер создаваемого диска в мегабайтах или гигабайтах.
|
||||
- **Storage Policy**: выберите [политику хранения](about.md#политика-хранения).
|
||||
- (необязательно) **IOPS Reservation**: задайте количество операций ввода-вывода в секунду, которое будет гарантировано для данного диска.
|
||||
|
||||
- **Bus Number**: выберите номер контроллера, к которому будет подключен диск.
|
||||
- **Unit Number**: задайте порядковый номер устройства на выбранной шине. Значение должно быть уникальным на контроллере.
|
||||
|
||||
:::info Примечание
|
||||
**Bus Number** и **Unit Number** нельзя изменить, пока виртуальная машина [включена](../vm/manage-vm.md#выключить-виртуальную-машину).
|
||||
:::
|
||||
|
||||
7. Нажмите кнопку **SAVE**.
|
||||
|
||||
## Редактировать параметры выделенного диска
|
||||
|
||||
1. Перейдите в раздел **Data Centers**.
|
||||
2. Выберите нужный дата-центр из списка.
|
||||
3. Перейдите в раздел **Storage** → **Named Disks**.
|
||||
4. Выберите диск из списка.
|
||||
5. Нажмите кнопку **EDIT**.
|
||||
6. В открывшемся окне измените параметры диска:
|
||||
|
||||
- **Name**: введите имя диска.
|
||||
- (необязательно) **Description**: укажите описание.
|
||||
- **Storage Policy**: выберите [политику хранения](about.md#политика-хранения).
|
||||
- (необязательно) **IOPS Reservation**: задайте количество операций ввода-вывода в секунду, которое будет гарантировано для данного диска.
|
||||
- **Size of Disk**: укажите размер диска в мегабайтах или гигабайтах.
|
||||
|
||||
7. Нажмите кнопку **SAVE** для сохранения изменений.
|
||||