Compare commits

..

18 Commits

Author SHA1 Message Date
Elena Rechkina d453dafa98 Форматирование 2025-08-25 17:17:41 +06:00
Elena Rechkina 2f52c8f24b Revert "fix-delete-comment"
This reverts commit 20f7ee60e9.
2025-08-25 17:11:36 +06:00
Elena Rechkina 55ff178299 Правка текста на главной 2025-08-25 16:32:03 +06:00
Elena Rechkina 07cae0943d Правка описания сервисов на главной 2025-08-25 13:09:01 +06:00
Rusovich Violetta 20f7ee60e9 fix-delete-comment 2025-08-22 12:32:28 +03:00
Rusovich Violetta 476d5768bd fix-delete-coment 2025-08-22 12:22:37 +03:00
Rusovich Violetta 6d650b35c6 fix-media 2025-08-22 11:44:38 +03:00
Rusovich Violetta 8ff199b4ab fix-color 2025-08-21 11:06:39 +03:00
Бурденко Алексей b6065c2fa4 up 2025-08-14 09:25:13 +03:00
Бурденко Алексей 3e14bf2b54 up ci 2025-08-14 09:21:51 +03:00
Бурденко Алексей 2e923d3abb up ci 2025-08-14 09:16:56 +03:00
Бурденко Алексей ea041a1a24 up ci 2025-08-14 09:08:23 +03:00
Rusovich Violetta 0471aaaa04 fix-component-link 2025-08-13 13:28:28 +03:00
Rusovich Violetta b21b1fb831 Доработка карточек документации#VEGA-4499 2025-08-13 12:51:29 +03:00
Бурденко Алексей 71aeec09df add build script 2025-08-05 10:26:05 +03:00
Дмитрий Захаров d595575c1f Fix build 2025-08-04 17:59:43 +03:00
Дмитрий Захаров dcf4f06125 Fix code 2025-08-04 14:47:02 +03:00
Дмитрий Захаров 255f2ffe9d VEGA-4499: адаптация UI главной страницы документации 2025-08-04 14:11:34 +03:00
151 changed files with 918 additions and 5248 deletions
-4
View File
@@ -14,7 +14,3 @@ src/.vuepress/.cache
src/.vuepress/.temp src/.vuepress/.temp
src/.vitepress/cache src/.vitepress/cache
packages-list.json packages-list.json
/.vale
/.vscode
/.vale.ini
/.markdownlint.json
+1 -1
View File
@@ -1 +1 @@
0.0.2-fix1 0.0.2
+1 -1
View File
@@ -1,6 +1,6 @@
deploy-test-stand: deploy-test-stand:
stage: deploy stage: deploy
image: harbor.vimpelcom.ru/dockerhub/library/alpine:3.21.2 image: harbor.vimpelcom.ru/dockerhub/library/alpine
variables: variables:
stand: cloud-stand.vega-dev.cloud.vimpelcom.ru stand: cloud-stand.vega-dev.cloud.vimpelcom.ru
rules: rules:
+1 -1
View File
@@ -23,7 +23,7 @@
# - git push origin HEAD:$CI_COMMIT_REF_NAME -o ci.skip # - git push origin HEAD:$CI_COMMIT_REF_NAME -o ci.skip
.deploy-template: .deploy-template:
image: harbor.vimpelcom.ru/dockerhub/library/alpine:3.21.2 image: harbor.vimpelcom.ru/dockerhub/library/alpine
before_script: before_script:
- | - |
sed -i s%https://dl-cdn.alpinelinux.org/%http://rhrepo.vimpelcom.ru/ext/ya/mirrors/% /etc/apk/repositories && \ sed -i s%https://dl-cdn.alpinelinux.org/%http://rhrepo.vimpelcom.ru/ext/ya/mirrors/% /etc/apk/repositories && \
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "docs", "name": "docs",
"version": "0.6.4", "version": "0.6.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "docs", "name": "docs",
"version": "0.6.4", "version": "0.6.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@beeline/design-tokens": "^1.31.0", "@beeline/design-tokens": "^1.31.0",
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "docs", "name": "docs",
"version": "0.6.4-vdi", "version": "0.6.1",
"description": "Beeline Cloud docs", "description": "Vega docs portal",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"dev": "vitepress dev src", "dev": "vitepress dev src",
+37 -181
View File
@@ -42,8 +42,7 @@ console.log({ base: typeof new_version !== 'undefined' ? '/' : '/docs/' })
// https://vitepress.dev/reference/site-config // https://vitepress.dev/reference/site-config
export default defineConfig({ export default defineConfig({
srcDir: ".", title: "Beeline Cloud",
title: " ",
description: "Документация Beeline Cloud", description: "Документация Beeline Cloud",
head: [['link', { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/bee-favicon.png' }]], head: [['link', { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/bee-favicon.png' }]],
base: typeof new_version !== 'undefined' ? '/' : '/docs/', base: typeof new_version !== 'undefined' ? '/' : '/docs/',
@@ -64,11 +63,7 @@ export default defineConfig({
} }
}, },
themeConfig: { themeConfig: {
logo: { logo: '/favicon.svg',
light: '/img/logo-cloud.svg',
dark: '/img/logo-cloud.svg',
alt: '',
},
search: { search: {
provider: 'local', provider: 'local',
options: { options: {
@@ -80,7 +75,7 @@ export default defineConfig({
buttonAriaLabel: 'Поиск' buttonAriaLabel: 'Поиск'
}, },
modal: { modal: {
noResultsText: 'Не удалось загрузить данные', noResultsText: 'Нет результатов для',
resetButtonTitle: 'Сбросить', resetButtonTitle: 'Сбросить',
displayDetails: 'Показать расширенный список', displayDetails: 'Показать расширенный список',
footer: { footer: {
@@ -96,26 +91,29 @@ export default defineConfig({
}, },
// https://vitepress.dev/reference/default-theme-config // https://vitepress.dev/reference/default-theme-config
// nav: [ // nav: [
// {
// text: 'Документация',
// link: '/guide/',
// },
// {
// text: 'API',
// link: '',
// },
// {
// text: 'Terraform',
// // link: '/terraform/',
// link: '',
// },
// ], // ],
// 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'
// },
docFooter: { docFooter: {
next: 'Вперед', next: 'Вперед',
prev: 'Назад' prev: 'Назад'
}, },
// lastUpdated: {
// text: 'Обновлена',
// formatOptions: {
// dateStyle: 'long',
// }
// },
outline: { outline: {
label: 'Содержание' label: 'Содержание'
}, },
@@ -125,7 +123,7 @@ export default defineConfig({
text: 'Платформа Beeline Cloud', link: '/platform/index.md', text: 'Платформа Beeline Cloud', link: '/platform/index.md',
collapsed: true, collapsed: true,
items: [ items: [
{text: 'Обзор', link: '/platform/about.md'}, {text: 'Сервисы', link: '/platform/services/services.md'},
{text: 'Техническая поддержка', link: '/platform/support/support-overview.md'}, {text: 'Техническая поддержка', link: '/platform/support/support-overview.md'},
], ],
}, },
@@ -133,111 +131,30 @@ export default defineConfig({
'/start/': [ '/start/': [
{ {
text: 'Начало работы в Beeline Cloud', link: '/start/index.md', text: 'Начало работы в Beeline Cloud', link: '/start/index.md',
}, collapsed: true,
items: [
{text: 'Начать работу', link: '/start/getting-started.md'}, {text: 'Начать работу', link: '/start/getting-started.md'},
{text: 'Бесплатный период', link: '/start/trial.md'}, {text: 'Бесплатный период', link: '/start/trial.md'},
{text: 'Платное использование', link: '/start/organization.md'}, {text: 'Платное использование', link: '/start/organization.md'},
], ],
},
],
// '/billing/': [ // '/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/': [ '/vdc/': [
{ {
text: 'Виртуальные дата-центры на VMware', link: '/vdc/index.md', text: 'Виртуальные дата-центры на VMware', link: '/vdc/index.md',
},
{
text: 'Обзор сервиса', link: '/vdc/vdc-overview.md',
collapsed: true, collapsed: true,
items: [ items: [
{ text: 'О сервисе', link: '/vdc/vdc-about.md' }, {text: 'Обзор сервиса', link: '/vdc/vdc-overview.md'},
{ text: 'Техническое описание', link: '/vdc/vdc-tech.md' }, {text: 'Быстрый старт', link: '/vdc/vdc-getting-started.md'},
{ text: 'Квоты и лимиты', link: '/vdc/vdc-quatos.md' },
]
},
{
text: 'Быстрый старт', link: '/vdc/vdc-getting-started.md'
},
{text: 'Виртуальные дата-центры', link: '/vdc/vdc-how-to/vdc-index.md', {text: 'Виртуальные дата-центры', link: '/vdc/vdc-how-to/vdc-index.md',
collapsed: true, collapsed: true,
items: [ items: [
{ text: 'Создание дата-центра', link: '/vdc/vdc-how-to/vdc-create.md' }, { 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-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', { text: 'Двухфакторная аутентификация', link: '/vdc/vdc-how-to/vdc-2fa.md',
collapsed: true, collapsed: true,
items: [ items: [
@@ -246,101 +163,40 @@ export default defineConfig({
], ],
}, },
], ],
},
// { text: 'Тарификация', link: '/vdc/vdc-tarif.md' }, // { text: 'Тарификация', link: '/vdc/vdc-tarif.md' },
],
},
],
'/compute/': [ '/compute/': [
{ {
text: 'Виртуальные машины', link: '/compute/index.md', text: 'Виртуальные машины', link: '/compute/index.md',
},
{ text: 'Обзор сервиса', link: '/compute/compute-overview-index.md' ,
collapsed: true, collapsed: true,
items: [ items: [
{ text: 'Техническое описание', link: '/compute/compute-overview.md' }, {text: 'Обзор сервиса', link: '/compute/compute-overview.md'},
{ text: 'Квоты и лимиты', link: '/compute/compute-quatos.md' }, // {text: 'Быстрый старт', link: '/compute/compute-getting-started.md'},
]
},
{text: 'Быстрый старт', link: '/compute/compute-getting-started.md'},
{text: 'Виртуальные машины', link: '/compute/compute-how-to/compute-index.md', {text: 'Виртуальные машины', link: '/compute/compute-how-to/compute-index.md',
collapsed: true, collapsed: true,
items: [ items: [
{ text: 'Создание ВМ', link: '/compute/compute-how-to/compute-servers-create.md' }, { text: 'Создание ВМ', link: '/compute/compute-how-to/compute-servers-create.md' },
{ text: 'Создание ВМ джамп-хоста', link: '/compute/compute-how-to/compute-servers-jump-create.md' }, { text: 'Подключение к ВМ', link: '/compute/compute-how-to/compute-connect.md' },
{ text: 'Подключение к ВМ', link: '/compute/compute-how-to/compute-connect-index.md',
collapsed: true,
items: [
{ text: 'Подключение по SSH по внешнему IP-адресу с помощью ключевой пары', link: '/compute/compute-how-to/compute-connect-public.md'},
{ text: 'Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары', link: '/compute/compute-how-to/compute-connect-inside.md' },
{ text: 'Подключение по 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-servers-manage.md' },
], ],
}, },
{ text: 'Диски', link: '/compute/compute-how-to/compute-disks.md' }, { text: 'Диски', link: '/compute/compute-how-to/compute-disks.md' },
{ text: 'IP-адреса', link: '/compute/compute-how-to/compute-ip.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-affinity.md' },
{ text: 'Сети', link: '/compute/compute-how-to/compute-network/compute-network-index.md',
collapsed: true,
items: [
{ text: 'Настройка site-to-site VPN с помощью VyOS', link: '/compute/compute-how-to/compute-network/compute-vpn-vyos.md' },
{ text: 'Подключение ВМ закрытого контура к интернету', link: '/compute/compute-how-to/compute-network/compute-network-inside.md' },
], ],
}, },
], ],
'/admin/': [ '/admin/': [
{ {
text: 'Администрирование', link: '/admin/index.md', text: 'Аккаунт Beeline Cloud', link: '/admin/acc-index.md',
}, collapsed: true,
items: [
{text: 'Управление ключевыми парами', link: '/admin/ssh.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'
}, },
], ],
}, },
+1 -1
View File
@@ -106,7 +106,7 @@ export default function(parameters: IParameters) {
// window._paq elsewhere when needed, including closure scopes. // window._paq elsewhere when needed, including closure scopes.
const _paq = window._paq; const _paq = window._paq;
// If user requests consent checking, do this before we actually track. // If user requests consent checking, do this before we actually track.
// tip: this doesn't work at the moment because the user has no way to set // Note: this doesn't work at the moment because the user has no way to set
// whether consent was given. Oops. // whether consent was given. Oops.
if (requireConsent) { if (requireConsent) {
_paq.push(['requireConsent']); _paq.push(['requireConsent']);
@@ -5,7 +5,7 @@ import { EXTERNAL_URL_RE } from 'vitepress/dist/client/shared'
interface Props { interface Props {
tag?: string tag?: string
size?: 'medium' | 'big' | 'small' size?: 'medium' | 'big'
theme?: 'brand' | 'alt' | 'sponsor' theme?: 'brand' | 'alt' | 'sponsor'
text: string text: string
href?: string href?: string
@@ -51,15 +51,6 @@ const component = computed(() => {
transition: color 0.1s, border-color 0.1s, background-color 0.1s; 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 { .VPButton.medium {
border-radius: 12px; border-radius: 12px;
padding: 0 20px; padding: 0 20px;
@@ -115,7 +115,7 @@ const { hasSidebar } = useSidebar()
.VPContent.has-sidebar { .VPContent.has-sidebar {
margin: var(--vp-layout-top-height, 0px) 0 0; margin: var(--vp-layout-top-height, 0px) 0 0;
padding-left: 320px; padding-left: var(--vp-sidebar-width);
} }
} }
@@ -54,12 +54,10 @@ const pageName = computed(() =>
<div class="content-container"> <div class="content-container">
<slot name="doc-before" /> <slot name="doc-before" />
<main class="main"> <main class="main">
<div class="vp-doc" :class="[ <Content class="vp-doc" :class="[
pageName, pageName,
theme.externalLinkIcon && 'external-link-icon-enabled' theme.externalLinkIcon && 'external-link-icon-enabled'
]"> ]" />
<Content />
</div>
<SectionLinkList v-if="frontmatter.section_links" :links="frontmatter.section_links" /> <SectionLinkList v-if="frontmatter.section_links" :links="frontmatter.section_links" />
</main> </main>
<VPDocFooter> <VPDocFooter>
@@ -6,8 +6,6 @@ import { usePrevNext } from 'vitepress/dist/client/theme-default/composables/pre
import VPIconEdit from 'vitepress/dist/client/theme-default/components/icons/VPIconEdit.vue' import VPIconEdit from 'vitepress/dist/client/theme-default/components/icons/VPIconEdit.vue'
import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue' import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue'
import VPDocFooterLastUpdated from 'vitepress/dist/client/theme-default/components/VPDocFooterLastUpdated.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() const { theme, page, frontmatter } = useData()
@@ -45,14 +43,14 @@ const showFooter = computed(() => {
<nav v-if="control.prev?.link || control.next?.link" class="prev-next"> <nav v-if="control.prev?.link || control.next?.link" class="prev-next">
<div class="pager"> <div class="pager">
<VPLink v-if="control.prev?.link" class="pager-link prev" :href="control.prev.link"> <VPLink v-if="control.prev?.link" class="pager-link prev" :href="control.prev.link">
<CustomIcon class="desc-prev" :icon="Icons.ArrowRight" /> <span class="desc" v-html="theme.docFooter?.prev || 'Previous page'"></span>
<span class="title" v-html="control.prev.text"></span> <span class="title" v-html="control.prev.text"></span>
</VPLink> </VPLink>
</div> </div>
<div class="pager"> <div class="pager">
<VPLink v-if="control.next?.link" class="pager-link next" :href="control.next.link"> <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> <span class="title" v-html="control.next.text"></span>
<CustomIcon class="desc-next" :icon="Icons.ArrowRight" />
</VPLink> </VPLink>
</div> </div>
</nav> </nav>
@@ -61,7 +59,7 @@ const showFooter = computed(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.VPDocFooter { .VPDocFooter {
margin-top: 40px; margin-top: 64px;
} }
.edit-info { .edit-info {
@@ -100,6 +98,8 @@ const showFooter = computed(() => {
} }
.prev-next { .prev-next {
border-top: 1px solid var(--vp-c-divider);
padding-top: 24px;
display: grid; display: grid;
grid-row-gap: 8px; grid-row-gap: 8px;
} }
@@ -115,19 +115,10 @@ const showFooter = computed(() => {
display: block; display: block;
border: 1px solid var(--vp-c-divider); border: 1px solid var(--vp-c-divider);
border-radius: 8px; border-radius: 8px;
padding: 10px 16px 10px 12px; padding: 11px 16px 13px;
width: 100%; width: 100%;
height: 100%; height: 100%;
transition: border-color 0.25s; transition: border-color 0.25s;
display: flex;
gap: 8px;
color: #1a73e8;
&.next {
padding: 10px 12px 10px 16px;
justify-content: flex-end;
}
} }
.pager-link:hover { .pager-link:hover {
@@ -145,14 +136,6 @@ const showFooter = computed(() => {
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
color: var(--vp-c-text-2); color: var(--vp-c-text-2);
&-next {
rotate: -270deg;
}
&-prev {
rotate: -90deg;
}
} }
.title { .title {
@@ -22,7 +22,8 @@ type ItemFeature = {
const style = useCssModule() const style = useCssModule()
const classes = computed(() => ({ const classes = computed(() => ({
[style.CustomFeature]: true, [style.CustomFeature]: true,
[style.CustomFeatureDisabled]: disabled || !link && !scrollTo, [style.CustomFeatureDisabled]: disabled || !link,
[style.CustomFeatureWithScroll]: scrollTo && !disabled
})) }))
const handleClick = (event: Event) => { const handleClick = (event: Event) => {
@@ -50,11 +51,7 @@ const handleClick = (event: Event) => {
</Component> </Component>
<div :class="$style.CustomFeatureContainer"> <div :class="$style.CustomFeatureContainer">
<div v-for="(item, i) in items" :key="i"> <div v-for="(item, i) in items" :key="i">
<Component <Component :is="!disabled && item.link ? VPLink : 'article'" v-bind="{ ...(!disabled && item.link && { href: item.link }) }">
: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> <p :class="$style.CustomFeatureSubtitle">{{ item.title }}</p>
</Component> </Component>
</div> </div>
@@ -97,12 +94,16 @@ const handleClick = (event: Event) => {
color: themes.$color-text-active; color: themes.$color-text-active;
&:hover { &:hover {
color: themes.$color-text-link; color: themes.$color-text-link !important;
} }
#{$el}Disabled & { #{$el}Disabled & {
color: themes.$color-text-disabled; color: themes.$color-text-disabled;
} }
#{$el}WithScroll & {
color: themes.$color-text-active;
}
} }
&Subtitle { &Subtitle {
@@ -20,7 +20,6 @@ import {
nextTick, nextTick,
onBeforeUnmount, onBeforeUnmount,
onMounted, onMounted,
Raw,
ref, ref,
shallowRef, shallowRef,
watch, watch,
@@ -133,7 +132,6 @@ watchEffect(() => {
const results: Ref<(SearchResult & Result)[]> = shallowRef([]) const results: Ref<(SearchResult & Result)[]> = shallowRef([])
const enableNoResults = ref(false) const enableNoResults = ref(false)
const loadig = ref(true)
watch(filterText, () => { watch(filterText, () => {
enableNoResults.value = false enableNoResults.value = false
@@ -162,7 +160,11 @@ debouncedWatch(
if (!index) return if (!index) return
// Search // Search
retrySearch(index, filterTextValue) results.value = index
.search(filterTextValue)
.slice(0, 16) as (SearchResult & Result)[]
enableNoResults.value = true
// Highlighting // Highlighting
const mods = showDetailedListValue const mods = showDetailedListValue
? await Promise.all(results.value.map((r) => fetchExcerpt(r.id))) ? await Promise.all(results.value.map((r) => fetchExcerpt(r.id)))
@@ -266,16 +268,6 @@ function focusSearchInput(select = true) {
select && searchInput.value?.select() 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(() => { onMounted(() => {
focusSearchInput() focusSearchInput()
}) })
@@ -489,6 +481,33 @@ function formMarkRegex(terms: Set<string>) {
class="search-input" class="search-input"
/> />
<div class="search-actions"> <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 <button
class="clear-button" class="clear-button"
type="reset" type="reset"
@@ -516,7 +535,6 @@ function formMarkRegex(terms: Set<string>) {
</form> </form>
<ul <ul
v-if="!!results.length"
ref="resultsEl" ref="resultsEl"
:id="results?.length ? 'localsearch-list' : undefined" :id="results?.length ? 'localsearch-list' : undefined"
:role="results?.length ? 'listbox' : undefined" :role="results?.length ? 'listbox' : undefined"
@@ -543,21 +561,29 @@ function formMarkRegex(terms: Set<string>) {
> >
<div> <div>
<div class="titles"> <div class="titles">
<span class="title-icon">#</span>
<span <span
v-for="(t, index) in p.titles" v-for="(t, index) in p.titles"
:key="index" :key="index"
class="title" class="title"
> >
<span class="text" v-html="t" /> <span class="text" v-html="t" />
<span class="text"> > </span> <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> </span>
<span class="title main"> <span class="title main">
<span class="text" v-html="p.title" /> <span class="text" v-html="p.title" />
</span> </span>
</div> </div>
<span v-html="p.title" />
<div v-if="showDetailedList" class="excerpt-wrapper"> <div v-if="showDetailedList" class="excerpt-wrapper">
<div v-if="p.text" class="excerpt" inert> <div v-if="p.text" class="excerpt" inert>
<div class="vp-doc" v-html="p.text" /> <div class="vp-doc" v-html="p.text" />
@@ -568,21 +594,65 @@ function formMarkRegex(terms: Set<string>) {
</div> </div>
</a> </a>
</li> </li>
</ul> <li
<ul v-if="filterText && !results.length && enableNoResults"
v-else-if="filterText && !results.length && enableNoResults"
class="no-results" class="no-results"
> >
<p class="no-results-text"> {{ $t('modal.noResultsText') }} "<strong>{{ filterText }}</strong
{{ $t('modal.noResultsText') }} >"
</p> </li>
<button
class="no-results-button"
@click="retrySearch(searchIndex, filterText)"
>
Попробовать еще раз
</button>
</ul> </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>
</div> </div>
</div> </div>
</Teleport> </Teleport>
@@ -605,13 +675,16 @@ function formMarkRegex(terms: Set<string>) {
.shell { .shell {
position: relative; position: relative;
padding: 24px; padding: 12px;
margin: 64px auto; margin: 64px auto;
display: flex;
flex-direction: column;
gap: 16px;
background: var(--vp-local-search-bg); background: var(--vp-local-search-bg);
width: min(100vw - 60px, 900px); width: min(100vw - 60px, 900px);
height: min-content; height: min-content;
max-height: min(100vh - 128px, 900px); max-height: min(100vh - 128px, 900px);
border-radius: 12px; border-radius: 6px;
} }
@media (max-width: 767px) { @media (max-width: 767px) {
@@ -625,7 +698,7 @@ function formMarkRegex(terms: Set<string>) {
} }
.search-bar { .search-bar {
border: 1px solid rgb(32, 33, 35); border: 1px solid var(--vp-c-divider);
border-radius: 12px; border-radius: 12px;
display: flex; display: flex;
align-items: center; align-items: center;
@@ -639,6 +712,10 @@ function formMarkRegex(terms: Set<string>) {
} }
} }
.search-bar:focus-within {
border-color: var(--vp-c-brand-1);
}
.search-icon { .search-icon {
margin: 8px; margin: 8px;
} }
@@ -725,31 +802,27 @@ function formMarkRegex(terms: Set<string>) {
} }
.results { .results {
display: flex;
flex-direction: column;
gap: 6px;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
overscroll-behavior: contain; 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 { .result {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: 8px;
border-radius: 12px;
transition: none; transition: none;
line-height: 1rem;
border: solid 2px var(--vp-local-search-result-border);
outline: none; outline: none;
height: 66px;
} }
.result > div { .result > div {
margin: 12px 16px; margin: 12px;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
} }
@@ -767,13 +840,6 @@ function formMarkRegex(terms: Set<string>) {
position: relative; position: relative;
z-index: 1001; z-index: 1001;
padding: 2px 0; padding: 2px 0;
font-size: 13px !important;
line-height: 16px !important;
}
:deep(mark) {
background-color: transparent;
color: none;
} }
.title { .title {
@@ -786,10 +852,21 @@ function formMarkRegex(terms: Set<string>) {
font-weight: 500; font-weight: 500;
} }
.title-icon {
opacity: 0.5;
font-weight: 500;
color: var(--vp-c-brand-1);
}
.title svg { .title svg {
opacity: 0.5; 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 { .excerpt-wrapper {
position: relative; position: relative;
} }
@@ -815,7 +892,10 @@ function formMarkRegex(terms: Set<string>) {
.titles :deep(mark), .titles :deep(mark),
.excerpt :deep(mark) { .excerpt :deep(mark) {
background-color: transparent; background-color: var(--vp-local-search-highlight-bg);
color: var(--vp-local-search-highlight-text);
border-radius: 2px;
padding: 0 2px;
} }
.excerpt :deep(.vp-code-group) .tabs { .excerpt :deep(.vp-code-group) .tabs {
@@ -852,42 +932,12 @@ function formMarkRegex(terms: Set<string>) {
} }
.no-results { .no-results {
padding: 28px 0; font-size: 0.9rem;
display: flex; text-align: center;
flex-direction: column; padding: 12px;
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 { svg {
flex: none; flex: none;
} }
.text {
font-size: 13px !important;
line-height: 16px !important;
color: rgba(25, 28, 52, 0.48);
}
</style> </style>
@@ -12,7 +12,6 @@ import VPNavBarSearch from 'vitepress/dist/client/theme-default/components/VPNav
import VPNavBarSocialLinks from 'vitepress/dist/client/theme-default/components/VPNavBarSocialLinks.vue' import VPNavBarSocialLinks from 'vitepress/dist/client/theme-default/components/VPNavBarSocialLinks.vue'
import CustomNavBarTitle from './CustomNavBarTitle.vue' import CustomNavBarTitle from './CustomNavBarTitle.vue'
import VPNavBarTranslations from 'vitepress/dist/client/theme-default/components/VPNavBarTranslations.vue' import VPNavBarTranslations from 'vitepress/dist/client/theme-default/components/VPNavBarTranslations.vue'
import CustomButton from './CustomButton.vue'
defineProps<{ defineProps<{
isScreenOpen: boolean isScreenOpen: boolean
@@ -28,7 +27,6 @@ const { hasLocalNav } = useLocalNav()
const { frontmatter } = useData() const { frontmatter } = useData()
const classes = ref<Record<string, boolean>>({}) const classes = ref<Record<string, boolean>>({})
const loginUrl = import.meta.env.VITE_LOGIN_URL
watchPostEffect(() => { watchPostEffect(() => {
classes.value = { classes.value = {
@@ -57,9 +55,14 @@ watchPostEffect(() => {
<div class="content"> <div class="content">
<div class="content-body"> <div class="content-body">
<slot name="nav-bar-content-before" /> <slot name="nav-bar-content-before" />
<VPNavBarMenu class="menu" />
<VPNavBarSearch class="search" /> <VPNavBarSearch class="search" />
<!-- <CustomButton text="Войти" size="small" :href="loginUrl" /> --> <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')" />
</div> </div>
</div> </div>
</div> </div>
@@ -106,7 +109,7 @@ watchPostEffect(() => {
@media (min-width: 768px) { @media (min-width: 768px) {
.wrapper { .wrapper {
padding: 0 24px; padding: 0 32px;
} }
} }
@@ -175,7 +178,7 @@ watchPostEffect(() => {
position: relative; position: relative;
z-index: 1; z-index: 1;
padding-right: 32px; padding-right: 32px;
padding-left: 0px; padding-left: var(--vp-sidebar-width);
} }
} }
@@ -188,7 +191,7 @@ watchPostEffect(() => {
.content-body { .content-body {
display: flex; display: flex;
justify-content: space-between; justify-content: flex-end;
align-items: center; align-items: center;
height: var(--vp-nav-height); height: var(--vp-nav-height);
transition: background-color 0.5s; transition: background-color 0.5s;
@@ -222,10 +225,6 @@ watchPostEffect(() => {
height: 24px; height: 24px;
background-color: var(--vp-c-divider); background-color: var(--vp-c-divider);
content: ""; content: "";
font-weight: 500;
font-size: 15px;
line-height: 20px;
letter-spacing: 0.2px;
} }
.menu + .appearance::before, .menu + .appearance::before,
@@ -256,9 +255,4 @@ watchPostEffect(() => {
background-color: rgba(255, 255, 255, 0.2); background-color: rgba(255, 255, 255, 0.2);
} }
} }
.search {
justify-content: flex-end;
margin-right: 24px;
}
</style> </style>
@@ -3,16 +3,12 @@ import type { DefaultTheme } from 'vitepress/theme'
import { useData } from 'vitepress/dist/client/theme-default/composables/data' import { useData } from 'vitepress/dist/client/theme-default/composables/data'
import { isActive } from 'vitepress/dist/client/shared' import { isActive } from 'vitepress/dist/client/shared'
import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue' import VPLink from 'vitepress/dist/client/theme-default/components/VPLink.vue'
import { computed, ref } from 'vue'
defineProps<{ defineProps<{
item: DefaultTheme.NavItemWithLink item: DefaultTheme.NavItemWithLink
}>() }>()
const { page } = useData() const { page } = useData()
const textRef = ref<HTMLElement | null>(null)
const wrapperWidth = computed(() => textRef.value?.offsetWidth)
</script> </script>
<template> <template>
@@ -24,32 +20,22 @@ const wrapperWidth = computed(() => textRef.value?.offsetWidth)
page.relativePath, page.relativePath,
item.activeMatch || item.link, item.activeMatch || item.link,
!!item.activeMatch !!item.activeMatch
), )
disabled: !isActive(
page.relativePath,
item.activeMatch || item.link,
!!item.activeMatch
) && !item.link ? 'disabled' : '',
}" }"
:href="item.link" :href="item.link"
:target="item.target" :target="item.target"
:rel="item.rel" :rel="item.rel"
tabindex="0" tabindex="0"
> >
<span <span v-html="item.text"></span>
ref="textRef"
v-html="item.text"
/>
</VPLink> </VPLink>
</template> </template>
<style lang="scss" scoped> <style scoped>
@use '@beeline/design-tokens/scss/tokens/globals/colors';
.VPNavBarMenuLink { .VPNavBarMenuLink {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 24px; padding: 0 12px;
line-height: var(--vp-nav-height); line-height: var(--vp-nav-height);
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
@@ -59,32 +45,9 @@ const wrapperWidth = computed(() => textRef.value?.offsetWidth)
.VPNavBarMenuLink.active { .VPNavBarMenuLink.active {
color: var(--color-text-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 { .VPNavBarMenuLink:hover {
&::after {
display: block;
}
}
}
.disabled {
opacity: 0.45;
pointer-events: none;
}
.VPNavBarMenuLink:hover:not(.disabled) {
color: var(--color-text-active); color: var(--color-text-active);
} }
</style> </style>
@@ -14,6 +14,8 @@ const $t = createSearchTranslate(defaultTranslations)
</script> </script>
<template> <template>
<button type="button" class="DocSearch DocSearch-Button CustomDocSearch-Button" :aria-label="$t('button.buttonAriaLabel')">
<span class="DocSearch-Button-Container">
<svg <svg
class="DocSearch-Search-Icon" class="DocSearch-Search-Icon"
width="20" width="20"
@@ -30,6 +32,13 @@ const $t = createSearchTranslate(defaultTranslations)
stroke-linejoin="round" stroke-linejoin="round"
/> />
</svg> </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>
</template> </template>
<style> <style>
@@ -56,13 +65,156 @@ const $t = createSearchTranslate(defaultTranslations)
--docsearch-hit-shadow: none; --docsearch-hit-shadow: none;
} }
.DocSearch-Search-Icon { .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 {
position: relative; position: relative;
width: 18px; width: 16px;
height: 18px; height: 16px;
color: var(--vp-c-text-1); color: var(--vp-c-text-1);
fill: currentColor; fill: currentColor;
transition: color 0.5s; transition: color 0.5s;
margin: 8px; }
.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;
} }
</style> </style>
@@ -38,10 +38,10 @@ const target = computed(() =>
:target="target" :target="target"
> >
<slot name="nav-bar-title-before" /> <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-if="theme.siteTitle">{{ theme.siteTitle }}</template>
<template v-else-if="theme.siteTitle === undefined">{{ site.title }}</template> <template v-else-if="theme.siteTitle === undefined">{{ site.title }}</template>
<slot name="nav-bar-title-after" /> <slot name="nav-bar-title-after" />
<VPImage v-if="theme.logo" class="logo" :image="theme.logo" />
</a> </a>
</div> </div>
</template> </template>
@@ -53,13 +53,10 @@ const target = computed(() =>
border-bottom: 1px solid transparent; border-bottom: 1px solid transparent;
width: 100%; width: 100%;
height: var(--vp-nav-height); height: var(--vp-nav-height);
font-size: 25px; font-size: 16px;
font-weight: 500; font-weight: 600;
line-height: 28px; color: var(--vp-c-text-1);
color: var(--color-text-inactive);
transition: opacity 0.25s; transition: opacity 0.25s;
gap: 20px;
margin-right: 24px;
} }
@media (min-width: 960px) { @media (min-width: 960px) {
@@ -75,6 +72,7 @@ const target = computed(() =>
} }
:deep(.logo) { :deep(.logo) {
margin-right: 8px;
height: var(--vp-nav-logo-height); height: var(--vp-nav-logo-height);
} }
</style> </style>
@@ -60,8 +60,9 @@ watch(
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: var(--vp-z-index-sidebar); z-index: var(--vp-z-index-sidebar);
padding: 0px 0px 96px 0px; padding: 32px 32px 96px 32px;
width: 320px; width: 256px;
max-width: 320px;
background-color: var(--vp-sidebar-bg-color); background-color: var(--vp-sidebar-bg-color);
opacity: 0; opacity: 0;
box-shadow: var(--vp-c-shadow-3); box-shadow: var(--vp-c-shadow-3);
@@ -87,6 +88,8 @@ watch(
@media (min-width: 960px) { @media (min-width: 960px) {
.VPSidebar { .VPSidebar {
padding-top: var(--vp-nav-height); padding-top: var(--vp-nav-height);
// width: var(--vp-sidebar-width);
// max-width: 100%;
background-color: var(--vp-sidebar-bg-color); background-color: var(--vp-sidebar-bg-color);
opacity: 1; opacity: 1;
visibility: visible; visibility: visible;
@@ -95,6 +98,13 @@ 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) { @media (min-width: 960px) {
.curtain { .curtain {
position: sticky; position: sticky;
@@ -111,14 +121,17 @@ watch(
.nav { .nav {
outline: 0; outline: 0;
padding-top: 24px; }
width: 100%;
.group + .group {
border-top: 1px solid var(--vp-c-divider);
padding-top: 10px;
} }
@media (min-width: 960px) { @media (min-width: 960px) {
.group { .group {
width: 100%; padding-top: 10px;
width: calc(var(--vp-sidebar-width) - 64px);
} }
} }
</style> </style>
@@ -1,303 +1,11 @@
@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 *;
.custom-block { .custom-block {
padding: 24px; padding: 24px;
&-title { &-title {
font-size: 17px !important; font-size: 18px;
line-height: 22px !important; line-height: 22px;
font-weight: 700 !important; font-weight: 500;
letter-spacing: .2px !important; letter-spacing: .2px;
margin-bottom: 12px; 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,52 +1,10 @@
@use '@beeline/design-tokens/scss/tokens/components/navigationDrawer';
@use "@beeline/design-tokens/scss/tokens/globals/colors";
.VPDocAside { .VPDocAside {
.outline-link { .outline-link {
font-weight: 400; font-size: 16px;
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 { .outline-title {
font-size: 17px; font-size: 17px;
font-weight: 500; 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;
}
}
}
} }
} }
+15 -443
View File
@@ -1,7 +1,3 @@
@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) { @mixin font_style($fontSize, $fontWeight, $lineHeight, $letterSpacing) {
font-size: $fontSize; font-size: $fontSize;
font-weight: $fontWeight; font-weight: $fontWeight;
@@ -24,13 +20,13 @@
// Titles // Titles
h1 { h1 {
@include font_style(44px, 500, 56px, 0.3px); @include font_style(44px, 500, 46px, 0.3px);
margin-bottom: 24px; margin-bottom: 24px;
} }
h2 { h2 {
@include font_style(26px, 500, 32px, 0.2px); @include font_style(34px, 400, 36px, 0.3px);
margin: 40px 0 24px; margin-bottom: 12px;
} }
h3 { h3 {
@@ -53,8 +49,8 @@
list-style-type: none; list-style-type: none;
counter-reset: list; counter-reset: list;
margin: 0 0 0 50px; margin: 0 0 0 50px;
padding: 0; padding: 0 0 5px 0;
font-size: 15px; font-size: 16px;
& > * + * { & > * + * {
margin-top: 50px; margin-top: 50px;
@@ -65,19 +61,18 @@
ol li { ol li {
position: relative; position: relative;
padding: 8px 0 0 0; padding: 5px 0 0 0;
line-height: 18px; line-height: 1.4;
} }
li + li { li + li {
margin-top: 30px; margin-top: 50px;
} }
ul li { ul li {
padding-bottom: 0; padding-bottom: 0;
padding-top: 0; padding-top: 0;
margin-top: 8px; margin-top: 8px;
@include font_style(15px, 400, 18px, 0.2px);
} }
ol li:nth-last-of-type(n+2)::after { ol li:nth-last-of-type(n+2)::after {
@@ -87,7 +82,7 @@
line-height: 100%; line-height: 100%;
left: -30px; left: -30px;
top: 43px; top: 43px;
bottom: -25px; bottom: -30px;
} }
ol li::before { ol li::before {
@@ -99,9 +94,11 @@
left: -48px; left: -48px;
width: 35px; width: 35px;
height: 35px; height: 35px;
background-color: colors.$color-background-brand; background-color: #7e00ed;
color: themes.$color-text-active; color: #fff;
@include font_style(15px, 400, 18px, 0.2px); text-align: center;
line-height: 25px;
font-size: 16px;
border-radius: 50%; border-radius: 50%;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@@ -118,27 +115,17 @@
padding: 0; padding: 0;
} }
ol li:last-child {
margin-bottom: 40px;
}
ul li:last-child {
margin-bottom: 20px;
}
ol li p { ol li p {
margin-top: 0; margin-top: 0;
} }
p { p {
@include font_style(15px, 400, 18px, 0.2px); line-height: 22px;
margin: 24px 0;
} }
// Links // Links
a { a {
color: #1a73e8; color: #1a73e8;
text-decoration: none;
&:hover, &:focus-visible, &:focus, &:active { &:hover, &:focus-visible, &:focus, &:active {
color: #1a73e8; color: #1a73e8;
@@ -149,418 +136,3 @@
} }
} }
} }
// 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,116 +1,7 @@
@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 { .VPSidebar {
--vp-sidebar-bg-color: var(--vp-c-bg); &Item {
}
.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 { .text {
color: theme.$color-text-active !important; font-size: 15px;
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;
}
}
+6 -17
View File
@@ -111,7 +111,7 @@
:root { :root {
--vp-font-family-base: 'Beeline Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; --vp-font-family-base: 'Beeline Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
--vp-font-family-mono: 'JetBrains Mono', monospace; --vp-font-family-mono: 'Roboto Mono', monospace;
// Code // Code
// --vp-code-font-size: ; // --vp-code-font-size: ;
@@ -183,18 +183,16 @@
--vp-custom-block-code-font-size: 17px; --vp-custom-block-code-font-size: 17px;
--vp-custom-block-tip-border: transparent; --vp-custom-block-tip-border: transparent;
--vp-custom-block-tip-text: var(--vp-c-text-1); --vp-custom-block-tip-text: var(--vp-c-text-1);
--vp-custom-block-tip-bg: #f9f9f9; --vp-custom-block-tip-bg: #f1f1f3;
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
--vp-custom-block-warning-bg: #e3f2ff; --vp-custom-block-warning-bg: #fff4e1;
--vp-custom-block-warning-icon: #1a73e8; --vp-custom-block-danger-bg: #ffecef;
--vp-custom-block-danger-bg: #fff4e1;
--vp-custom-block-danger-icon: #ff9419;
} }
.dark { .dark {
--vp-custom-block-warning-bg: #132338; --vp-custom-block-warning-bg: #3d392a;
--vp-custom-block-tip-bg: #36383c; --vp-custom-block-tip-bg: #36383c;
--vp-custom-block-danger-bg: #3d392a; --vp-custom-block-danger-bg: #371313;
} }
/** /**
@@ -205,12 +203,3 @@
--docsearch-primary-color: var(--vp-c-brand-1) !important; --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;
}
+10
View File
@@ -0,0 +1,10 @@
---
section_links:
- title: Управление ключевыми парами
link: /admin/ssh.md
description: Добавление SSH-ключей для подключения к виртуальным машинам
---
# Аккаунт Beeline Cloud
Аккаунт Beeline Cloud создается при [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud. С помощью аккаунта можно управлять профилем пользователя.
-12
View File
@@ -1,12 +0,0 @@
---
section_links:
- title: Управление ключевыми парами
link: /admin/ssh.md
description: Добавление SSH-ключей для подключения к виртуальным машинам
---
# Администрирование
При [регистрации пользователя](../start/getting-started.md#1-регистрация-в-beeline-cloud) в Beeline Cloud создается аккаунт и проект в Beeline Cloud.
С помощью аккаунта можно управлять профилем пользователя - добавлять SSH-ключи, чтобы подключаться к виртуальным машинам без ввода пароля.
+4 -4
View File
@@ -10,7 +10,7 @@ SSH-ключ добавляется на этапе [создания вирту
## Добавить SSH-ключ ## Добавить SSH-ключ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу. 2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**. 3. Перейдите в раздел **SSH-ключи**.
4. Нажмите **Добавить ключ**. 4. Нажмите **Добавить ключ**.
@@ -31,14 +31,14 @@ SSH-ключ добавляется на этапе [создания вирту
## Посмотреть SSH-ключи ## Посмотреть SSH-ключи
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу. 2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**. 3. Перейдите в раздел **SSH-ключи**.
4. В таблице показаны SSH-ключи пользователя. 4. В таблице показаны SSH-ключи пользователя.
## Изменить название SSH-ключа ## Изменить название SSH-ключа
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу. 2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**. 3. Перейдите в раздел **SSH-ключи**.
4. Выберите нужный ключ. 4. Выберите нужный ключ.
@@ -48,7 +48,7 @@ SSH-ключ добавляется на этапе [создания вирту
## Удалить SSH-ключ ## Удалить SSH-ключ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Перейдите в профиль пользователя в правом верхнем углу. 2. Перейдите в профиль пользователя в правом верхнем углу.
3. Перейдите в раздел **SSH-ключи**. 3. Перейдите в раздел **SSH-ключи**.
4. Выберите нужный ключ. 4. Выберите нужный ключ.
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 347 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 325 KiB

After

Width:  |  Height:  |  Size: 325 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

-15
View File
@@ -1,15 +0,0 @@
---
section_links:
- title: Квоты и лимиты
link: /backups/backup-quatos.md
description: Ограничения на количество ресурсов в сервисе
---
# О сервисе
Резервное копирование — это сервис для сохранения данных и конфигураций виртуальных машин с возможностью последующего восстановления. В облачной среде резервные копии позволяют вернуть систему в рабочее состояние после сбоя и поддерживать доступность сервисов.
Резервное копирование подключается:
- для [виртуальных машин, развернутых в Beeline Cloud](./backup-internal-infra.md);
- для [собственной инфраструктуры](./backup-external-infra.md).
-54
View File
@@ -1,54 +0,0 @@
# Резервное копирование собственной инфраструктуры в 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.
-56
View File
@@ -1,56 +0,0 @@
# Резервное копирование виртуальных машин 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.
-27
View File
@@ -1,27 +0,0 @@
# Квоты и лимиты
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
### Бесплатный период
В [бесплатном периоде](../start/trial.md) использования Beeline Cloud установлены квоты на ресурсы сервиса:
| Вид ограничения | Значение |
| ------------------- | -------- |
| Количество хранилищ | 1 |
| Количество виртуальных машин | 5 |
| Объем хранилища | 1 ПБ |
### Платное использование
| Вид ограничения | Значение |
| ------------------- | ------------- |
| Количество хранилищ | Неограниченно |
| Количество виртуальных машин | 999 |
| Объем хранилища | 1 ПБ |
Если вы заключили договор с Beeline Cloud, то объем хранилища и количество ВМ можно увеличить. Для этого обратитесь в [техническую поддержку](../platform/support/support-overview.md).
-17
View File
@@ -1,17 +0,0 @@
---
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: Просмотр ресурсов, к которым подключено резервное копирование
---
# Резервное копирование
-30
View File
@@ -1,30 +0,0 @@
# Каталог резервных копий
## Посмотреть каталог резервных копий
Чтобы посмотреть, к каким ресурсам у подключено резервное копирование:
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Резервное копирование**.
4. Откроется каталог резервных копий.
## Посмотреть детали подключенного резервного копирования
1. Выберите из каталога резервную копию.
2. Откроется карточка услуги резервного копирования. В карточке отображаются:
- Цена услуги,
- Подключенная инфраструктура,
- Тип управления,
- ПО, используемое для резервного копирования,
- Тенант,
- Объем хранилища.
:::tip Информация
В карточке услуги отображаются только параметры, выбранные при первичном подключении резервного копирования.
Если изменить параметры резервного копирования в ПО Киберпротект, Veeam Cloud Connect или Veeam Agent, данные в консоли Beeline Cloud не обновятся. Но стоимость услуг формируется согласно объему использованных ресурсов в ПО Киберпротект, Veeam Cloud Connect или Veeam Agent.
:::
-21
View File
@@ -1,21 +0,0 @@
# Биллинг
Биллинг предназначен для управления финансовыми операциями в Beeline Cloud. В биллинге вы можете:
- контролировать счета;
- отслеживать платежи;
- анализировать потребление ресурсов.
## Разделы биллинга
### Счета
В этом разделе отображаются все выставленные счета, их статусы и суммы. Вы можете посмотреть детали каждого счета и скачать документы для бухгалтерии.
### Финансовый мониторинг
В этом разделе вы можете отслеживать движение средств, контролировать платежи и задолженности.
### Аналитика потребления
В этом разделе вы можете создавать отчеты и строить графики, чтобы отследить использование ресурсов за выбранный период.
View File
View File
+1
View File
@@ -0,0 +1 @@
# Биллинг
-17
View File
@@ -1,17 +0,0 @@
# Аналитика потребления
В этом разделе вы можете отследить использование ресурсов в проектах. Это может помочь вам контролировать расходы на сервисы.
Вы можете:
- Узнать какие проекты потребляют больше всего ресурсов.
- Сравнить использование за разные периоды.
## Как пользоваться
1. В поле **Проект** выберите один или `все проекты`.
2. В поле **Сервис** укажите нужный сервис, например, **Виртуальные дата-центры на VMware**.
3. В поле Ресурсы выберите «Все ресурсы» или конкретный тип.
4. Установите период с помощью календаря.
После этого появится отчет. Если данных нет, попробуйте изменить период, выбрать другой проект или ресурс.
+23 -114
View File
@@ -1,129 +1,38 @@
# Быстрый старт # Быстрый старт
В этой инструкции рассмотрен процесс создания ресурсов, настройки связанности ,. В этой инструкции рассмотрен процесс создания виртуального ВМа UNIX и подключение к нему по протоколу SSH.
## Перед началом работы ## Создать виртуальный ВМ
- [Зарегистрируйтесь](../start/getting-started.md#1-регистрация-в-beeline-cloud) в личном кабинете Beeline Cloud. 1. Отк
2. Выбрать проект.
3. На странице **Обзор** убедитесь в наличии свободных ресурсов.
4. Нажмите **Создать ВМ**.
5. Выберите образ ОС UNIX.
6.
7. Нажмите **Cоздать ВМ**.
## 1. Создать ВМ-шлюз Виртуальный ВМ отобразится на странице **Облачные вычисления → ВМы**. Выполняется сборка виртуального ВМа. После окончания сборки ВМ перейдет в статус `Включен`.
На первом шаге создайте виртуальную машину-шлюз, которая будет являться точкой управления. Чтобы ВМ была доступна из интернета и имела выход в интернет, ВМ создается: ## Подключиться к ВМу по SSH
- в [зоне доступности](compute-overview.md#зоны-доступности) `DMZ`; Для подключения к виртуальному ВМу по SSH выполните команду в терминале:
- с внешним IP-адресом, который сопоставлен с внутренним IP-адресом `10.0.0.10`;
- с образом операционной системы:
- Linux для реализации базовой сетевой функциональности;
- VyOS для реализации расширенной сетевой функциональности.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). - по IP-адресу ВМа:
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 <логин>@<внешний_IP> ssh -l <логин пользователя> -i <путь до приватного ключа> <IP-адрес ВМа>
```
- по полному доменному имени ВМа (FQDN):
```
ssh -l <логин пользователя> -i <путь до приватного ключа> <FQDN ВМа>
``` ```
где: Пример команды подключения к ВМу по IP-адресу:
- `логин`: имя пользователя для входа на ВМ, указанное при создании ВМ; ```
- `внешний_IP`: внешний IP-адрес виртуальной машины. $ ssh -l ivanov -i /home/user/.ssh/id_rsa 10.0.0.1
= по внутреннему 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://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**. 4. В левом меню откройте раздел **Группы размещения**.
@@ -40,7 +40,7 @@
В группе размещения можно изменить название группы и редактировать теги. В группе размещения можно изменить название группы и редактировать теги.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**. 4. В левом меню откройте раздел **Группы размещения**.
@@ -57,7 +57,7 @@
## Удалить группу размещения ## Удалить группу размещения
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Группы размещения**. 4. В левом меню откройте раздел **Группы размещения**.
@@ -1,14 +0,0 @@
---
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 с помощью логина и пароля
---
# Подключение к ВМ
@@ -1,70 +0,0 @@
# Подключение по 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
```
@@ -1,49 +0,0 @@
# Подключение по SSH по внешнему IP-адресу с помощью ключевой пары
Подключение к ВМ выполняется по протоколу SSH с [помощью ключевой пары](../../admin/ssh.md).
:::tip Информация
Чтобы подключаться к виртуальной машине по SSH, [добавьте](../../admin/ssh.md#добавить-ssh-ключ) публичную часть ключа в профиль пользователя перед созданием виртуальной машины. Для существующих виртуальных машин добавление SSH-ключа невозможно.
:::
## Перед началом работы
Перед подключением проверьте выполнение условий и наличие данных:
- Статус виртуальной машины — `Включена`.
- Виртуальной машине [назначен](../compute-how-to/compute-ip.md#назначить-вм-внешний-ip-адрес) внешний IP-адрес.
- Узнайте имя пользователя для входа на ВМ.
- Приватная часть SSH-ключа сохранена на компьютере, с которого выполняется подключение.
## Подключиться к ВМ
1. Откройте терминал.
2. Выполните команду в терминале:
```
ssh <логин>@<внешний_IP>
```
где:
- `логин`: [имя пользователя ОС по умолчанию](./../compute-overview.md#операционная-система);
- `внешний_IP`: внешний IP-адрес виртуальной машины.
- Если на вашем устройстве есть несколько приватных ключей или вы переместили приватный ключ из каталога по умолчанию, то дополнительно укажите путь к приватному ключу:
```
ssh -o IdentityFile=<путь_к_приватному_ключу> <логин>@<внешний_IP>
```
3. Подтвердите подключение.
## Пример команды для подключения к ВМ
::::tabs
= Linux/macOS
```
ssh -o IdentityFile=~/.ssh/id_ed25519 debian@<внешний_IP>
```
= Windows 10/11
```
ssh -o IdentityFile=%USERPROFILE%\.ssh\id_ed25519 debian@<внешний_IP>
```
::::
@@ -1,44 +0,0 @@
# Подключение по 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).
::::
@@ -0,0 +1,36 @@
# Подключение к ВМ
Подключение к ВМ выполняется по протоколу 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 -8
View File
@@ -8,14 +8,14 @@
## Посмотреть список дисков ## Посмотреть список дисков
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**. 4. В левом меню откройте раздел **Диски**.
## Посмотреть информацию о диске ## Посмотреть информацию о диске
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**. 4. В левом меню откройте раздел **Диски**.
@@ -32,7 +32,7 @@
Создать диск дополнительный (не загрузочный): Создать диск дополнительный (не загрузочный):
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**. 4. В левом меню откройте раздел **Диски**.
@@ -52,7 +52,7 @@
Изменение размера дискового пространства возможно только в большую сторону. Изменение размера дискового пространства возможно только в большую сторону.
::: :::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**. 4. В левом меню откройте раздел **Диски**.
@@ -68,10 +68,10 @@
При подключении диск и ВМ должны быть созданы в одной зоне доступности. При подключении диск и ВМ должны быть созданы в одной зоне доступности.
::: warning Важно ::: warning Важно
К ВМ можно подключить максимально 28 дисков, включая загрузочный. К ВМ можно подключить максимально 28 дисков, включая системный.
::: :::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -85,7 +85,7 @@
Отключить от ВМ можно только дополнительный диск. Отключение загрузочного диска невозможно. Отключить от ВМ можно только дополнительный диск. Отключение загрузочного диска невозможно.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -104,7 +104,7 @@
Удаление диска необратимо. Все данные будут удалены без возможности восстановления. Удаление диска необратимо. Все данные будут удалены без возможности восстановления.
::: :::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Диски**. 4. В левом меню откройте раздел **Диски**.
+5 -6
View File
@@ -2,16 +2,15 @@
section_links: section_links:
- title: Создание ВМ - title: Создание ВМ
link: /compute/compute-how-to/compute-servers-create.md 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: Подключение к ВМ - title: Подключение к ВМ
link: /compute/compute-how-to/compute-connect-index.md link: /compute/compute-how-to/compute-connect.md
description: Подключиться к созданной виртуальной машине по SSH description: Подключиться к созданной виртуальной машине
- title: Управление ВМ - title: Управление ВМ
link: /compute/compute-how-to/compute-servers-manage.md link: /compute/compute-how-to/compute-servers-manage.md
description: Управление состоянием виртуальной машины, удаление виртуальной машины description: Управление состоянием виртуальной машины, удаление виртуальной машины
--- ---
# Виртуальные машины # Виртуальные машины
Создание виртуальных машин с операционной системой семейства Linux и подключение к ней. Управление состоянием ВМ.
+23 -48
View File
@@ -1,24 +1,28 @@
# IP-адрес # IP-адрес
Каждая виртуальная машина при создании получает IP-адрес. В сервисе поддерживаются только IPv4-адреса. IP-адрес — это вычислительный ресурс облака. В облачных сервисах используются внутренние IPv4-адреса.
## Внутренние IP-адреса Внутренние IP-адреса назначаются автоматически или выбираются из списка зарезервированных адресов при создании ВМ.
Внутренний IP-адрес используется для взаимодействия между ВМ внутри одной сети. Внутренний IP-адрес не виден из интернета. Список зарезервированных адресов формируется из:
- IP-адресов, [созданных вручную](#создать-ip-адрес);
- IP-адресов, [сохраненных в проекте](#сохранить-ip-адрес-в-проекте).
Внутренний IP-адрес назначается виртуальной машине автоматически или выбираются из списка зарезервированных адресов при ее создании. ::: warning Важно
Привязка и отвязка IP-адресов возможна внутри одной [зоны доступности](../compute-overview.md#зоны-доступности).
:::tip Информация
Виртуальная машина доступна из интернета только через внешний IP-адрес. Для доступа из интернета к виртуальной машине по внутреннему IP-адресу используйте виртуальную машину с внешним IP-адресом как джамп-хост.
::: :::
## Внешние IP-адреса ## Типы IP-адресов
Внешний IP-адрес — это IP-адрес, который доступен из интернета. Внешний IP-адрес выдается организации при регистрации аккаунта Beeline Cloud. `Публичный` IP-адрес, по которому ВМ доступна из интернета.
В сервисе **Виртуальные машины** предусмотрен один внешний IP-адрес (Floating IP или FIP), сопоставленный с внутренним IP-адрес `10.0.0.10`. Значение внешнего IP-адреса можно [посмотреть](#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**. `Приватный` — IP-адрес, по которому ВМ доступна в [зоне `Inside`](../compute-overview.md#зоны-доступности).
Чтобы ВМ без ограничений была доступна из интернета и получала доступ к ресурсам интернета, ей должен быть присвоен внешний IP-адрес. Внешний IP-адрес [назначается](#назначить-вм-внешний-ip-адрес) виртуальной машине при ее создании. Существующей ВМ назначить внешний IP-адрес нельзя. ::: warning Важно
Один публичный IP-адрес предоставляется одной организации. Не удаляйте публичный IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
Публичный IP-адрес можно отвязать от ВМ и назначить другой ВМ.
:::
## Статусы IP-адресов ## Статусы IP-адресов
@@ -28,7 +32,7 @@
## Посмотреть список IP-адресов ## Посмотреть список IP-адресов
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**. 4. В левом меню откройте раздел **IP-адреса**.
@@ -38,7 +42,7 @@
Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ. Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**. 4. В левом меню откройте раздел **IP-адреса**.
@@ -49,38 +53,13 @@
- добавьте тег адресу при необходимости. - добавьте тег адресу при необходимости.
7. Нажмите **Создать**. 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-адрес ВМ и привязать этот адрес новой ВМ, то отключите автоудаление адреса. IP-адрес сохранится в вашем проекте и может быть назначен новой ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**. 4. В левом меню откройте раздел **IP-адреса**.
@@ -91,9 +70,9 @@
## Присвоить имя IP-адресу ## Присвоить имя IP-адресу
Имя IP-адреса отображается только на странице **Виртуальные машины → IP-адреса**. На параметрах виртуальной машины отображается значение IP-адреса. Имя IP-адреса отображается только на странице **Облачные вычисления → IP-адреса**. На странице ВМ отображается значение IP-адреса.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**. 4. В левом меню откройте раздел **IP-адреса**.
@@ -104,15 +83,11 @@
## Удалить IP-адрес ## Удалить IP-адрес
:::warning Важно
Не удаляйте внешний IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
:::
Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ. Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ.
Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную: Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную:
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **IP-адреса**. 4. В левом меню откройте раздел **IP-адреса**.
@@ -1,12 +0,0 @@
---
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, и установка ПО на ВМ
---
# Сети
@@ -1,122 +0,0 @@
# Подключение ВМ закрытого контура к интернету
В зависимости от доступов ВМ в Интернет или 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
```
@@ -1,290 +0,0 @@
# Настройка 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 на виртуальную машину согласно официальной документации.
![Схема](./image/ipsec.svg)
## 1. Посмотреть IP-адреса
Для настройки VPN-туннеля необходимо узнать публичный и внутренний IP-адреса виртуальных машин, на которых конфигурируется маршрутизатор VyOS.
В руководстве используются следующие значения IP-адресов виртуальных машин с ОС VyOS:
| IP-адрес | **beeline cloud** | **customer site** |
|---|---|---|
| публичный IP | 77.41.188.88 | 77.41.188.163 |
| внутренний IP | 10.0.0.10 | 172.16.0.10 |
### Узнать публичный IP-адрес маршрутизатора
Для маршрутизатора на стороне **customer site** IP-адреса можно узнать c помощью команд:
- для публичного IP-адреса:
```sh
curl ifconfig.me
```
- для внутреннего IP-адреса:
```sh
ip a
```
Для маршрутизатора на стороне **beeline cloud** публичный IP-адрес можно узнать на странице сервиса **Виртуальные машины** в разделе **IP-адреса**.
IP-адрес `10.0.0.10` является внутренним и сопоставляется с публичным IP-адресом (Floating IP или FIP). Значение публичного IP-адреса указано в поле **Имя** в разделе **IP-адреса**. По публичному IP-адресу можно подключиться к маршрутизатору VyOS по SSH.
## 2. Сгенерировать ключевые пары
1. Выполните команды для генерации ключевых пар на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
- Откройте терминал и подключитесь к маршрутизатору VyOS сети **beeline cloud** по публичному IP-адресу:
```bash
ssh vyos@77.41.188.88
```
- Перейдите в режим конфигурирования:
```bash
configure
```
- Сгнерируйте сертификаты для аутентификации, во время выполнения команды согласитесь со всеми значениями по умолчанию, нажав `Enter`:
```bash
run generate pki key-pair install 'beeline-cloud'
show pki key-pair 'beeline-cloud' public
```
Результатом команды будет публичный ключ.
= customer site
- Откройте еще один терминал и подключитесь к ВМ с VyOS **customer site** по внутреннему IP-адресу:
```bash
ssh vyos@172.16.0.10
```
- Перейдите в режим конфигурирования:
```bash
configure
```
- Сгнерируйте сертификаты для аутентификации, во время выполнения команды согласитесь со всеми значениями по умолчанию, нажав `Enter`:
```bash
run generate pki key-pair install 'customer-site'
show pki key-pair 'customer-site' public
```
Результатом команды будет публичный ключ.
::::
2. Публичные ключи, полученные на шаге 1, необходимо перекрестно добавить на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set pki key-pair 'customer-site' public key 'FAAOCAQ8AMII...' # - ключ из customer site
```
= customer site
```bash
set pki key-pair 'beeline-cloud' public key 'MIIBIjANBgkqh...' # - ключ из beeline cloud
```
::::
## 3. Настроить IPSEC
1. Выберите сетевой интерфейс, на котором будет настраиваться IPSEC-туннель, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set vpn ipsec interface eth1
```
= customer site
- Узнайте имя сетевого интерфейса на маршрутизаторе, на котором будет настраиваться IPSEC:
```bash
show interfaces
```
- Настройте интерфейс IPSEC:
```bash
set vpn ipsec interface <имя_сетевого_интерфейса>
```
::::
2. Для настройки IPSEC-туннеля используется протокол IKE набора протоколов IPSEC, который имеет две фазы.
- для настройки первой фазы выполните команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
set vpn ipsec ike-group aes256-sha256 dead-peer-detection action 'restart'
set vpn ipsec ike-group aes256-sha256 dead-peer-detection interval '30'
set vpn ipsec ike-group aes256-sha256 dead-peer-detection timeout '120'
set vpn ipsec ike-group aes256-sha256 key-exchange 'ikev2'
set vpn ipsec ike-group aes256-sha256 lifetime '3600'
set vpn ipsec ike-group aes256-sha256 proposal 1 dh-group '19'
```
- для настройки второй фазы выполните команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
set vpn ipsec esp-group aes256-sha256 proposal 1 encryption aes256
set vpn ipsec esp-group aes256-sha256 proposal 1 hash sha256
set vpn ipsec esp-group aes256-sha256 lifetime '28800'
set vpn ipsec esp-group aes256-sha256 mode 'tunnel'
set vpn ipsec esp-group aes256-sha256 pfs 'dh-group19'
```
3. Настройте пиры и аутентификацию с использованием [публичных ключевых пар](#2-сгенерировать-ключевые-пары), выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication mode 'rsa'
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication rsa local-key 'beeline-cloud'
set vpn ipsec site-to-site peer CUSTOMER-SITE authentication rsa remote-key 'customer-site'
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication mode 'rsa'
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication rsa local-key 'customer-site'
set vpn ipsec site-to-site peer BEELINE-CLOUD authentication rsa remote-key 'beeline-cloud'
```
::::
4. Настройте для пиров адреса подключения, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
На этом шаге [укажите ваши значения IP-адресов](#1-посмотреть-ip-адреса) виртуальных машин с VyOS.
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE ike-group 'aes256-sha256'
set vpn ipsec site-to-site peer CUSTOMER-SITE local-address '10.0.0.10'
set vpn ipsec site-to-site peer CUSTOMER-SITE remote-address '77.41.188.163'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 esp-group 'aes256-sha256'
set vpn ipsec site-to-site peer CUSTOMER-SITE default-esp-group 'aes256-sha256'
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD ike-group 'aes256-sha256'
set vpn ipsec site-to-site peer BEELINE-CLOUD local-address '172.16.0.10'
set vpn ipsec site-to-site peer BEELINE-CLOUD remote-address '77.41.188.88'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 esp-group 'aes256-sha256'
set vpn ipsec site-to-site peer BEELINE-CLOUD default-esp-group 'aes256-sha256'
```
::::
5. Настройте статические маршруты, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
Для примера, в **customer site** используется сеть с адресом `172.16/16`, в **beeline cloud** — две сети: `10/8` и `192.168/16`.
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 local prefix '10.0.0.0/8'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 local prefix '192.168.0.0/16'
set vpn ipsec site-to-site peer CUSTOMER-SITE tunnel 0 remote prefix '172.16.0.0/16'
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 local prefix '172.16.0.0/16'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 remote prefix '10.0.0.0/8'
set vpn ipsec site-to-site peer BEELINE-CLOUD tunnel 0 remote prefix '192.168.0.0/16'
```
::::
6. Укажите *инициатора* и *ответчика*, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
:::: tabs
= beeline cloud
```bash
set vpn ipsec site-to-site peer CUSTOMER-SITE connection-type respond
```
= customer site
```bash
set vpn ipsec site-to-site peer BEELINE-CLOUD connection-type initiate
```
::::
7. Сохраните конфигурации, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
save
```
8. Примените конфигурации, выполнив команду на маршрутизаторах в сети **beeline cloud** и в сети **customer site**:
```bash
commit
```
## 4. Проверить соединение
Выполните команду на любом из маршрутизаторов в сети **beeline cloud** или в сети **customer site**:
```bash
run show vpn ipsec status
ping -c 3 172.16.0.10
ping -c 3 10.0.0.10
```
## Диагностика неисправностей
Если во время применения конфигурации команда `commit` завершится с ошибкой, то попробуйте выполнить команды для диагностики неисправностей.
Основные команды для диагностики проблем:
- `run show vpn ipsec status`
- `run show vpn ipsec state`
- `run show vpn ipsec sa`
- `run show vpn ipsec policy`
- `run show log vpn`
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 46 KiB

@@ -1,49 +1,45 @@
# Создание виртуальной машины # Создание виртуальные машины
## Создать виртуальную машину ## Создать виртуальную машину
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите **Создать виртуальную машину**. 5. Нажмите **Создать виртуальную машину**.
6. В блоке **Имя и расположение** укажите имя и расположение ВМ: 6. В блоке **Имя и расположение** укажите имя и расположение ВМ:
- **Имя машины**: введите название ВМ по правилам: - **Имя машины**: введите название ВМ:
- длина от 3 до 63 символов; - допустимая длина 63 символа с учетом зоны DNS проекта;
- используйте только строчные латинские буквы, цифры и дефис;
- не используйте дефис в начале или в конце имени.
- **Зона доступности**: выберите подходящую [зону доступности](../compute-overview.md#зоны-доступности). - **Зона доступности**: выберите подходящую [зону доступности](../compute-overview.md#зоны-доступности).
7. В блоке **Образ загрузочного диска** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система). - Укажите количество создаваемых ВМ.
8. В блоке **Конфигурация** выберите количество vCPU и RAM. Наборы ресурсов заранее скомпонованы по оптимальным параметрам. 7. В блоке **Выбор образа** выберите [тип и версию операционной системы](./../compute-overview.md#операционная-система).
8. В блоке **Конфигурация** выберите количество ОЗУ и ЦПУ. Наборы ресурсов заранее скомпонованы по оптимальным параметрам.
::: tip Информация ::: tip Информация
При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество RAM. При выборе ресурсов рекомендуется в первую очередь ориентироваться на требуемое количество ОЗУ.
::: :::
9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски: 9. В блоке **Диски** настройте загрузочный диск и, при необходимости, добавьте дополнительные диски:
- **Загрузочный диск**: выберите [тип диска](../compute-overview.md#диски) и укажите размер загрузочного диска. - **Загрузочный диск**: выберите тип хранения и укажите размер загрузочного диска.
- Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавить диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже. - Рекомендуется создать дополнительный диск для размещения ваших данных: нажмите **Добавьте диск** и настройте дополнительный диск. [Дополнительный диск можно создать](#добавить-диск) позже.
10. В блоке **Доступ** укажите логин пользователя для подключения к ВМ:
- **Логин**: введите логин пользователя по правилам:
- длина от 1 до 32 символов;
- используйте только строчные латинские буквы, цифры и символы: дефис, подчеркивание и точку;
- не используйте дефис и точку в начале;
- не используйте дефис в конце имени.
- выберите один из способов подключения к ВМ:
- **SSH-ключ**: выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
- **Пароль**: придумайте пароль для подключения к ВМ.
::: warning Важно ::: warning Важно
Обязательно сохранить пароль. В дальнейшем сменить и восстановить пароль невозможно. К ВМ можно подключить не более 28 дисков, включая загрузочный.
:::
10. Выберите SSH-ключи, с помощью которых вы можете подключаться к ВМ по SSH. Если подходящий SSH-ключ отсутствует, то нажмите [**Создать ключ**](../../admin/ssh.md#создать-ssh-ключ).
11. В блоке **Настройки сети** выберите:
- **IPv4-адрес**: выберите способ получения внутреннего IP-адреса для ВМ:
- выберите **Автоматически**, чтобы получить IP-адрес автоматически;
- выберите адрес из списка. В списке адресов отображаются [созданные вручную IP-адреса](compute-ip.md#создать-ip-адрес) и [сохраненные IP-адреса](compute-ip.md#сохранить-ip-адрес-в-проекте), которые доступны для переиспользования.
::: warning Важно
Вашей организации предоставлен один [публичный IP-адрес](compute-ip.md#типы-адресов). Назначьте публичный IP-адрес ВМ, создаваемой в DMZ-зоне, и получите доступ из интернета к виртуальным машинам.
::: :::
11. В блоке **Настройка сети** выберите:
- **IPv4-адрес**: выберите способ получения IP-адреса для ВМ:
- выберите **Внутренний (назначится автоматически)**, чтобы получить IP-адрес автоматически, автоматически назначаются [внутренние IP-адреса](compute-ip.md#внутренние-ip-адреса);
- выберите адрес из списка. В списке адресов отображается [зарезервированные IP-адреса](compute-ip.md#статусы-ip-адресов).
12. В блоке **Размещения** выберите: 12. В блоке **Размещения** выберите:
- **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](compute-affinity.md) создайте заранее. - **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](compute-affinity.md) создайте заранее.
13. Включите опцию **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ. 13. Установите флажок **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
14. Нажмите **Создать виртуальную машину**. 14. Нажмите **Создать виртуальную машину**.
ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](compute-ip.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`. ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](compute-ip.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`.
Виртуальная машина будет создана с `root`-правами.
## Добавить диск ## Добавить диск
Добавление дополнительного диска к ВМ состоит из двух шагов: Добавление дополнительного диска к ВМ состоит из двух шагов:
@@ -1,51 +0,0 @@
# Создание ВМ джамп-хоста
Промежуточная ВМ (джамп-хост) — это виртуальная машина с внешним 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,24 +2,22 @@
## Посмотреть список ВМ ## Посмотреть список ВМ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
## Посмотреть свойства ВМ ## Посмотреть свойства ВМ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
5. Нажмите на имя ВМ. 5. Нажмите на имя ВМ.
6. На вкладке **Общая информация** показана информация о ВМ: 6. На вкладке **Общая информация** показана информация о ВМ:
- **Логин**: логин пользователя для подключения к ВМ.
- **Зона доступности**: [зона доступности](./../compute-overview.md#зоны-доступности) ВМ.
- **Идентификатор**: уникальный идентификатор ВМ. - **Идентификатор**: уникальный идентификатор ВМ.
- **Внутренний FQDN**: полное доменное имя ВМ. - **Внутренний FQDN**: полное доменное имя ВМ.
- **Внутренний IP-адрес**:внутренний IP-адрес, присвоенный ВМ. - **IPv4 адрес**:внутренний IP-адрес, присвоенный ВМ.
- **Образ**: операционная система, установленная на ВМ. - **Образ**: операционная система, установленная на ВМ.
- **Конфигурация**: конфигурация ЦПУ и ОЗУ. - **Конфигурация**: конфигурация ЦПУ и ОЗУ.
- **Группа размещения**: группа размещения ВМ. - **Группа размещения**: группа размещения ВМ.
@@ -32,7 +30,7 @@
У ВМ можно изменить конфигурацию ЦПУ и ОЗУ: увеличить или уменьшить количество вычислительных ресурсов. Выбор конфигурации предоставляется из линейки доступных тарифов. У ВМ можно изменить конфигурацию ЦПУ и ОЗУ: увеличить или уменьшить количество вычислительных ресурсов. Выбор конфигурации предоставляется из линейки доступных тарифов.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -48,7 +46,7 @@
Выключение ВМ не предполагает освобождение вычислительных ресурсов, зарезервированных за этим ВМ. Выключение ВМ не предполагает освобождение вычислительных ресурсов, зарезервированных за этим ВМ.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -67,7 +65,7 @@
## Включить ВМ ## Включить ВМ
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -86,7 +84,7 @@
Перезагрузка ВМ предполагает корректное завершение работы операционный системы без отключения питания. Перезагрузка ВМ предполагает корректное завершение работы операционный системы без отключения питания.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -107,7 +105,7 @@
Принудительная перезагрузка ВМ предполагает аппаратное выключение и включение. Несохраненные данные могут быть потеряны. Принудительная перезагрузка ВМ предполагает аппаратное выключение и включение. Несохраненные данные могут быть потеряны.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
@@ -144,7 +142,7 @@ IP-адрес будет удален вместе с ВМ. Чтобы оста
Удаление ВМ необратимо. Все данные будут удалены без возможности восстановления. Удаление ВМ необратимо. Все данные будут удалены без возможности восстановления.
::: :::
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Войдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. Выберите нужный проект в верхнем меню **Проекты**. 2. Выберите нужный проект в верхнем меню **Проекты**.
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**. 3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
4. В левом меню откройте раздел **Виртуальные машины**. 4. В левом меню откройте раздел **Виртуальные машины**.
-11
View File
@@ -1,11 +0,0 @@
---
section_links:
- title: Техническое описание
link: /compute/compute-overview.md
description: Информация о зонах доступности, физических платформах сервиса
- title: Квоты и лимиты
link: /compute/compute-quatos.md
description: Ограничения на количество ресурсов в сервисе
---
# Обзор сервиса
+66 -54
View File
@@ -1,4 +1,6 @@
# Техническое описание # Обзор сервиса
Виртуальные машины — сервис для создания и управления виртуальными машинами.
## Виртуальная машина ## Виртуальная машина
@@ -8,67 +10,24 @@
- количество CPU; - количество CPU;
- объем RAM; - объем 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` и `DMZ`. Доступ из интернета к виртуальным машинам, созданным в зоне `Inside` осуществляется:
- `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 ГБ |
## Группы виртуальных машин
Группу виртуальных машин внутри одной зоны доступности можно объединить в соответствии с определенной политикой размещения. Доступны политики: Группу виртуальных машин внутри одной зоны доступности можно объединить в соответствии с определенной политикой размещения. Доступны политики:
@@ -79,3 +38,56 @@
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста. - Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
- Правило `Soft-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 |-->
-37
View File
@@ -1,37 +0,0 @@
# Квоты и лимиты
Квоты — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
Лимиты — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
| Вид ограничения | Значение |
|---|---|
|Количество публичных 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 |
+2 -2
View File
@@ -1,10 +1,10 @@
--- ---
section_links: section_links:
- title: Обзор сервиса - title: Обзор сервиса
link: /compute/compute-overview-index.md link: /compute/compute-overview.md
description: Обзор сервиса, решаемые задачи, характеристики оборудования description: Обзор сервиса, решаемые задачи, характеристики оборудования
- title: Виртуальные машины - title: Виртуальные машины
link: /compute/compute-how-to/compute-index.md link: /compute/compute-how-to/compute-Index.md
description: Создание виртуальной машины и подключение к ней, управление виртуальной машиной description: Создание виртуальной машины и подключение к ней, управление виртуальной машиной
- title: Диски - title: Диски
link: /compute/compute-how-to/compute-disks.md link: /compute/compute-how-to/compute-disks.md
-39
View File
@@ -1,39 +0,0 @@
# 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.
+10 -9
View File
@@ -12,14 +12,14 @@ features:
- title: Начало работы - title: Начало работы
icon: coffee icon: coffee
link: /start/index link: /start/index
- title: Облачная платформа - title: Обзор платформы
icon: tv_modern icon: tv_modern
link: /platform/index link: /platform/index
- title: Сервисы - title: Сервисы
scroll_to: "#home-services-section-title" scroll_to: "#home-services-section-title"
icon: cloud icon: cloud
- title: Администрирование - title: Администрирование
link: /admin/index link: ''
icon: profile_circled icon: profile_circled
items: [ items: [
{ title: Пользователи }, { title: Пользователи },
@@ -34,11 +34,12 @@ features:
{ title: API } { title: API }
] ]
- title: Мониторинг - title: Мониторинг
scroll_to: ""
icon: graph_up icon: graph_up
link:
- title: Биллинг - title: Биллинг
icon: wallet icon: wallet
link: link: /billing/index
disabled: true
- title: Безопасность и стандарты - title: Безопасность и стандарты
icon: security icon: security
link: '' link: ''
@@ -80,19 +81,20 @@ services:
- title: Выделенные сетевые соединения - title: Выделенные сетевые соединения
description: В работе description: В работе
icon: network icon: network
link: /interconnect/index
- title: CDN. Доставка контента - title: CDN. Доставка контента
description: В работе description: В работе
icon: network icon: network
- title: SD-WAN. Распределенные сети - title: SD-WAN. Распределенные сети
description: В работе description: В работе
icon: network icon: network
- title: Резервное копирование - title: Резервное копирование и восстановление
articles: articles:
- title: Резервное копирование - title: Резервное копирование
description: Создание, хранение и восстановление копии виртуальных машин description: В работе
icon: refresh
- title: Аварийное восстановление данных
description: В работе
icon: refresh icon: refresh
link: /backups/index
- title: Базы данных - title: Базы данных
articles: articles:
- title: ClickHouse - title: ClickHouse
@@ -137,7 +139,6 @@ services:
- title: Виртуальные рабочие столы (VDI) - title: Виртуальные рабочие столы (VDI)
description: В работе description: В работе
icon: magic icon: magic
link: /vdi/index
- title: Платформа офисного пространства - title: Платформа офисного пространства
description: В работе description: В работе
icon: magic icon: magic
@@ -1,20 +0,0 @@
# Заказ сервиса
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.
При заказе выполняется установка операционной системы на виртуальные рабочие столы. Необходимое программное обеспечение устанавливается и настраивается самостоятельно.
-11
View File
@@ -1,11 +0,0 @@
---
section_links:
- title: Обзор сервиса
link: /interconnect/interconnect-overview.md
description: Назначение сервиса, решаемые задачи, характеристики оборудования, ограничения в сервисе
- title: Заказ сервиса
link: /interconnect/how-to/interconnect-create.md
description: Создание заявки в личном кабинете Beeline Сloud на заказ выделенного сетевого соединения
---
# Выделенные сетевые соединения
-23
View File
@@ -1,23 +0,0 @@
# О сервисе
Сервис **Виртуальные рабочие столы** — это облачный сервис, предоставляющий доступ к виртуальному рабочему месту, развернутому на ресурсах Beeline Cloud. Сервис предоставляет безопасные виртуальные рабочие места на базе VMware Horizon.
Виртуальное рабочее место — это удаленный рабочий стол с установленной операционной системой и программным обеспечением, необходимым для работы конечного пользователя. Подключаться к ВРМ можно через браузер или с помощью приложения Horizon.
Пул виртуальных рабочих мест — это набор виртуальных рабочих мест одинаковой конфигурации.
## Возможности сервиса
- Предоставление в пользование ВРМ без графического ускорителя.
- Предоставление гостевой ОС.
- Двухфакторная аутентификация (2FA) при подключении к удаленному рабочему столу.
- Развертывание виртуальных рабочих мест путем клонирования подготовленной виртуальной машины — «Gold-образа».
- Интеграция с Active Directory.
## Сценарии использования сервиса
Способ организации доступа к ВРМ:
- **Подключение к ВРМ через интернет с выделенной полосой пропускания**:
- предоставляется выделенный канал доступа в интернет требуемой полосы пропускания;
- разворачиваются выделенные служебные виртуальные машины с функцией пограничного шлюза и Reverse Proxy (ВМ UAG) без дополнительной тарификации.
-17
View File
@@ -1,17 +0,0 @@
---
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: Правила тарификации сервиса
---
# Обзор сервиса
-19
View File
@@ -1,19 +0,0 @@
# Квоты и лимиты
**Квоты** — это организационные ограничения на количество доступных ресурсов в сервисе. В некоторых случаях квоты могут быть увеличены или уменьшены по запросу.
**Лимиты** — это технические ограничения на количество доступных ресурсов в сервисе. Ограничения, обычно, связаны с характеристиками оборудования и особенностями архитектуры.
## Квоты
### Бесплатный период
В [бесплатном периоде](../start/trial.md#бесплатный-период) использования Beeline Cloud установлены квоты на ресурсы сервиса:
| Вид ограничения | Значение |
|---|---|
| Количество виртуальных рабочих мест | 10 шт. |
| Количество виртуальных рабочих мест | 10 шт. |
| Количество пулов виртуальных рабочих мест | 6 шт.|
| Минимальный объем дискового пространства для одного виртуального рабочего места, включая объем дискового пространства необходимый для установки ОС | 100 ГБ |
| Доступные операционные системы | Windows |
-14
View File
@@ -1,14 +0,0 @@
# Тарификация
Тарификация производится по правилу «fixed pricing»: фиксированный ежемесячный платеж за количество заказанных виртуальных рабочих мест.
Тарифицируется:
- количество виртуальных рабочих мест выбранных конфигураций vCPU и RAM;
- лицензии для виртуальных рабочих мест;
- тип и объем дискового пространства;
- скорость интернета.
Сервис оплачивается на основании счета, выставляемого ежемесячно. Оплата счетов, детализация расходов доступна в разделе **Биллинг** в личном кабинете Beeline Cloud. Дополнительные услуги оплачиваются отдельно.
Посмотреть расчет стоимости сервиса после завершения периода бесплатного тестирования можно во время [заказа виртуальных рабочих столов](./vdi-how-to/vdi-create.md#заказ-виртуальных-рабочих-столов) в личном кабинете Beeline Cloud.
-39
View File
@@ -1,39 +0,0 @@
# Техническое описание
## Операционные системы
Сервис предоставляет виртуальные рабочие места с операционной системой 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 ГБ|
-20
View File
@@ -1,20 +0,0 @@
# Мониторинг
Мониторинг позволяет отслеживать использование ресурсов в Beeline Cloud. С помощью мониторинга можно своевременно выявлять превышение лимитов, оптимизировать распределение ресурсов и предотвращать возможные проблемы в работе инфраструктуры.
::: info Примечание
Новые виртуальные машины появляются в мониторинге через 30 минут после создания.
:::
## Обзор
В этом разделе вы можете контролировать следующие метрики:
- Включенные CPU в VDC, `шт.`.
- Включенная оперативная память, `ГБ`.
- CPU Ready, `%`.
- Использование CPU, `%`.
- Использование оперативной памяти, `%`.
- RAM Swap + Balloon, `%`.
Выбрать интервал времени, за который будут показаны данные, можно в поле **Период**. Вы также можете включить автоматическое обновление графиков с заданной периодичностью в поле **Автообновление**.
-27
View File
@@ -1,27 +0,0 @@
# Обзор
## Сервисы
Каждый сервис 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
View File
@@ -0,0 +1 @@
# Архитектура
+1
View File
@@ -0,0 +1 @@
# Терминология
+4 -4
View File
@@ -1,8 +1,8 @@
--- ---
section_links: section_links:
- title: Обзор - title: Сервисы
link: /platform/about.md link: /platform/services/services.md
description: Информация о сервисах Beeline Cloud, ЦОД description: Сервисы Beeline Cloud
- title: Техническая поддержка - title: Техническая поддержка
link: /platform/support/support-overview.md link: /platform/support/support-overview.md
description: Условия оказания и способы обращения в техническую поддержку description: Условия оказания и способы обращения в техническую поддержку
@@ -17,7 +17,7 @@ Beeline Cloud — облачная платформа, основанная на
- быстрое развертывание сервисов; - быстрое развертывание сервисов;
- безопасное хранение данных — наши системы хранения данных соответствуют строгим стандартам; - безопасное хранение данных — наши системы хранения данных соответствуют строгим стандартам;
- защита данных от утечек и несанкционированного доступа; - защита данных от утечек и несанкционированного доступа;
- гибкое масштабирование — увеличение или уменьшение ресурсов по мере необходимости. - гибкое масштабирование — увеличение или уменьшение ресурсы по мере необходимости.
- прогнозируемые расходы. - прогнозируемые расходы.
Облачная платформа полностью соответствует требованиям по защите ПДн для первого уровня защищенности (УЗ-1), что позволяет безопасно размещать и обрабатывать персональные данные. Облачная платформа полностью соответствует требованиям по защите ПДн для первого уровня защищенности (УЗ-1), что позволяет безопасно размещать и обрабатывать персональные данные.
+1
View File
@@ -0,0 +1 @@
# Соглашение об уровне обслуживания
+9
View File
@@ -0,0 +1,9 @@
# Сервисы
Каждый сервис Beeline Cloud предоставляет определенный набор облачных ресурсов и инструменты для управления этими ресурсами. Все сервисы Beeline Cloud объединены в каталог и размещены в личном кабинете в разделе **Сервисы**.
Список сервисов можно посмотреть в разделе «Сервисы» в личном кабинете.
Сервисы с отметкой `По заявке` подключаются по запросу специалистами Beeline Cloud. Сервисы без отметки `По заявке` — цифровые, и подключаются самостоятельно.
Доступ к сервисам Beeline Cloud предоставляется [зарегистрированным пользователям](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud).
+9 -5
View File
@@ -1,13 +1,17 @@
# Техническая поддержка # Техническая поддержка
По вопросам сопровождения сервисов Beeline Cloud обращайтесь в техническую поддержку. Вы всегда можете обратиться в нашу техническую поддержку по вопросам сопровождения сервисов Beeline Cloud.
:::warning Важно
Обратиться в техническую поддержку могут пользователи, [зарегистрированные в Beeline Cloud](./../../start/getting-started.md#шаг-1-регистрация-в-beeline-cloud).
:::
## Способы обращения ## Способы обращения
| Способ связи | Канал обращения | Время работы | Описание | | Способ связи | Описание | Время работы |
|----------|----------|---------------------|----------| |--------|----------|---------------------|
|Центр поддержки| [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) | круглосуточно| | |Почта | [servicedesk@datafort.ru](mailto:servicedesk@datafort.ru) | круглосуточно|
## Сроки обработки запросов ## Сроки обработки запросов
-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 1.5 KiB

-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 1.2 KiB

-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 1.7 KiB

-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 618 B

-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 588 B

-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 259 KiB

-1
View File
@@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 4.8 KiB

+6 -6
View File
@@ -2,11 +2,11 @@
## 1. Регистрация в Beeline Cloud ## 1. Регистрация в Beeline Cloud
1. Перейдите по ссылке [lk.cloud.beeline.ru](https://lk.cloud.beeline.ru/). 1. Перейдите по ссылке [lk.cloud.beeline.ru](https://lk.cloud.beeline.ru/) и нажмите кнопку **Войти** в правом верхнем углу.
2. Введите номер телефона любого оператора связи и нажмите кнопку **Войти**. 2. Введите номер телефона любого оператора связи и нажмите кнопку **Войти**.
3. Введите код с картинки и нажмите **Подтвердить**. 3. Введите код с картинки и нажмите **Подтвердить**.
4. Введите код, отправленный на номер телефона. 4. Введите код, отправленный на номер телефона, указанный при регистрации.
5. Введите адрес электронной почты и нажмите на кнопку **Далее**. На указанную почту будет выслана ссылка для подтверждения. 5. Введите рабочий почтовый адрес и нажмите на кнопку **Далее**. На указанный адрес будет выслана ссылка для подтверждения почты.
6. Дождитесь письма от Beeline Cloud с темой **Подтверждение адреса электронной почты** и перейдите по ссылке **Завершить регистрацию**. 6. Дождитесь письма от Beeline Cloud с темой **Подтверждение адреса электронной почты** и перейдите по ссылке **Завершить регистрацию**.
После успешной регистрации аккаунта начнется настройка личного кабинета. После завершения настройки: После успешной регистрации аккаунта начнется настройка личного кабинета. После завершения настройки:
@@ -21,9 +21,9 @@
## 2. Создание ресурса ## 2. Создание ресурса
Чтобы начать использование Beeline Cloud, создайте ресурс в проекте. Ресурсами в проекте могут быть виртуальные машины, виртуальные дата-центры и другие ресурсы, которые предоставляют сервисы Beeline Cloud. Чтобы начать использование Beeline Cloud, создайте ресурс в проекте. Ресурсами в проекте могут быть виртуальные машины, виртуальные дата-центры и др. ресурсы, которые предоставляют сервисы Beeline Cloud.
1. Перейдите в [личный кабинет](https://console.cloud.beeline.ru/). 1. Перейдите в [личный кабинет](https://lk.cloud.beeline.ru/).
2. На странице проекта **Мой проект** нажмите **Создать ресурс**. 2. На странице проекта **Мой проект** нажмите **Создать ресурс**.
3. Выберите из списка тип ресурса, который вам требуется создать в проекте. 3. Выберите из списка тип ресурса, который вам требуется создать в проекте.
4. На странице создания ресурса заполните свойства ресурса. 4. На странице создания ресурса заполните свойства ресурса.
@@ -36,5 +36,5 @@
- Познакомьтесь с сервисами: - Познакомьтесь с сервисами:
- [Виртуальные дата-центры на VMware](../vdc/index.md). - [Виртуальные дата-центры на VMware](../vdc/index.md).
- [Виртуальные машины](../compute/index.md). - [Виртуальные машины](../compute/index.md).
- [Заключите договор](organization.md), чтобы снять [ограничения](trial.md#квоты-сервисов) платформы Beeline Cloud, действующие на период бесплатного тестирования. - [Заключите договор](organization.md), чтобы использовать полные мощности ресурсов Beeline Cloud.
+3 -5
View File
@@ -1,17 +1,15 @@
# Платное использование # Платное использование
Аккаунт 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/). 1. Войдите в [личный кабинет Beeline Cloud](https://lk.cloud.beeline.ru/).
2. В информационном окне о бесплатном тестировании нажмите на ссылку **Заключить договор**. 2. В информационном окне о бесплатном тестировании нажмите на ссылку **Заключить договор**.
3. Нажмите на образец договора и ознакомьтесь в условиями договора. 3. Нажмите на образец договора и ознакомьтесь в условиями договора.
4. Заполните заявку на заключение договора: 4. Заполните заявку на заключение договора:
- **ФИО**: укажите контактное лицо; - **ФИО**: укажите контактное лицо;
- **ИНН**: укажите ИНН организации, с которой будет заключен договор; - **ИНН** (необязательно): укажите ИНН организации, с которой будет заключен договор;
- укажите удобное время для звонка. - укажите удобное время для звонка.
5. Нажмите **Отправить**. 5. Нажмите **Отправить**.
+15 -12
View File
@@ -8,7 +8,7 @@
Срок бесплатного тестирования Beeline Cloud — 30 дней. Срок бесплатного тестирования Beeline Cloud — 30 дней.
Началом бесплатного периода использования Beeline Cloud является дата создания первого экземпляра ресурса. Для каждого сервиса начало бесплатного периода рассчитывается отдельно. Началом бесплатного периода использования сервиса является дата создания первого инстанса ресурса.
## Техническая поддержка ## Техническая поддержка
@@ -16,24 +16,27 @@
## Ограничения ## Ограничения
::: warning Важно
Ограничения сохраняются после [перехода на платное использование Beeline Cloud](organization.md#платное-использование).
:::
В бесплатном периоде действуют ограничения: В бесплатном периоде действуют ограничения:
- зарегистрированному пользователю предоставляется один проект в облаке; - зарегистрированному пользователю предоставляется один проект в облаке;
- пользователь является владельцем проекта и его единственным участником; - пользователь является владельцем проекта и его единственным участником;
- создание других пользователей в проекте недоступно. - создание других пользователей в проекте недоступно;
- установлены [квоты](#квоты-сервисов) на ресурсы сервисов.
## Квоты сервисов ### Квоты сервисов
На период бесплатного тестирования установлены квоты на ресурсы сервисов: ::: details Виртуальные дата-центры на VMware
- [Виртуальные дата-центры на VMware](../vdc/vdc-quatos.md#бесплатный-период). | Вид ограничения | Значение |
- [Виртуальные рабочие столы](../vdi/vdi-quatos.md#бесплатный-период). |---|---|
- [Резервное копирование](../backups/backup-quatos.md#бесплатный-период). | Количество виртуальных дата-центров в проекте | 1 |
| Количество vCPU в одном дата-центре | 4 |
| Объем RAM в одном дата-центре | 8 Гб |
| Объем дискового пространства в одном дата-центре | 80 Гб |
|Количество публичных IP-адресов в одном дата-центре| 1 |
:::
## Переход на платное использование ## Переход на платное использование
После завершения периода бесплатного тестирования доступ к ресурсам будет остановлен. Для дальнейшей работы в Beeline Cloud [заключите договор](organization.md). После завершения периода бесплатного тестирования доступ к ресурсам будет остановлен. Для дальнейшей работы в Beeline Cloud [заключите договор](organization.md). Договор можно заключить с юридическим лицом или ИП. Договор не заключается с физическим лицом.
+4 -17
View File
@@ -1,31 +1,18 @@
--- ---
section_links: section_links:
- title: Обзор сервиса - title: Обзор сервиса
link: /vdc/vdc-overview.md link: /vdc/vdc-overview.md.md
description: Обзор сервиса, решаемые задачи, характеристики оборудования description: Обзор сервиса, решаемые задачи, характеристики оборудования
- title: Быстрый старт - title: Быстрый старт
link: /vdc/vdc-getting-started.md link: /vdc/vdc-getting-started.md
description: Создание виртуальной машины в дата-центре description: Создание виртуальной машины в дата-центре и подключение к ней
- title: Виртуальные дата-центры - title: Виртуальные дата-центры
link: /vdc/vdc-how-to/vdc-index.md link: /vdc/vdc-how-to/vdc-index.md
description: Создание виртуального дата-цента, вход с двухфакторной аутентификацией description: Создание виртуального дата-цента, вход с двухфакторной аутентификацией
- title: Виртуальные машины
link: /vdc/vdc-how-to/vm/vm-index.md
description: Управление виртуальными машинами в дата-центре с помощью Cloud Director
- title: Диски
link: /vdc/vdc-how-to/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
Сервис **Виртуальные дата-центры на VMware** предоставляет платформу для создания виртуальных дата-центров на базе физической инфраструктуры Beeline Cloud. Сервис **Виртуальные дата-центры на VMware** предоставляет платформу для создания виртуальных дата-центров на базе физической инфраструктуры Beeline Cloud.
В [личном кабинете](https://lk.cloud.beeline.ru/) вы можете заказать виртуальный дата-центр с выделенным публичным IP-адресом. Управлять ресурсами дата-центра — в панели управления Cloud Director. Для усиления безопасности подключается [двухфакторная аутентификация (2FA)](./vdc-how-to/vdc-2fa.md) при входе в дата-центр.
-16
View File
@@ -1,16 +0,0 @@
# О сервисе
Сервис **Виртуальные дата-центры на VMware** предоставляет в аренду виртуальный дата-центр на основе платформы виртуализации vSphere и Cloud Director. Сервис построен по модели IaaS на физической инфраструктуре Beeline Cloud.
В [личном кабинете](https://console.cloud.beeline.ru/) вы можете заказать виртуальный дата-центр с выделенным внешним IP-адресом.
Виртуальный дата-центр — это логический контейнер, в котором собраны следующие ресурсы:
- вычислительные мощности (например, CPU или память);
- хранилище;
- сети;
- правила безопасности.
Управление ресурсами дата-центра выполняется в панели управления Cloud Director.
Для усиления безопасности подключается [двухфакторная аутентификация (2FA)](./vdc-how-to/vdc-2fa.md) при входе в дата-центр.
+27 -49
View File
@@ -1,62 +1,40 @@
# Быстрый старт # Быстрый старт
В этой инструкции рассмотрен процесс создания виртуального дата-центра и создание в нем виртуальной машины из шаблона. Раздел в разработке.
<!--В этой инструкции рассмотрен процесс создания виртуального ВМа UNIX и подключение к нему по протоколу SSH.
## Перед началом работы ## Создать виртуальный ВМ
- [Зарегистрируйтесь](../start/getting-started.md#1-регистрация-в-beeline-cloud) в личном кабинете Beeline Cloud. 1. Отк
2. Выбрать проект.
3. На странице **Обзор** убедитесь в наличии свободных ресурсов.
4. Нажмите **Создать ВМ**.
5. Выберите образ ОС UNIX.
6.
7. Нажмите **Cоздать ВМ**.
## 1. Создать виртуальный дата-центр Виртуальный ВМ отобразится на странице **Облачные вычисления → ВМы**. Выполняется сборка виртуального ВМа. После окончания сборки ВМ перейдет в статус `Включен`.
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/). ## Подключиться к ВМу по SSH
2. На странице **Мой проект** нажмите кнопку **Создать ресурс → Виртуальный дата-центр**.
3. [Заполните](./vdc-how-to/vdc-create.md#создать-дата-центр) параметры виртуального дата-центра.
:::warning Важно
Общее количество ресурсов в виртуальном дата-центре указывайте в пределах [квот сервиса](vdc-quatos.md#бесплатный-период) для периода [бесплатного тестирования](../start/trial.md).
:::
4. Нажмите **Создать дата-центр**.
Далее подключите двухфакторную для входа в панель управления виртуальным дата-центром. Для подключения к виртуальному ВМу по SSH выполните команду в терминале:
## 2. Подключить двухфакторную аутентификацию - по IP-адресу ВМа:
1. [Войдите](https://msk1.mfa.dfcloud.ru/) на портал двухфакторной аутентификации: ```
- введите логин и пароль, учетные данные можно посмотреть в личном кабинете: ssh -l <логин пользователя> -i <путь до приватного ключа> <IP-адрес ВМа>
- вернитесь в личный кабинет на страницу **Виртуальные дата-центры**; ```
- нажмите на имя дата-центра; - по полному доменному имени ВМа (FQDN):
- на вкладке **Параметры подключения** указаны логин и пароль для входа на портал 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 нажмите кнопку **Подтвердить**.
## 3. Войти в виртуальный дата-центр ```
ssh -l <логин пользователя> -i <путь до приватного ключа> <FQDN ВМа>
```
1. Вернитесь в личный кабинет на страницу **Виртуальные дата-центры**. Пример команды подключения к ВМу по IP-адресу:
2. Нажмите на имя дата-центра.
3. Скопируйте и вставьте в браузер ссылку, содержащуюся в **Панель управления дата-центром**.
4. Введите имя пользователя и пароль:
- **User name**: перейдите в личный кабинет и скопируйте имя пользователя из поля **Логин**;
- **Password**: введите пароль от дата-центра, установленный на [шаге 3 п. 2. Подключить двухфакторную аутентификацию](#2-подключить-двухфакторную-аутентификацию).
5. Подтвердите вход в приложении Multifactor на своем смартфоне.
## 4. Создать виртуальную машину из шаблона ```
$ ssh -l ivanov -i /home/user/.ssh/id_rsa 10.0.0.1
```
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**.
-31
View File
@@ -1,31 +0,0 @@
# Обзор
## Типы дисков
В VMware Cloud Director используются два типа дисков:
- Диски виртуальной машины.
- Выделенные диски (Named Disks).
Политика хранения задает правила размещения и применяется при создании любого из этих типов.
## Диски виртуальной машины
- Являются частью конфигурации конкретной ВМ.
- Создаются при развертывании ВМ или добавляются при редактировании ВМ.
- Привязаны к жизненному циклу ВМ: при удалении ВМ такие диски удаляются вместе с ней.
- Могут быть системными или дополнительными (например, для хранения данных).
- Для каждого диска выбирается политика хранения, доступная в виртуальном дата-центре. От политики зависят размещение, ограничения по ёмкости и поддерживаемые возможности.
## Выделенные диски (Named Disks)
- Представляют отдельный ресурс хранения на уровне виртуального дата-центра.
- Не зависят от жизненного цикла конкретной ВМ и могут подключаться к разным ВМ последовательно;
- Обеспечивают переносимость данных между ВМ внутри одного виртуального дата-центра без копирования;
- Удаляются независимо от ВМ, при отключении могут сохраняться для последующего использования.
## Политика хранения
Политика хранения в VMware Cloud Director определяется на уровне провайдера и задает правила размещения данных, уровень производительности и доступность хранилищ. Пользователь дата-центра не может изменять параметры политики. Политика хранения выбирается при создании дисков в дата-центре и определяет доступный объем хранилища.
Если нужно изменить объем, предусмотренный выбранной политикой хранения, обратитесь [в службу поддержки Beeline Cloud](../../../platform/support/support-overview.md).
-46
View File
@@ -1,46 +0,0 @@
# Управление выделенными дисками
## Подключить выделенный диск к ВМ
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).
@@ -1,10 +0,0 @@
# Изменение политики хранения дисков виртуальной машины
[Политика хранения](about.md#политика-хранения) задает правила размещения данных.
1. Перейдите в раздел **Applications****Virtual Machines**.
2. Выберите нужную виртуальную машину из списка.
3. Перейдите в раздел **Hardware****Hard Disks**.
4. Нажмите кнопку **EDIT**.
5. В открывшемся окне смените политику хранения.
6. Нажмите кнопку **SAVE** для подтверждения изменений.
-71
View File
@@ -1,71 +0,0 @@
# Создание диска
## Создать диск ВМ
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** для создания диска.
-24
View File
@@ -1,24 +0,0 @@
# Удаление диска
## Удалить диск ВМ
1. Перейдите в раздел **Applications****Virtual Machines**.
2. Выберите нужную виртуальную машину из списка.
3. Перейдите в раздел **Hardware****Hard Disks**.
4. Нажмите кнопку **EDIT**.
5. В открывшемся окне найдите диск, который нужно удалить.
6. Нажмите кнопку ![del](../../../compute/compute-how-to/image/delete.png) в строчке диска, который нужно удалить.
7. Нажмите кнопку **SAVE**.
## Удалить выделенный диск
:::info Примечание
Перед удалением диска, [отключите его от виртуальной машины](attach-disk.md#отключить-выделенный-диск-от-вм).
:::
1. Перейдите в раздел **Data Centers**.
2. Выберите нужный дата-центр из списка.
3. Перейдите в раздел **Storage****Named Disks**.
4. Выберите нужный диск из списка.
5. Нажмите кнопку **DELETE**.
6. В открывшемся окне подтвердите действие.
-26
View File
@@ -1,26 +0,0 @@
---
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: Удаление выделенного диска и диска ВМ
---
# Диски
-40
View File
@@ -1,40 +0,0 @@
# Редактирование параметров диска
## Редактировать параметры диска ВМ
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** для сохранения изменений.

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