fix-pull
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
deploy-prod:
|
||||
stage: deploy
|
||||
image: harbor.vimpelcom.ru/dockerhub/library/alpine:3.21.2
|
||||
variables:
|
||||
stand: beecloud-docs.beecloud-docs.cloud.vimpelcom.ru
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
when: never
|
||||
- if: $CI_PIPELINE_SOURCE == "push"
|
||||
when: manual
|
||||
before_script:
|
||||
- |
|
||||
sed -i s%https://dl-cdn.alpinelinux.org/%http://rhrepo.vimpelcom.ru/ext/ya/mirrors/% /etc/apk/repositories && \
|
||||
apk --no-cache add tzdata ca-certificates curl openssh-client yq jq && \
|
||||
rm -rf /var/cache/apk/*
|
||||
- which ssh-agent || (apt-get update -y && apt-get install openssh-client -y)
|
||||
- eval $(ssh-agent -s)
|
||||
- mkdir -p ~/.ssh
|
||||
- echo -n "$TECH_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa
|
||||
- chmod 700 ~/.ssh
|
||||
- chmod 600 ~/.ssh/id_rsa
|
||||
- >
|
||||
echo "stand: ${stand}"
|
||||
ssh-keyscan "${stand}" >> ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
- PRODUCT="$PRODUCT_DMZ"
|
||||
script:
|
||||
- >
|
||||
echo -e "Connect to ${stand}..." &&
|
||||
scp -o StrictHostKeyChecking=no ci/deploy/deploy.sh "dorootless@${stand}:~/deploy.sh" &&
|
||||
ssh "dorootless@${stand}" "export CONTAINER_REGISTRY=$CONTAINER_REGISTRY &&
|
||||
export PRODUCT=$PRODUCT &&
|
||||
export PRODUCT_VERSION=$PRODUCT_VERSION &&
|
||||
export IMAGE_NAME=$IMAGE_NAME &&
|
||||
chmod 700 ~/deploy.sh &&
|
||||
~/deploy.sh ${IMAGE_NAME} &&
|
||||
rm -f ~/deploy.sh"
|
||||
needs:
|
||||
- job: build-image
|
||||
optional: true
|
||||
Generated
+1950
-1320
File diff suppressed because it is too large
Load Diff
+10
-9
@@ -15,16 +15,17 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@beeline/design-tokens": "1.31.0",
|
||||
"vue": "3.4.7"
|
||||
"@beeline/design-tokens": "^1.31.6",
|
||||
"vue": "^3.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docsearch/css": "3.3.0",
|
||||
"@types/node": "20.10.7",
|
||||
"@vitejs/plugin-vue": "4.3.4",
|
||||
"sass": "1.69.7",
|
||||
"typescript": "^5.8.3",
|
||||
"vitepress": "1.0.0-rc.40",
|
||||
"vitepress-plugin-tabs": "0.5.0"
|
||||
"@docsearch/css": "4.1.0",
|
||||
"@types/node": "^22.0.0",
|
||||
"@vitejs/plugin-vue": "^6.0.3",
|
||||
"sass": "^1.70.0",
|
||||
"typescript": "^5.9.3",
|
||||
"vite-plugin-static-copy": "^3.1.4",
|
||||
"vitepress": "^1.6.4",
|
||||
"vitepress-plugin-tabs": "^0.7.3"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
import { defineConfig } from 'vitepress'
|
||||
import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
|
||||
import { viteStaticCopy } from 'vite-plugin-static-copy'
|
||||
import { overrideComponents } from './override-components'
|
||||
import { autoSectionLinksPlugin } from './plugins/auto-section-links'
|
||||
import { resolve } from 'path'
|
||||
import { SidebarItem } from './plugins/utils/types'
|
||||
import { fileURLToPath, URL } from 'node:url'
|
||||
|
||||
const gitlab = `<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
@@ -199,9 +199,34 @@ const sidebarConfig = {
|
||||
{ text: 'Управление ВМ', link: '/compute/compute-how-to/compute-servers-manage.md' },
|
||||
],
|
||||
},
|
||||
{ text: 'Диски', link: '/compute/compute-how-to/compute-disks.md' },
|
||||
{ text: 'IP-адреса', link: '/compute/compute-how-to/compute-ip.md' },
|
||||
{ text: 'Группы размещения', link: '/compute/compute-how-to/compute-affinity.md' },
|
||||
{ text: 'Диски', link: '/compute/compute-how-to/compute-disks/compute-disk-index.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'Обзор', link: '/compute/compute-how-to/compute-disks/compute-disk-about.md' },
|
||||
{ text: 'Создание диска', link: '/compute/compute-how-to/compute-disks/compute-disk-create.md' },
|
||||
{ text: 'Управление дисками', link: '/compute/compute-how-to/compute-disks/compute-disk-manage.md' },
|
||||
{ text: 'Удаление диска', link: '/compute/compute-how-to/compute-disks/compute-disk-del.md' },
|
||||
]
|
||||
},
|
||||
{ text: 'IP-адреса', link: '/compute/compute-how-to/compute-ip/compute-ip-index.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'Обзор', link: '/compute/compute-how-to/compute-ip/compute-ip-about.md' },
|
||||
{ text: 'Просмотр IP-адресов', link: '/compute/compute-how-to/compute-ip/compute-ip-view.md' },
|
||||
{ text: 'Создание IP-адреса', link: '/compute/compute-how-to/compute-ip/compute-ip-create.md' },
|
||||
{ text: 'Управление IP-адресами', link: '/compute/compute-how-to/compute-ip/compute-ip-manager.md' },
|
||||
{ text: 'Удаление IP-адреса', link: '/compute/compute-how-to/compute-ip/compute-ip-del.md' },
|
||||
]
|
||||
},
|
||||
{ text: 'Группы размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-index.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'Обзор', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-about.md'},
|
||||
{ text: 'Создание группы размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-create.md'},
|
||||
{ text: 'Управление группами размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-manager.md' },
|
||||
{ text: 'Удаление группы размещения', link: '/compute/compute-how-to/compute-placement-groups/compute-placement-groups-del.md' },
|
||||
]
|
||||
},
|
||||
{ text: 'Сети', link: '/compute/compute-how-to/compute-network/compute-network-index.md',
|
||||
collapsed: true,
|
||||
items: [
|
||||
@@ -258,6 +283,7 @@ export default defineConfig({
|
||||
description: "Документация Beeline Cloud",
|
||||
head: [['link', { rel: 'icon', type: 'image/png', sizes: '32x32', href: '/bee-favicon.png' }]],
|
||||
base: typeof new_version !== 'undefined' ? '/' : '/docs/',
|
||||
appearance: false,
|
||||
markdown: {
|
||||
config(md) {
|
||||
md.use(tabsMarkdownPlugin)
|
||||
@@ -265,11 +291,31 @@ export default defineConfig({
|
||||
},
|
||||
vite: {
|
||||
resolve: {
|
||||
alias: overrideComponents(),
|
||||
alias: [
|
||||
...overrideComponents(),
|
||||
{
|
||||
find: '@',
|
||||
replacement: fileURLToPath(new URL('./theme', import.meta.url))
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
autoSectionLinksPlugin(resolve(__dirname, '..'), sidebarConfig) as any,
|
||||
]
|
||||
viteStaticCopy({
|
||||
targets: [
|
||||
{
|
||||
src: resolve(__dirname, '../../node_modules/@beeline/design-tokens/assets/fonts'),
|
||||
dest: 'assets',
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
scss: {
|
||||
api: 'modern-compiler',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
locales: {
|
||||
root: {
|
||||
|
||||
@@ -76,7 +76,7 @@ const pageName = computed(() =>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@use 'src/assets/scss/app/helpers/media';
|
||||
@use '@/scss/helpers/media';
|
||||
|
||||
.VPDoc {
|
||||
padding: 32px 24px 96px;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@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';
|
||||
@use '@/scss/helpers/media';
|
||||
|
||||
.VPSidebar {
|
||||
--vp-sidebar-bg-color: var(--vp-c-bg);
|
||||
|
||||
+5
@@ -1,3 +1,8 @@
|
||||
@use '@beeline/design-tokens/scss/font-face';
|
||||
@use "@beeline/design-tokens/scss/iconfont/iconfont" with (
|
||||
$font-path-iconfont: '../assets/fonts/iconfont'
|
||||
);
|
||||
@use "@beeline/design-tokens/scss/iconfont/icons";
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes';
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
@use "@beeline/design-tokens/scss/iconfont/iconfont" with (
|
||||
$font-path-iconfont: '/fonts/iconfont'
|
||||
);
|
||||
@use "@beeline/design-tokens/scss/iconfont/icons";
|
||||
|
||||
$font-path-beeline-sans: '/fonts/beeline-sans' !default;
|
||||
|
||||
@mixin beeline-sans-font($type, $weight, $style: normal) {
|
||||
@font-face {
|
||||
font-family: "Beeline Sans";
|
||||
src:url('#{$font-path-beeline-sans}/BeelineSans-#{$type}.woff2') format('woff2'),
|
||||
url('#{$font-path-beeline-sans}/BeelineSans-#{$type}.woff') format('woff'),
|
||||
url('#{$font-path-beeline-sans}/BeelineSans-#{$type}.ttf') format('truetype');
|
||||
font-weight: $weight;
|
||||
font-style: $style;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin beeline-sans-font-pair($type, $weight) {
|
||||
@include beeline-sans-font($type, $weight);
|
||||
|
||||
}
|
||||
|
||||
@include beeline-sans-font-pair(Regular, 400);
|
||||
|
||||
@include beeline-sans-font-pair(Medium, 500);
|
||||
|
||||
@include beeline-sans-font-pair(Bold, 700);
|
||||
|
||||
@include beeline-sans-font-pair(Black, 900);
|
||||
|
||||
$font-path-roboto-mono: '/fonts/roboto-mono' !default;
|
||||
|
||||
@mixin roboto-mono-font($type, $weight, $style: normal) {
|
||||
@font-face {
|
||||
font-family: "Roboto Mono";
|
||||
src:url('#{$font-path-roboto-mono}/RobotoMono-#{$type}.woff2') format('woff2'),
|
||||
url('#{$font-path-roboto-mono}/RobotoMono-#{$type}.woff') format('woff'),
|
||||
url('#{$font-path-roboto-mono}/RobotoMono-#{$type}.ttf') format('truetype');
|
||||
font-weight: $weight;
|
||||
font-style: $style;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin roboto-mono-font-pair($type, $weight) {
|
||||
@include roboto-mono-font($type, $weight);
|
||||
|
||||
}
|
||||
|
||||
@include roboto-mono-font-pair(Light, 300);
|
||||
|
||||
@include roboto-mono-font-pair(Regular, 400);
|
||||
|
||||
@include roboto-mono-font-pair(Medium, 500);
|
||||
|
||||
@include roboto-mono-font-pair(Bold, 700);
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
@forward "media";
|
||||
+3
-1
@@ -1,3 +1,5 @@
|
||||
@use "sass:map";
|
||||
|
||||
// @deprecated
|
||||
@mixin media($minWidth, $maxWidth) {
|
||||
@media (min-width: $minWidth) and (max-width: $maxWidth) {
|
||||
@@ -27,7 +29,7 @@ $breakpoints: (
|
||||
);
|
||||
|
||||
@mixin max($breakpoint) {
|
||||
$value: map-get($breakpoints, $breakpoint);
|
||||
$value: map.get($breakpoints, $breakpoint);
|
||||
|
||||
@if $value {
|
||||
@media (max-width: $value) {
|
||||
@@ -1,4 +1,3 @@
|
||||
@use "fonts";
|
||||
@use "design-system";
|
||||
@use "design-tokens";
|
||||
@use "vars";
|
||||
@use "components";
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,38 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as *;
|
||||
|
||||
:root {
|
||||
--app-navbar-height: #{$app-navbar-height};
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
html {
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
#app {
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
html.dark-theme {
|
||||
background-color: $color-background-base;
|
||||
color: $color-text-active;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: $color-text-active !important;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
@import 'variables';
|
||||
@import 'base';
|
||||
@import 'form';
|
||||
@import 'helpers';
|
||||
@import 'components';
|
||||
@@ -1,3 +0,0 @@
|
||||
// Navbar
|
||||
$app-navbar-height: 3.5rem;
|
||||
$app-header-height: 64px;
|
||||
@@ -1,122 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as *;
|
||||
@use '@beeline/design-tokens/scss/tokens/components/fab' as *;
|
||||
@use '@beeline/design-tokens/scss/tokens/components/button' as *;
|
||||
@use '@beeline/design-tokens/scss/tokens/globals' as *;
|
||||
@use '@beeline/design-tokens/scss/mixin';
|
||||
|
||||
@mixin fab_button {
|
||||
background-color: $button-overlay-background-color;
|
||||
padding-left: $button-only-text-small-padding-horizontal;
|
||||
padding-right: $button-only-text-small-padding-horizontal;
|
||||
letter-spacing: $button-small-text-font-letter-spacing;
|
||||
line-height: $button-small-text-font-line-height;
|
||||
font-size: $button-small-text-font-size;
|
||||
height: $button-small-height;
|
||||
color: $button-overlay-text-color;
|
||||
box-shadow: none;
|
||||
border: 1px solid $button-outline-border-color;
|
||||
border-radius: $button-border-radius;
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
background-color: $button-overlay-background-color-hover;
|
||||
}
|
||||
}
|
||||
|
||||
.app-fab {
|
||||
height: $fab-standard-height;
|
||||
width: $fab-standard-width;
|
||||
position: fixed;
|
||||
z-index: 50;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
border: 0;
|
||||
padding: $fab-standard-padding;
|
||||
letter-spacing: $fab-text-font-letter-spacing;
|
||||
line-height: $fab-text-font-line-height;
|
||||
font-size: $fab-text-font-size;
|
||||
font-weight: $fab-text-font-weight;
|
||||
box-shadow: $fab-shadow;
|
||||
background-color: $color-background-inverse;
|
||||
color: $color-text-active-inverse;
|
||||
cursor: pointer;
|
||||
|
||||
&__icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
// background-color: $fab-hover-background-color;
|
||||
}
|
||||
|
||||
&--focused {
|
||||
border-color: $fab-focused-border-color;
|
||||
border-width: $fab-focused-border-width;
|
||||
}
|
||||
|
||||
&--mini {
|
||||
height: $fab-mini-height;
|
||||
width: $fab-mini-width;
|
||||
border-radius: $fab-mini-border-radius;
|
||||
padding: $fab-mini-padding;
|
||||
}
|
||||
|
||||
&--extended {
|
||||
height: $fab-extended-height;
|
||||
border-radius: $fab-extended-border-radius;
|
||||
padding-right: $fab-extended-padding-right;
|
||||
padding-left: $fab-extended-padding-left;
|
||||
|
||||
& &__icon {
|
||||
margin-right: $fab-extended-icon-spacing;
|
||||
}
|
||||
}
|
||||
|
||||
.app-fab--extended.app-fab--mini {
|
||||
height: $fab-mini-height;
|
||||
}
|
||||
|
||||
&--disabled {
|
||||
opacity: $fab-disabled-opacity;
|
||||
}
|
||||
}
|
||||
|
||||
.app-fab-dialog {
|
||||
position: fixed;
|
||||
bottom: 44px;
|
||||
right: 0;
|
||||
// background-color: $color-background-medium;
|
||||
background-color: transparent;
|
||||
// border-radius: 12px;
|
||||
padding: 1rem;
|
||||
// border: 1px solid $color-border;
|
||||
// min-width: 300px;
|
||||
// box-shadow: $elevation-medium;
|
||||
|
||||
.icon-contained {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background-color: $color-status-neutral-background;
|
||||
color: $color-status-neutral;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
#feedback_button {
|
||||
@include fab_button();
|
||||
}
|
||||
|
||||
#bug_button {
|
||||
@include fab_button();
|
||||
line-height: 38px;
|
||||
}
|
||||
|
||||
a#bug_button,
|
||||
a#bug_button:visited,
|
||||
a#bug_button:active {
|
||||
color: $button-overlay-text-color !important;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
@import 'fab';
|
||||
@@ -1 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/components/formfield' as formfield;
|
||||
@@ -1,104 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/components/textarea' as *;
|
||||
@use '@beeline/design-tokens/scss/tokens/components/formfield';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes';
|
||||
|
||||
.textarea-field {
|
||||
$px: 16px;
|
||||
|
||||
display: block;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
padding: $textarea-without-label-medium-text-margin-top $px $textarea-text-margin-bottom;
|
||||
height: $textarea-without-label-medium-height;
|
||||
background: formfield.$formfield-background-color;
|
||||
border: formfield.$formfield-border-width formfield.$formfield-border-style formfield.$formfield-border-color;
|
||||
border-radius: formfield.$formfield-border-radius;
|
||||
|
||||
& &__label {
|
||||
position: absolute;
|
||||
top: $textarea-with-label-text-margin-top;
|
||||
left: $px;
|
||||
transition: font-size 300ms ease-out;
|
||||
color: formfield.$formfield-label-color;
|
||||
}
|
||||
|
||||
& textarea {
|
||||
height: $textarea-medium-text-height;
|
||||
width: 100%;
|
||||
outline: none;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
resize: none;
|
||||
background-color: transparent;
|
||||
color: themes.$color-text-active;
|
||||
}
|
||||
|
||||
& &__resizer {
|
||||
position: absolute;
|
||||
bottom: $textarea-resizer-margin-bottom;
|
||||
right: $textarea-resizer-margin-right;
|
||||
rotate: -45deg;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
|
||||
&:hover {
|
||||
cursor: nwse-resize;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
display: flex;
|
||||
background-color: darkslategrey;
|
||||
width: 10px;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
display: flex;
|
||||
position: relative;
|
||||
right: -3px;
|
||||
bottom: -2px;
|
||||
background-color: darkslategrey;
|
||||
width: 4px;
|
||||
height: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
&.textarea-field--with-label {
|
||||
height: $textarea-with-label-medium-height;
|
||||
padding-top: $textarea-with-label-text-margin-top;
|
||||
|
||||
&.textarea-field--floated .textarea-field__label {
|
||||
top: $textarea-medium-label-floated-margin-top;
|
||||
line-height: $textarea-small-label-floated-font-line-height;
|
||||
font-size: $textarea-small-label-floated-font-size;
|
||||
}
|
||||
|
||||
&.textarea-field--small {
|
||||
height: $textarea-with-label-small-height;
|
||||
padding-top: $textarea-small-label-margin-top;
|
||||
top: $textarea-small-label-floated-margin-top;
|
||||
|
||||
& .textarea-field__label {
|
||||
font-size: $textarea-small-label-font-size;
|
||||
font-weight: $textarea-small-label-font-weight;
|
||||
letter-spacing: $textarea-small-label-font-letter-spacing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.textarea-field--focused {
|
||||
border-color: formfield.$formfield-border-color-focus;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&.textarea-field--small {
|
||||
padding-top: $textarea-without-label-small-text-margin-top;
|
||||
height: $textarea-without-label-small-height;
|
||||
|
||||
& textarea {
|
||||
height: $textarea-small-text-height;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/components/textfield' as *;
|
||||
@use '@beeline/design-tokens/scss/tokens/globals';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as theme;
|
||||
|
||||
.textfield {
|
||||
display: block;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: globals.$size-control-height-medium;
|
||||
border: globals.$size-border-width-regular solid transparent;
|
||||
padding-top: $textfield-without-label-medium-text-margin-vertical;
|
||||
padding-bottom: $textfield-without-label-medium-text-margin-vertical;
|
||||
background-color: theme.$color-control-background;
|
||||
border-radius: 12px; // globals.$size-border-radius-x6;
|
||||
|
||||
&:hover {
|
||||
background-color: theme.$color-control-background-hover;
|
||||
}
|
||||
|
||||
// input
|
||||
input {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
// label
|
||||
&--with-label {
|
||||
// padding-top: $textfield-with-label-medium-text-margin-top;
|
||||
// padding-bottom: $textfield-with-label-medium-text-margin-bottom;
|
||||
}
|
||||
|
||||
&__label {
|
||||
// padding-top: $textfield-medium-label-margin-top;
|
||||
|
||||
&.textfield__label--floated {
|
||||
// padding-top: $textfield-medium-label-margin-top-floated;
|
||||
}
|
||||
}
|
||||
|
||||
// small
|
||||
&--small {
|
||||
height: globals.$size-control-height-small;
|
||||
}
|
||||
|
||||
// large
|
||||
&--large {
|
||||
height: globals.$size-control-height-large;
|
||||
padding-top: $textfield-without-label-large-text-margin-vertical;
|
||||
padding-bottom: $textfield-without-label-large-text-margin-vertical;
|
||||
|
||||
&.textfield--with-label {
|
||||
padding-top: $textfield-with-label-large-text-margin-top;
|
||||
padding-bottom: $textfield-with-label-large-text-margin-bottom;
|
||||
}
|
||||
|
||||
.textfield__label {
|
||||
padding-top: $textfield-large-label-margin-top;
|
||||
|
||||
&.textfield__label--floated {
|
||||
padding-top: $textfield-large-label-margin-top-floated;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// states
|
||||
&--focused {
|
||||
border-color: theme.$color-border-focus;
|
||||
background-color: theme.$color-background-base;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as *;
|
||||
|
||||
.app-bg-status-error {
|
||||
background-color: $color-status-error-background;
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
.app-cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
@import 'text';
|
||||
@import 'color';
|
||||
@import 'media';
|
||||
@import 'common';
|
||||
@@ -1,80 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as theme;
|
||||
@use 'src/assets/scss/app/mixins' as mixins;
|
||||
|
||||
@mixin truncate {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@mixin truncate-lines($lines: 2) {
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: $lines;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.app-text-active {
|
||||
color: theme.$color-text-active;
|
||||
}
|
||||
|
||||
.app-text-inactive {
|
||||
color: theme.$color-text-inactive;
|
||||
}
|
||||
|
||||
// styles for hyperlinks
|
||||
.app-link {
|
||||
color: theme.$color-text-active;
|
||||
|
||||
&:hover {
|
||||
color: theme.$color-text-active;
|
||||
}
|
||||
}
|
||||
|
||||
.app-text-caption {
|
||||
@include mixins.text-caption;
|
||||
}
|
||||
|
||||
.app-text-truncate {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
// Sizes
|
||||
.app-text-size-subtitle-3 {
|
||||
font-size: 15px;
|
||||
line-height: 20px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.2px;
|
||||
}
|
||||
|
||||
.app-text-size-body-3 {
|
||||
font-size: 15px;
|
||||
line-height: 18px;
|
||||
letter-spacing: 0.2px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
// Colors
|
||||
.app-text-color-caption {
|
||||
color: theme.$color-text-inactive;
|
||||
}
|
||||
.app-text-warning {
|
||||
color: theme.$color-status-warning;
|
||||
}
|
||||
.app-text-info {
|
||||
color: theme.$color-status-info;
|
||||
}
|
||||
.app-text-error {
|
||||
color: theme.$color-status-error;
|
||||
}
|
||||
.app-text-success {
|
||||
color: theme.$color-status-success;
|
||||
}
|
||||
|
||||
// Breaks
|
||||
.app-break-keep-all {
|
||||
word-break: keep-all;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
@import 'spinner';
|
||||
@@ -1,6 +0,0 @@
|
||||
@use 'src/assets/scss/app/variables' as v;
|
||||
|
||||
.app-loading-screen {
|
||||
display: block;
|
||||
height: calc(100vh - v.$app-header-height);
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
@forward 'text';
|
||||
@@ -1,29 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as theme;
|
||||
|
||||
%text_caption {
|
||||
font-size: 13px;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
@mixin text_caption {
|
||||
@extend %text_caption;
|
||||
color: theme.$color-text-inactive;
|
||||
}
|
||||
|
||||
@mixin text_caption_error {
|
||||
@extend %text_caption;
|
||||
color: theme.$color-status-error;
|
||||
}
|
||||
|
||||
@mixin text_body_2 {
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 17px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
@mixin truncate {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
|
||||
:root {
|
||||
@include themes.theme();
|
||||
}
|
||||
|
||||
.dark-theme {
|
||||
@include themes.theme(dark.$theme);
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/font-face' with (
|
||||
$font-path-beeline-sans: '../fonts/beeline-sans'
|
||||
);
|
||||
@@ -1,40 +0,0 @@
|
||||
// @use "@beeline/design-tokens/scss/iconfont/iconfont" with (
|
||||
// $font-path-iconfont: '../fonts/iconfont'
|
||||
// );
|
||||
@use '@beeline/design-tokens/scss/iconfont/icons';
|
||||
|
||||
@font-face {
|
||||
font-display: block;
|
||||
font-family: 'BeelineIcons';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src:
|
||||
url('../fonts/iconfont/BeelineIcons.woff2') format('woff2'),
|
||||
url('../fonts/iconfont/BeelineIcons.woff') format('woff'),
|
||||
url('../fonts/iconfont/BeelineIcons.ttf') format('ttf');
|
||||
}
|
||||
|
||||
.beeline-icons {
|
||||
font-family: 'BeelineIcons', sans-serif;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px; /* Preferred icon size */
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Support for IE. */
|
||||
font-feature-settings: 'liga';
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
@import 'fonts';
|
||||
@import 'icons';
|
||||
@import 'base';
|
||||
@import 'scrollbar';
|
||||
@@ -1,29 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes';
|
||||
|
||||
html {
|
||||
scrollbar-color: themes.$color-text-inactive transparent;
|
||||
}
|
||||
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 15px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: themes.$color-text-inactive;
|
||||
border: 4px solid transparent;
|
||||
background-clip: content-box;
|
||||
border-radius: 100px;
|
||||
min-height: 28px;
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
@use 'sass:map';
|
||||
@use '@beeline/design-tokens/scss/tokens/globals';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/light';
|
||||
@use '@beeline/design-tokens/scss/tokens/components/button';
|
||||
|
||||
// Colors
|
||||
$primary: globals.$color-background-brand;
|
||||
$background: map.get(light.$theme, 'color-background-base');
|
||||
$info: map.get(light.$theme, 'color-status-info');
|
||||
$success: map.get(light.$theme, 'color-status-success');
|
||||
$warning: map.get(light.$theme, 'color-status-warning');
|
||||
$danger: map.get(light.$theme, 'color-status-error');
|
||||
|
||||
// Typography
|
||||
$family-primary: globals.$font-family-text;
|
||||
$title-color: map.get(light.$theme, 'color-text-active');
|
||||
$subtitle-color: map.get(light.$theme, 'color-text-inactive');
|
||||
|
||||
// Radius
|
||||
$radius: globals.$size-border-radius-x6;
|
||||
|
||||
// Buttons
|
||||
$button-padding-vertical: globals.$size-spacing-x4;
|
||||
$button-padding-horizontal: globals.$size-spacing-x5;
|
||||
$button-background-color: button.$button-plain-background-color;
|
||||
$button-focus-border-color: map.get(light.$theme, 'color-background-base-focused');
|
||||
$button-disabled-opacity: button.$button-opacity-disabled;
|
||||
|
||||
// Box
|
||||
$box-radius: $radius;
|
||||
$box-shadow: globals.$elevation-low;
|
||||
$box-padding: globals.$size-spacing-x6;
|
||||
$box-link-hover-shadow: globals.$elevation-medium;
|
||||
$box-link-active-shadow: globals.$elevation-medium;
|
||||
|
||||
// Form
|
||||
$input-color: map.get(light.$theme, 'color-text-active');
|
||||
$input-background-color: map.get(light.$theme, 'color-control-background');
|
||||
$label-color: map.get(light.$theme, 'color-text-inactive');
|
||||
$label-weight: globals.$font-weight-caption;
|
||||
|
||||
// Table
|
||||
$table-color: map.get(light.$theme, 'color-text-active');
|
||||
$table-background-color: map.get(light.$theme, 'color-background-base');
|
||||
$table-cell-border: 1px solid map.get(light.$theme, 'color-control-background');
|
||||
$table-cell-padding: 16px 16px;
|
||||
$table-cell-heading-color: map.get(light.$theme, 'color-text-active');
|
||||
$table-head-cell-border-width: 1px;
|
||||
|
||||
@import 'bulma/bulma';
|
||||
@import 'overrides';
|
||||
@@ -1,12 +0,0 @@
|
||||
@use 'sass:map';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
|
||||
.box {
|
||||
.dark-theme & {
|
||||
background-color: map.get(dark.$theme, 'color-background-low');
|
||||
|
||||
&:hover {
|
||||
background-color: map.get(dark.$theme, 'color-background-medium');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/components/button' as button;
|
||||
@use '@beeline/design-tokens/scss/tokens/themes';
|
||||
|
||||
.button {
|
||||
font-weight: button.$button-medium-text-font-weight;
|
||||
color: themes.$color-text-active;
|
||||
|
||||
&:hover {
|
||||
color: themes.$color-text-active;
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes';
|
||||
|
||||
.dropdown {
|
||||
&-content {
|
||||
background-color: themes.$color-background-medium;
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
color: themes.$color-text-active;
|
||||
|
||||
&:hover {
|
||||
background-color: themes.$color-background-base-hover;
|
||||
color: themes.$color-text-active;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
@import 'button';
|
||||
@import 'title';
|
||||
@import 'box';
|
||||
@import 'form';
|
||||
@import 'table';
|
||||
@import 'dropdown';
|
||||
@import 'text';
|
||||
@@ -1,42 +0,0 @@
|
||||
@use 'sass:map';
|
||||
@use '@beeline/design-tokens/scss/tokens/globals';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/light';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
@use '@beeline/design-tokens/scss/tokens/components/button';
|
||||
|
||||
.table {
|
||||
.dark-theme & {
|
||||
color: map.get(dark.$theme, 'color-text-active');
|
||||
background-color: map.get(dark.$theme, 'color-background-base');
|
||||
|
||||
td,
|
||||
th {
|
||||
border: 1px solid map.get(dark.$theme, 'color-control-background');
|
||||
}
|
||||
|
||||
th {
|
||||
color: map.get(dark.$theme, 'color-text-active');
|
||||
}
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: globals.$font-weight-medium;
|
||||
}
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
&:last-child {
|
||||
td,
|
||||
th {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/tokens/themes' as *;
|
||||
|
||||
code {
|
||||
background-color: $color-background-base;
|
||||
}
|
||||
|
||||
pre {
|
||||
color: $color-text-active;
|
||||
background-color: $color-background-base;
|
||||
}
|
||||
|
||||
.help {
|
||||
font-size: 13px;
|
||||
line-height: 16px;
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
@use '@beeline/design-tokens/scss/mixin' as bee;
|
||||
|
||||
.title {
|
||||
@include bee.h3();
|
||||
|
||||
&.is-1 {
|
||||
@include bee.h1();
|
||||
}
|
||||
&.is-2 {
|
||||
@include bee.h2();
|
||||
}
|
||||
&.is-3 {
|
||||
@include bee.h3();
|
||||
}
|
||||
&.is-4 {
|
||||
@include bee.h4();
|
||||
}
|
||||
&.is-5 {
|
||||
@include bee.h5();
|
||||
}
|
||||
&.is-6 {
|
||||
@include bee.h6();
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
@include bee.subtitle2();
|
||||
|
||||
&.is-1 {
|
||||
@include bee.subtitle1();
|
||||
}
|
||||
&.is-2 {
|
||||
@include bee.subtitle2();
|
||||
}
|
||||
&.is-3 {
|
||||
@include bee.subtitle3();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
@import 'shared';
|
||||
@import 'select';
|
||||
@import 'input-textarea';
|
||||
@import 'title';
|
||||
@@ -1,46 +0,0 @@
|
||||
@use 'sass:map';
|
||||
// @use "@beeline/design-tokens/scss/tokens/globals";
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/light';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
|
||||
%input-textarea {
|
||||
box-shadow: none;
|
||||
border: 1px solid transparent;
|
||||
color: map.get(light.$theme, 'color-text-active');
|
||||
background: map.get(light.$theme, 'color-control-background');
|
||||
|
||||
&:hover {
|
||||
border-color: map.get(light.$theme, 'color-border-focus');
|
||||
}
|
||||
|
||||
.dark-theme & {
|
||||
color: map.get(dark.$theme, 'color-text-active');
|
||||
background: map.get(dark.$theme, 'color-control-background');
|
||||
|
||||
&:hover {
|
||||
border-color: map.get(dark.$theme, 'color-border-focus');
|
||||
}
|
||||
}
|
||||
|
||||
&:focus,
|
||||
&.is-focused,
|
||||
&:active,
|
||||
&.is-active {
|
||||
box-shadow: none !important;
|
||||
border-color: map.get(light.$theme, 'color-border-focus');
|
||||
background: map.get(light.$theme, 'color-background-base');
|
||||
|
||||
.dark-theme & {
|
||||
background: map.get(dark.$theme, 'color-background-base');
|
||||
border-color: map.get(dark.$theme, 'color-border-focus');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.input {
|
||||
@extend %input-textarea;
|
||||
}
|
||||
|
||||
.textarea {
|
||||
@extend %input-textarea;
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
@use 'sass:map';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/light';
|
||||
|
||||
.select {
|
||||
select {
|
||||
border: 1px solid transparent;
|
||||
|
||||
&:focus,
|
||||
&:active {
|
||||
border: 1px solid map.get(light.$theme, 'color-border-focus');
|
||||
background-color: map.get(light.$theme, 'color-background-base');
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.is-multiple):not(.is-loading)::after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
&:focus,
|
||||
&.is-focused,
|
||||
&:active,
|
||||
&.is-active {
|
||||
select {
|
||||
border: 1px solid map.get(light.$theme, 'color-border-focus');
|
||||
background-color: map.get(light.$theme, 'color-background-base');
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.dark-theme & {
|
||||
select {
|
||||
border: 1px solid map.get(dark.$theme, 'color-border-focus');
|
||||
background-color: map.get(dark.$theme, 'color-background-base');
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dark-theme & {
|
||||
color: map.get(dark.$theme, 'color-text-active');
|
||||
|
||||
& select {
|
||||
color: map.get(dark.$theme, 'color-text-active');
|
||||
background-color: map.get(dark.$theme, 'color-control-background');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
@use 'sass:map';
|
||||
@use '@beeline/design-tokens/scss/tokens/globals';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
|
||||
.label {
|
||||
line-height: globals.$font-line-height-caption;
|
||||
|
||||
.dark-theme & {
|
||||
color: map.get(dark.$theme, 'color-text-inactive');
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
@use 'sass:map';
|
||||
@use '@beeline/design-tokens/scss/tokens/themes/dark';
|
||||
|
||||
.title {
|
||||
.dark-theme & {
|
||||
color: map.get(dark.$theme, 'color-text-active');
|
||||
}
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
.dark-theme & {
|
||||
color: map.get(dark.$theme, 'color-text-inactive');
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
@use 'beeline';
|
||||
@use 'bulma';
|
||||
@use 'app';
|
||||
|
||||
.proto {
|
||||
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
|
||||
color: #f55;
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
# Группы размещения
|
||||
|
||||
Группы размещения — это правила размещения виртуальных машин на физических хостах. Правила размещения позволяют создавать виртуальные машины на разных или на одном хосте. Политика размещения виртуальных машин действует в рамках одной зоны доступности.
|
||||
|
||||
- Правило `Affinity` размещает ВМ обязательно на одном физическом хосте.
|
||||
|
||||
- Правило `Soft-Affinity` размещает ВМ по возможности на одном физическом хосте.
|
||||
|
||||
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
|
||||
|
||||
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
|
||||
|
||||
::: warning Важно
|
||||
В группу размещения можно добавить новую ВМ. Во время создания ВМ укажите группу размещения, к которой будет принадлежать ВМ.
|
||||
|
||||
Существующая ВМ не может быть добавлена в группу размещения.
|
||||
|
||||
ВМ может быть создана в группе размещения, если для выполнения правила есть ресурсы в зоне доступности. Если ресурсов нет, то ВМ не будет создан.
|
||||
:::
|
||||
|
||||
## Создать группу размещения
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
5. Нажмите **Создать группу**.
|
||||
6. Введите параметры группы размещения:
|
||||
- **Имя группы размещения**: введите имя группы размещения.
|
||||
- выберите правило размещения.
|
||||
- **Зона доступности**: выберите зону доступности, в которой будут создаваться виртуальные машины по правилу размещения.
|
||||
- добавьте тег группе размещения при необходимости.
|
||||
7. Нажмите **Создать группу**.
|
||||
|
||||
## Добавить виртуальную машину в группу размещения
|
||||
|
||||
Принадлежность виртуальной машины к группе размещения указывается во время [создания ВМ](../compute-how-to/compute-servers-create.md#создать-виртуальную-машину). Уже созданную виртуальную машину нельзя добавить в группу размещения.
|
||||
|
||||
## Редактировать группу размещения
|
||||
|
||||
В группе размещения можно изменить название группы и редактировать теги.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
5. Переименовать группу размещения:
|
||||
- Нажмите на название группы в списке групп.
|
||||
- Нажмите на … и выберите **Переименовать**.
|
||||
- Введите новое имя группы размещения.
|
||||
- Нажмите ✓.
|
||||
6. Редактировать теги группы размещения:
|
||||
- Нажмите на название группы в списке групп.
|
||||
- Нажмите **Редактировать теги**.
|
||||
- Добавьте или удалите теги.
|
||||
- Нажмите **Сохранить**.
|
||||
|
||||
## Удалить группу размещения
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
5. Справа от названия группы размещения нажмите кнопку .
|
||||
@@ -1,6 +1,6 @@
|
||||
# Подключение по SSH по внутреннему IP-адресу с помощью ключевой пары
|
||||
|
||||
Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу из интернета, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](compute-ip.md#внешние-ip-адреса).
|
||||
Виртуальные машины, созданные в [зоне доступности `Inside` или `DMZ`](../compute-overview.md#зоны-доступности), с внутренним IP-адресом недоступны из интернета. Чтобы подключиться по SSH к ВМ по внутреннему IP-адресу из интернета, используйте промежуточную виртуальную машину (джамп-хост) с [внешним IP-адресом (FIP)](../compute-how-to/compute-ip/compute-ip-about.md#внешние-ip-адреса).
|
||||
|
||||
## Перед началом работы
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
- Статус виртуальной машины — `Включена`.
|
||||
- [Создана промежуточная ВМ](compute-servers-jump-create.md), через которую будет выполняться подключение к ВМ.
|
||||
- Виртуальной машине [назначен](../compute-how-to/compute-ip.md#внутренние-ip-адреса) внутренний IP-адрес.
|
||||
- Виртуальной машине [назначен](../compute-how-to/compute-ip/compute-ip-about.md#внутренние-ip-адреса) внутренний IP-адрес.
|
||||
- Имя пользователя для входа на ВМ.
|
||||
- Подготовлена ключевая пара для подключения к ВМ по SSH:
|
||||
- приватный ключ сохранен на компьютере, с которого выполняется подключение;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
Перед подключением проверьте выполнение условий и наличие данных:
|
||||
|
||||
- Статус виртуальной машины — `Включена`.
|
||||
- Виртуальной машине [назначен](../compute-how-to/compute-ip.md#назначить-вм-внешний-ip-адрес) внешний IP-адрес.
|
||||
- Виртуальной машине [назначен](../compute-how-to/compute-ip/compute-ip-manager.md#назначить-вм-внешний-ip-адрес) внешний IP-адрес.
|
||||
- Узнайте имя пользователя для входа на ВМ.
|
||||
- Приватная часть SSH-ключа сохранена на компьютере, с которого выполняется подключение.
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
= по внешнему IP-адресу
|
||||
|
||||
Если ВМ создана в зоне `DMZ` и ей присвоен [внешний IP-адрес](compute-ip.md#внешние-ip-адреса), то для подключения к ВМ выполните:
|
||||
Если ВМ создана в зоне `DMZ` и ей присвоен [внешний IP-адрес](./compute-ip/compute-ip-about.md#внешние-ip-адреса), то для подключения к ВМ выполните:
|
||||
|
||||
1. Откройте терминал.
|
||||
2. Выполните команду в терминале:
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Диски
|
||||
|
||||
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
|
||||
|
||||
Загрузочный диск создается вместе с виртуальным ВМом. Конфигурация загрузочного диска задается на этапе [создания ВМ](../compute-servers-create.md#создать-виртуальную-машину). При [удалении ВМ](../compute-servers-manage.md#удалить-ВМ) загрузочный диск удалится вместе с ВМ.
|
||||
|
||||
[Дополнительные диски можно добавить](../compute-servers-create.md#добавить-диск) на этапе создания ВМ или [создать диск позже и подключить к нужной ВМ](../compute-disks/compute-disk-create.md). При [удалении ВМ](../compute-servers-manage.md#удалить-ВМ) дополнительные диски (не загрузочные) останутся в проекте в списке дисков.
|
||||
@@ -0,0 +1,21 @@
|
||||
# Создание диска
|
||||
|
||||
Создание диска позволяет добавить новое блочное хранилище. В процессе создания можно выбрать тип диска, размер и зону доступности, а также настроить дополнительные параметры для оптимального соотношения производительности и стоимости.
|
||||
|
||||
## Создать диск
|
||||
|
||||
Создать диск дополнительный (не загрузочный):
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
5. Нажмите **Создать диск**.
|
||||
6. Введите параметры добавляемого диска:
|
||||
- **Имя диска**: введите название диска
|
||||
- **Зона доступности**: выберите из списка зону доступности, в которой будет создан диск.
|
||||
- **Тип**: выберите из списка тип хранения.
|
||||
- **Размер диска**: введите размер добавляемого диска в Гб.
|
||||
7. Нажмите **Создать диск**.
|
||||
|
||||
На странице **Диски** будет добавлен новый диск, но не подключен к какой-либо виртуальной машине. Диск можно [подключить к ВМ](../compute-disks/compute-disk-manage.md#подключить-диск-к-вм).
|
||||
@@ -0,0 +1,19 @@
|
||||
# Удаление диска
|
||||
|
||||
Удаление диска позволяет освободить ресурсы хранилища после завершения работы с данными. Перед удалением необходимо убедиться, что диск [отключен](../compute-disks/compute-disk-manage.md#отключить-диск-от-вм) от всех виртуальных машин и не содержит критически важных данных без резервных копий.
|
||||
|
||||
## Удалить диск
|
||||
|
||||
::: danger Предупреждение
|
||||
Удаление диска необратимо. Все данные будут удалены без возможности восстановления.
|
||||
:::
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
5. Нажмите на имя диска.
|
||||
6. Нажмите на … и выберите **Удалить**.
|
||||
7. В открывшемся окне подтвердите операцию:
|
||||
- Введите имя удаляемого диска.
|
||||
- Нажмите **Удалить**.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор
|
||||
link: /compute/compute-how-to/compute-disks/compute-disk-about.md
|
||||
description: Основные понятия о дисках
|
||||
- title: Создание диска
|
||||
link: /compute/compute-how-to/compute-disks/compute-disk-create.md
|
||||
description: Создание нового диска
|
||||
- title: Управление дисками
|
||||
link: /compute/compute-how-to/compute-disks/compute-disk-manage.md
|
||||
description: Просмотр списка параметров и операций с дисками
|
||||
- title: Удаление диска
|
||||
link: /compute/compute-how-to/compute-disks/compute-disk-del.md
|
||||
description: Удаление диска
|
||||
---
|
||||
|
||||
# Диски
|
||||
+2
-42
@@ -1,10 +1,6 @@
|
||||
# Диски
|
||||
# Управление дисками
|
||||
|
||||
Хранение данных организовано с использованием сетевых дисков. Диск создается в определенной зоне доступности. Каждый диск автоматически реплицируется внутри своей зоны доступности, что обеспечивает надежное хранение данных.
|
||||
|
||||
Загрузочный диск создается вместе с виртуальным ВМом. Конфигурация загрузочного диска задается на этапе [создания ВМ](compute-servers-create.md#создать-виртуальную-машину). При [удалении ВМ](compute-servers-manage.md#удалить-ВМ) загрузочный диск удалится вместе с ВМ.
|
||||
|
||||
[Дополнительные диски можно добавить](compute-servers-create.md#добавить-диск) на этапе создания ВМ или [создать диск позже и подключить к нужной ВМ](#создать-диск). При [удалении ВМ](compute-servers-manage.md#удалить-ВМ) дополнительные диски (не загрузочные) останутся в проекте в списке дисков.
|
||||
Управление дисками позволяет выполнять операции с существующими хранилищами. Доступно управление списками и информацией о дисках, изменение размера дискового пространства, а также подключение и отключение дисков от виртуальных машин.
|
||||
|
||||
## Посмотреть список дисков
|
||||
|
||||
@@ -28,24 +24,6 @@
|
||||
- **Подключен к**: виртуальный ВМ, к которому подключен диск.
|
||||
- **Имя устройства**: имя устройства в файловой системе.
|
||||
|
||||
## Создать диск
|
||||
|
||||
Создать диск дополнительный (не загрузочный):
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
5. Нажмите **Создать диск**.
|
||||
6. Введите параметры добавляемого диска:
|
||||
- **Имя диска**: введите название диска
|
||||
- **Зона доступности**: выберите из списка зону доступности, в которой будет создан диск.
|
||||
- **Тип**: выберите из списка тип хранения.
|
||||
- **Размер диска**: введите размер добавляемого диска в Гб.
|
||||
7. Нажмите **Создать диск**.
|
||||
|
||||
На странице **Диски** будет добавлен новый диск, но не подключен к како-либо ВМ. Диск можно [подключить к ВМ](#подключить-диск-к-вм).
|
||||
|
||||
## Увеличить размер дискового пространства
|
||||
|
||||
::: warning Важно
|
||||
@@ -95,21 +73,3 @@
|
||||
8. В открывшемся окне подтвердите операцию:
|
||||
- Введите имя ВМ, от которого отключаете диск.
|
||||
- Нажмите **Отключить диск**.
|
||||
|
||||
## Удалить диск
|
||||
|
||||
Перед удалением отключите диск от ВМ.
|
||||
|
||||
::: danger Предупреждение
|
||||
Удаление диска необратимо. Все данные будут удалены без возможности восстановления.
|
||||
:::
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Диски**.
|
||||
5. Нажмите на имя диска.
|
||||
6. Нажмите на … и выберите **Удалить**.
|
||||
7. В открывшемся окне подтвердите операцию:
|
||||
- Введите имя удаляемого диска.
|
||||
- Нажмите **Удалить**.
|
||||
@@ -1,127 +0,0 @@
|
||||
# IP-адрес
|
||||
|
||||
Каждая виртуальная машина при создании получает IP-адрес. В сервисе поддерживаются только IPv4-адреса.
|
||||
|
||||
## Внутренние IP-адреса
|
||||
|
||||
Внутренний IP-адрес используется для взаимодействия между ВМ внутри одной сети. Внутренний IP-адрес не виден из интернета.
|
||||
|
||||
Внутренний IP-адрес назначается виртуальной машине автоматически или выбираются из списка зарезервированных адресов при ее создании.
|
||||
|
||||
:::tip Информация
|
||||
Виртуальная машина доступна из интернета только через внешний IP-адрес. Для доступа из интернета к виртуальной машине по внутреннему IP-адресу используйте виртуальную машину с внешним IP-адресом как джамп-хост.
|
||||
:::
|
||||
|
||||
## Внешние IP-адреса
|
||||
|
||||
Внешний IP-адрес — это IP-адрес, который доступен из интернета. Внешний IP-адрес выдается организации при регистрации аккаунта Beeline Cloud.
|
||||
|
||||
В сервисе **Виртуальные машины** предусмотрен один внешний IP-адрес (Floating IP или FIP), сопоставленный с внутренним IP-адрес `10.0.0.10`. Значение внешнего IP-адреса можно [посмотреть](#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**.
|
||||
|
||||
Чтобы ВМ без ограничений была доступна из интернета и получала доступ к ресурсам интернета, ей должен быть присвоен внешний IP-адрес. Внешний IP-адрес [назначается](#назначить-вм-внешний-ip-адрес) виртуальной машине при ее создании. Существующей ВМ назначить внешний IP-адрес нельзя.
|
||||
|
||||
## Статусы IP-адресов
|
||||
|
||||
`Используется` — IP-адрес зарезервирован и назначен ВМ.
|
||||
|
||||
`Зарезервирован` — IP-адрес зарезервирован и не назначен ВМ, доступен для назначения.
|
||||
|
||||
## Посмотреть список IP-адресов
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Отобразится список всех IP-адресов проекта.
|
||||
|
||||
## Создать IP-адрес
|
||||
|
||||
Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Нажмите **Создать IP-адрес**.
|
||||
6. Введите параметры адреса:
|
||||
- **Имя**: введите имя IP-адреса.
|
||||
- **Зона доступности**: выберите зону доступности, в которой будут доступен адрес.
|
||||
- добавьте тег адресу при необходимости.
|
||||
7. Нажмите **Создать**.
|
||||
|
||||
На странице **Виртуальные машины → 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-адрес сохранится в вашем проекте и может быть назначен новой ВМ.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Нажмите на имя адреса в списке IP-адресов.
|
||||
6. На странице адреса нажмите кнопку **Изменить**, расположенную ниже флажка **Автоудаление**.
|
||||
7. Снимите флажок **Автоудаление**, если он установлен.
|
||||
8. Нажмите **Сохранить**.
|
||||
|
||||
## Присвоить имя IP-адресу
|
||||
|
||||
Имя IP-адреса отображается только на странице **Виртуальные машины → IP-адреса**. На параметрах виртуальной машины отображается значение IP-адреса.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Нажмите на имя адреса в списке IP-адресов.
|
||||
6. Нажмите на … и выберите **Переименовать**.
|
||||
7. Введите новое имя IP-адреса.
|
||||
8. Нажмите ✓.
|
||||
|
||||
## Удалить IP-адрес
|
||||
|
||||
:::warning Важно
|
||||
Не удаляйте внешний IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
|
||||
:::
|
||||
|
||||
Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ.
|
||||
|
||||
Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную:
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Удалите адрес одним из способов:
|
||||
- В разделе **IP-адреса**:
|
||||
- В списке адресов найдите IP-адрес, который необходимо удалить.
|
||||
- Cправа от имени IP-адреса нажмите кнопку .
|
||||
- Подтвердите действие.
|
||||
- На странице IP-адреса:
|
||||
- Нажмите на имя адреса в списке IP-адресов, который необходимо удалить.
|
||||
- Нажмите на … в правом углу страницы и выберите **Удалить**.
|
||||
- Подтвердите действие.
|
||||
@@ -0,0 +1,31 @@
|
||||
# IP-адрес
|
||||
|
||||
Раздел содержит описание типов IP-адресов в Beeline Cloud: внутренние и внешние адреса, их назначение и возможные статусы.
|
||||
|
||||
:::tip Информация
|
||||
Каждая виртуальная машина при создании получает IP-адрес. В сервисе поддерживаются только IPv4-адреса.
|
||||
:::
|
||||
|
||||
## Внутренние IP-адреса
|
||||
|
||||
Внутренний IP-адрес используется для взаимодействия между ВМ внутри одной сети. Внутренний IP-адрес не виден из интернета.
|
||||
|
||||
Внутренний IP-адрес назначается виртуальной машине автоматически или выбираются из списка зарезервированных адресов при ее создании.
|
||||
|
||||
:::tip Информация
|
||||
Виртуальная машина доступна из интернета только через внешний IP-адрес. Для доступа из интернета к виртуальной машине по внутреннему IP-адресу используйте виртуальную машину с внешним IP-адресом как джамп-хост.
|
||||
:::
|
||||
|
||||
## Внешние IP-адреса
|
||||
|
||||
Внешний IP-адрес — это IP-адрес, который доступен из интернета. Внешний IP-адрес выдается организации при регистрации аккаунта Beeline Cloud.
|
||||
|
||||
В сервисе **Виртуальные машины** предусмотрен один внешний IP-адрес (Floating IP или FIP), сопоставленный с внутренним IP-адрес **10.0.0.10**. Значение внешнего IP-адреса можно [посмотреть](../compute-ip/compute-ip-view#посмотреть-внешний-ip-адрес) в разделе **Виртуальные машины → IP-адреса**.
|
||||
|
||||
Чтобы ВМ без ограничений была доступна из интернета и получала доступ к ресурсам интернета, ей должен быть присвоен внешний IP-адрес. Внешний IP-адрес [назначается](../compute-ip/compute-ip-manager#назначить-вм-внешний-ip-адрес) виртуальной машине при ее создании. Существующей ВМ назначить внешний IP-адрес нельзя.
|
||||
|
||||
## Статусы IP-адресов
|
||||
|
||||
**Используется** — IP-адрес зарезервирован и назначен ВМ.
|
||||
|
||||
**Зарезервирован** — IP-адрес зарезервирован и не назначен ВМ, доступен для назначения.
|
||||
@@ -0,0 +1,20 @@
|
||||
# Создание IP-адреса
|
||||
|
||||
Раздел описывает процедуру создания нового IP-адреса в проекте с выбором типа и параметров.
|
||||
|
||||
## Создать IP-адрес
|
||||
|
||||
Вы можете зарезервировать IP-адрес из диапазона IP-адресов и назначить этот адрес новой ВМ.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Нажмите **Создать IP-адрес**.
|
||||
6. Введите параметры адреса:
|
||||
- **Имя**: введите имя IP-адреса.
|
||||
- **Зона доступности**: выберите зону доступности, в которой будут доступен адрес.
|
||||
- добавьте тег адресу при необходимости.
|
||||
7. Нажмите **Создать**.
|
||||
|
||||
На странице **Виртуальные машины → IP-адреса** появится новый IP-адрес со статусом **Зарезервирован**.
|
||||
@@ -0,0 +1,27 @@
|
||||
# Удаление IP-адреса
|
||||
|
||||
Раздел описывает процедуру удаления IP-адреса с проверкой зависимостей и освобождением ресурсов.
|
||||
|
||||
## Удалить IP-адрес
|
||||
|
||||
:::warning Важно
|
||||
Не удаляйте внешний IP-адрес из списка IP-адресов. В случае удаления IP-адреса пропадет возможность создания ВМ с доступом в интернет.
|
||||
:::
|
||||
|
||||
Если для IP-адреса установлено автоудаление, то адрес удалится во время удаления ВМ.
|
||||
|
||||
Если для IP-адреса не установлено автоудаление, то адрес удаляется вручную:
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Удалите адрес одним из способов:
|
||||
- В разделе **IP-адреса**:
|
||||
- В списке адресов найдите IP-адрес, который необходимо удалить.
|
||||
- Cправа от имени IP-адреса нажмите кнопку .
|
||||
- Подтвердите действие.
|
||||
- На странице IP-адреса:
|
||||
- Нажмите на имя адреса в списке IP-адресов, который необходимо удалить.
|
||||
- Нажмите на … в правом углу страницы и выберите **Удалить**.
|
||||
- Подтвердите действие.
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор
|
||||
link: /compute/compute-how-to/compute-ip/compute-ip-about.md
|
||||
description: Описание типов IP-адресов
|
||||
- title: Просмотр IP-адресов
|
||||
link: /compute/compute-how-to/compute-ip/compute-ip-view.md
|
||||
description: Инструкция по просмотру списка адресов и их параметров
|
||||
- title: Создание IP-адреса
|
||||
link: /compute/compute-how-to/compute-ip/compute-ip-create.md
|
||||
description: Процедура создания нового IP-адреса в проекте
|
||||
- title: Управление IP-адресами
|
||||
link: /compute/compute-how-to/compute-ip/compute-ip-manager.md
|
||||
description: Операции сохранения и переименования IP-адресов
|
||||
- title: Удаление IP-адреса
|
||||
link: /compute/compute-how-to/compute-ip/compute-ip-del.md
|
||||
description: Удаление IP-адреса и освобождение ресурсов
|
||||
---
|
||||
|
||||
# IP-адреса
|
||||
@@ -0,0 +1,44 @@
|
||||
# Управление 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-адрес сохранится в вашем проекте и может быть назначен новой ВМ.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Нажмите на имя адреса в списке IP-адресов.
|
||||
6. На странице адреса нажмите кнопку **Изменить**, расположенную ниже флажка **Автоудаление**.
|
||||
7. Снимите флажок **Автоудаление**, если он установлен.
|
||||
8. Нажмите **Сохранить**.
|
||||
|
||||
## Присвоить имя IP-адресу
|
||||
|
||||
Имя IP-адреса отображается только на странице **Виртуальные машины → IP-адреса**. На параметрах виртуальной машины отображается значение IP-адреса.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Нажмите на имя адреса в списке IP-адресов.
|
||||
6. Нажмите на … и выберите **Переименовать**.
|
||||
7. Введите новое имя IP-адреса.
|
||||
8. Нажмите ✓.
|
||||
@@ -0,0 +1,21 @@
|
||||
# Просмотр IP-адресов
|
||||
|
||||
Раздел содержит инструкции по просмотру списка IP-адресов в проекте.
|
||||
|
||||
## Посмотреть список IP-адресов
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **IP-адреса**.
|
||||
5. Отобразится список всех 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-адрес [доступен для назначения](../compute-ip/compute-ip-manager#назначить-вм-внешний-ip-адрес).
|
||||
@@ -0,0 +1,19 @@
|
||||
# Группы размещения
|
||||
|
||||
Группы размещения — это правила размещения виртуальных машин на физических хостах. Правила размещения позволяют создавать виртуальные машины на разных или на одном хосте. Политика размещения виртуальных машин действует в рамках одной зоны доступности.
|
||||
|
||||
- Правило `Affinity` размещает ВМ обязательно на одном физическом хосте.
|
||||
|
||||
- Правило `Soft-Affinity` размещает ВМ по возможности на одном физическом хосте.
|
||||
|
||||
- Правило `Anti-Affinity` размещает ВМ обязательно на разных физических хостах. Такое размещение повышает производительность и предотвращает недоступность ВМ при отказе хоста.
|
||||
|
||||
- Правило `Soft-Anti-Affinity` размещает ВМ по возможности на разных физических хостах.
|
||||
|
||||
::: warning Важно
|
||||
В группу размещения можно добавить новую ВМ. Во время создания ВМ укажите группу размещения, к которой будет принадлежать ВМ.
|
||||
|
||||
Существующая ВМ не может быть добавлена в группу размещения.
|
||||
|
||||
ВМ может быть создана в группе размещения, если для выполнения правила есть ресурсы в зоне доступности. Если ресурсов нет, то ВМ не будет создан.
|
||||
:::
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# Создание группы размещения
|
||||
|
||||
Раздел описывает процедуру создания новой группы размещения. Вы можете настроить параметры размещения виртуальных машин, выбрать имя и определить правила распределения на физических хостах.
|
||||
|
||||
## Создать группу размещения
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
5. Нажмите **Создать группу**.
|
||||
6. Введите параметры группы размещения:
|
||||
- **Имя группы размещения**: введите имя группы размещения.
|
||||
- выберите правило размещения.
|
||||
- **Зона доступности**: выберите зону доступности, в которой будут создаваться виртуальные машины по правилу размещения.
|
||||
- добавьте тег группе размещения при необходимости.
|
||||
7. Нажмите **Создать группу**.
|
||||
@@ -0,0 +1,11 @@
|
||||
# Удаление группы размещения
|
||||
|
||||
Раздел описывает процедуру удаления группы размещения.
|
||||
|
||||
## Удалить группу размещения
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
5. Справа от названия группы размещения нажмите кнопку .
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
section_links:
|
||||
- title: Обзор
|
||||
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-about.md
|
||||
description: Типы групп размещения и правила распределения ВМ на физических хостах
|
||||
- title: Создание группы размещения
|
||||
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-create.md
|
||||
description: Создание новой группы размещения
|
||||
- title: Управление группами размещения
|
||||
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-manager.md
|
||||
description: Добавление ВМ в группы и редактирование параметров размещения
|
||||
- title: Удаление группы размещения
|
||||
link: /compute/compute-how-to/compute-placement-groups/compute-placement-groups-del.md
|
||||
description: Удаление группы размещения
|
||||
|
||||
---
|
||||
|
||||
# Группы размещения
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
# Управление группами размещения
|
||||
|
||||
Раздел позволяет управлять существующими группами размещения. Доступны операции добавления виртуальных машин в группах, а также редактирование параметров размещения.
|
||||
|
||||
## Добавить виртуальную машину в группу размещения
|
||||
|
||||
Принадлежность виртуальной машины к группе размещения указывается во время [создания ВМ](../compute-servers-create.md#создать-виртуальную-машину). Уже созданную виртуальную машину нельзя добавить в группу размещения.
|
||||
|
||||
## Редактировать группу размещения
|
||||
|
||||
В группе размещения можно изменить название группы и редактировать теги.
|
||||
|
||||
1. Войдите в [личный кабинет](https://console.cloud.beeline.ru/).
|
||||
2. Выберите нужный проект в верхнем меню **Проекты**.
|
||||
3. В верхнем меню нажмите на пункт **Сервисы** и выберите сервис **Виртуальные машины**.
|
||||
4. В левом меню откройте раздел **Группы размещения**.
|
||||
5. Переименовать группу размещения:
|
||||
- Нажмите на название группы в списке групп.
|
||||
- Нажмите на … и выберите **Переименовать**.
|
||||
- Введите новое имя группы размещения.
|
||||
- Нажмите ✓.
|
||||
6. Редактировать теги группы размещения:
|
||||
- Нажмите на название группы в списке групп.
|
||||
- Нажмите **Редактировать теги**.
|
||||
- Добавьте или удалите теги.
|
||||
- Нажмите **Сохранить**.
|
||||
@@ -35,14 +35,14 @@
|
||||
:::
|
||||
11. В блоке **Настройка сети** выберите:
|
||||
- **IPv4-адрес**: выберите способ получения IP-адреса для ВМ:
|
||||
- выберите **Внутренний (назначится автоматически)**, чтобы получить IP-адрес автоматически, автоматически назначаются [внутренние IP-адреса](compute-ip.md#внутренние-ip-адреса);
|
||||
- выберите адрес из списка. В списке адресов отображается [зарезервированные IP-адреса](compute-ip.md#статусы-ip-адресов).
|
||||
- выберите **Внутренний (назначится автоматически)**, чтобы получить IP-адрес автоматически, автоматически назначаются [внутренние IP-адреса](../compute-how-to/compute-ip/compute-ip-about.md#внутренние-ip-адреса);
|
||||
- выберите адрес из списка. В списке адресов отображается [зарезервированные IP-адреса](../compute-how-to/compute-ip/compute-ip-about.md#статусы-ip-адресов).
|
||||
12. В блоке **Размещения** выберите:
|
||||
- **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](compute-affinity.md) создайте заранее.
|
||||
- **Группа размещения**: выберите правило размещения ВМ на физическом хосте. [Группу размещения](./compute-placement-groups/compute-placement-groups-about.md) создайте заранее.
|
||||
13. Включите опцию **Расширенные параметры**, чтобы использовать [cloud-init](https://cloudinit.readthedocs.io/en/latest/) для настройки ВМ.
|
||||
14. Нажмите **Создать виртуальную машину**.
|
||||
|
||||
ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](compute-ip.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`.
|
||||
ВМ появится на странице сервиса **Виртуальные машины** в разделе **Виртуальные машины** в статусе `Cоздается`. Выполняется сборка виртуального ВМ, назначается [IP-адрес](../compute-how-to/compute-ip/compute-ip-manager.md) и полное доменное имя (FQDN). После окончания сборки ВМ перейдет в статус `Включена`.
|
||||
|
||||
## Добавить диск
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
6. Значение внешнего IP-адреса указано в поле **Имя**.
|
||||
7. Убедитесь, что IP-адрес, который сопоставлен с IP-адресом `10.0.0.10`, находится в статусе `Зарезервирован`.
|
||||
|
||||
Внешний IP-адрес может быть занят другой виртуальной машиной. Если вы не планируете использовать эту ВМ в качестве джамп-хоста, то [отвяжите внешний IP-адрес](./compute-ip.md#назначить-вм-внешний-ip-адрес) от этой ВМ и [создайте новую промежуточную ВМ с FIP](#2-создать-промежуточную-вм).
|
||||
Внешний IP-адрес может быть занят другой виртуальной машиной. Если вы не планируете использовать эту ВМ в качестве джамп-хоста, то [отвяжите внешний IP-адрес](../compute-how-to/compute-ip/compute-ip-manager.md#назначить-вм-внешний-ip-адрес) от этой ВМ и [создайте новую промежуточную ВМ с FIP](#2-создать-промежуточную-вм).
|
||||
|
||||
## 2. Создать промежуточную ВМ
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
## Назначить ВМ IP-адрес
|
||||
|
||||
Если вам необходимо переиспользовать IP-адрес, то перед удалением ВМ [сохраните IP-адрес](compute-ip.md#сохранить-ip-адрес-в-проекте). При создании ВМ этот IP-адрес будет доступен для назначения.
|
||||
Если вам необходимо переиспользовать IP-адрес, то перед удалением ВМ [сохраните IP-адрес](../compute-how-to/compute-ip/compute-ip-manager.md#сохранить-ip-адрес-в-проекте). При создании ВМ этот IP-адрес будет доступен для назначения.
|
||||
|
||||
::: warning Важно
|
||||
IP-адрес можно назначить новой ВМ. Назначение IP-адреса существующей ВМ не предусмотрено.
|
||||
@@ -138,7 +138,7 @@ IP-адрес можно назначить новой ВМ. Назначени
|
||||
|
||||
Системный диск будет удален вместе с ВМ. Если к ВМ подключены дополнительные диски, то при удалении ВМ диски будут отключены. В дальнейшем эти диски можно подключить к другой ВМ.
|
||||
|
||||
IP-адрес будет удален вместе с ВМ. Чтобы оставить IP-адрес, перед удалением ВМ [сохраните IP-адрес в проекте](../compute-how-to/compute-ip.md#сохранить-ip-адрес-в-проекте). Сохраненный IP-адрес после удаления ВМ остается в вашем проекте и будет доступен для назначения новой ВМ.
|
||||
IP-адрес будет удален вместе с ВМ. Чтобы оставить IP-адрес, перед удалением ВМ [сохраните IP-адрес в проекте](../compute-how-to/compute-ip/compute-ip-manager.md#сохранить-ip-адрес-в-проекте). Сохраненный IP-адрес после удаления ВМ остается в вашем проекте и будет доступен для назначения новой ВМ.
|
||||
|
||||
::: danger Предупреждение
|
||||
Удаление ВМ необратимо. Все данные будут удалены без возможности восстановления.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user