Skip to content

Commit 37e1311

Browse files
author
DataUI VCS Robot
committed
Release 18.01.2022
* Tracker: added API reference for creating a trigger. * Translations updated. * Fixes and improvements.
1 parent 2f9b366 commit 37e1311

File tree

51 files changed

+1588
-936
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1588
-936
lines changed

en/_assets/dns/security/service-roles-hierarchy.svg

Lines changed: 31 additions & 4 deletions
Loading

en/_includes/container-registry/lifecycle-rules.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
Example of the contents of a file with rules, where:
2-
32
* `description`: Description of the policy rule.
4-
* `tag_regexp`: Docker image tag for filtering.
3+
* `tag_regexp`: Docker image tag for filtering. A `test.*` regular expression for `tag_regexp` lets you get all images with tags starting with `test`.
54
* `untagged`: Flag indicating that the rule applies to Docker images without tags.
6-
* `expire_period`: Time after which the lifecycle policy may apply to the Docker image.
7-
Parameter format: Number and unit of measurement `s`, `m`, `h`, or `d` (seconds, minutes, hours, or days). `expire_period` must be a multiple of 24 hours.
5+
* `expire_period`: Time after which the lifecycle policy may apply to the Docker image. Parameter format: Number and unit of measurement `s`, `m`, `h`, or `d` (seconds, minutes, hours, or days). `expire_period` must be a multiple of 24 hours.
86
* `retained_top`: Number of Docker images that are not deleted even if they match the rule.
97

108
```json
@@ -25,6 +23,5 @@ Example of the contents of a file with rules, where:
2523
"untagged": true,
2624
"expire_period": "48h"
2725
}
28-
]
29-
```
30-
26+
]
27+
```

en/_includes/cos/previous-releases.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
### Version 2.0.4 {#version2.0.4}
99

10-
* Added a Container Optimized Image with GPU support.`yc compute image get-latest-from-family coi-base-gpu --folder-id standard-images`
10+
* Added a Container Optimized Image with GPU support: `yc compute image get-latest-from-family coi-base-gpu --folder-id standard-images`.
1111

1212
### Version 2.0.3 {#version2.0.3}
1313

@@ -46,7 +46,7 @@
4646

4747
### Version 1.1.2 {#version1.1.2}
4848

49-
* Fixes in automatic launch of Docker containers:
49+
* Fixes in automatic launch of Docker containers.
5050

5151
### Version 1.1.1 {#version1.1.1}
5252

@@ -59,21 +59,18 @@
5959
### Version 1.0.3 {#version1.0.3}
6060

6161
Fixes in automatic launch of Docker containers:
62-
6362
* When a VM is restarted and its metadata is updated, an outdated Docker container is no longer started.
6463
* Reduced the number of logs in `yc-container-daemon`.
6564
* Added retries to update a Docker container if the previous update attempt fails.
6665

6766
### Version 1.0.2 {#version1.0.2}
6867

6968
Fix in automatic launch of Docker containers:
70-
7169
* Added a detailed error message when using `docker login` for a domain with Docker Credential Helper configured.
7270

7371
### Version 1.0.1 {#version1.0.1}
7472

7573
Fix in automatic launch of Docker containers:
76-
7774
* Now Docker containers with `-` in their name are not deleted.
7875

7976
### Version 1.0 {#version1.0}

en/container-registry/concepts/vulnerability-scanner.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,15 @@ Vulnerability scanner only works with Docker images from {{ container-registry-n
77
For scanning, a Docker image is unpacked, and a search is performed for installed package versions (deb). The package versions identified are then checked against a database of known vulnerabilities.
88

99
Currently, Docker images are available and built for the following supported operating systems:
10+
* Debian 7
11+
* Debian 8
12+
* Debian 9
13+
* Debian 10
14+
* Debian 11
1015
* Ubuntu 14.04
1116
* Ubuntu 16.04
1217
* Ubuntu 18.04
1318
* Ubuntu 20.04
14-
* Ubuntu 20.10
19+
* Ubuntu 20.10
20+
* Ubuntu 21.04
21+
* Ubuntu 21.10
Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,73 @@
11
# Creating a lifecycle policy
22

3-
To create a lifecycle policy, specify the [repository ID](../repository/repository-list.md#repository-get).
3+
To create a lifecycle policy, specify the [repository name](../repository/repository-list.md#repository-get).
44

55
{% list tabs %}
66

77
- CLI
88

99
{% include [cli-install](../../../_includes/cli-install.md) %}
1010

11-
{% include [lifecycle restrictions](../../../_includes/container-registry/lifecycle-restrictions.md) %}
12-
1311
1. Set [policy rules](../../concepts/lifecycle-policy.md#lifecycle-rules) and save them to a file named `rules.json`.
1412

1513
{% include [lifecycle-rules](../../../_includes/container-registry/lifecycle-rules.md) %}
1614

1715
1. Create a lifecycle policy by running the command with the following parameters:
18-
* `repository-id`: ID of the repository.
16+
* `repository-name`: Repository name.
17+
* `rules`: Path to the file with the policy description.
18+
* `description`: Description of the lifecycle policy (optional).
1919
* `name`: Policy name (optional).
2020

2121
{% include [name-format](../../../_includes/name-format.md) %}
2222

23-
* `description`: Description of the lifecycle policy (optional).
24-
25-
* `rules`: Path to the file with the policy description.
26-
2723
{% note info %}
2824

29-
The default policy is created with the `DISABLED` status. It is possible (but not recommended) to create an active policy directly by setting the `--active` flag, or [to enable a policy](../../operations/lifecycle-policy/lifecycle-policy-update.md#update-status) after it is created.
25+
The default policy is created with the `DISABLED` status. We do not recommend creating an active policy with the `--active` flag right away.
3026

3127
{% endnote %}
3228

3329
```bash
3430
yc container repository lifecycle-policy create \
35-
--repository-id crp3cpm16edqql0t30s2 \
31+
--repository-name crp3cpm16edqql0t30s2/ubuntu \
3632
--name test-policy \
3733
--description "disabled lifecycle-policy for tests" \
3834
--rules ./rules.json
35+
```
36+
37+
Command execution result:
38+
39+
```bash
3940
id: crp6lg1868p3i0emkv1b
4041
name: test-policy
4142
repository_id: crp3cpm16edqql0t30s2
4243
description: disabled lifecycle-policy for tests
4344
status: DISABLED
44-
created_at: "2020-05-28T15:05:58.143719Z"
45+
created_at: "2021-03-08T16:58:32.984940Z"
4546
rules:
46-
- description: remove prod images older than 60 days except 20 last ones
47+
- description: delete prod Docker images older than 60 days but retain 20 last ones
4748
expire_period: 5184000s
4849
tag_regexp: prod
4950
retained_top: "20"
50-
- description: remove all test and untagged images older than 48 hours
51-
expire_period: 172800s
51+
- description: delete all test Docker images except 10 last ones
5252
tag_regexp: test.*
53+
retained_top: "10"
54+
- description: delete all untagged Docker images older than 48 hours
55+
expire_period: 172800s
5356
untagged: true
5457
```
5558

5659
The `expired_period` parameter value in the response is displayed in seconds. This is a technical constraint, the format will be changed.
5760

5861
1. Make sure that the policy is created by running the command with the following parameter:
59-
* `repository-id`: ID of the repository.
62+
* `repository-name`: Repository name.
63+
64+
```bash
65+
yc container repository lifecycle-policy list --repository-name crp3cpm16edqql0t30s2/ubuntu
66+
```
67+
68+
Command execution result:
6069

6170
```bash
62-
yc container repository lifecycle-policy list --repository-id crp3cpm16edqql0t30s2
6371
+----------------------+-------------+----------------------+----------+---------------------+--------------------------------+
6472
| ID | NAME | REPOSITORY ID | STATUS | CREATED | DESCRIPTION |
6573
+----------------------+-------------+----------------------+----------+---------------------+--------------------------------+
@@ -68,4 +76,10 @@ To create a lifecycle policy, specify the [repository ID](../repository/reposito
6876
+----------------------+-------------+----------------------+----------+---------------------+--------------------------------+
6977
```
7078

79+
{% note tip %}
80+
81+
You can [test the lifecycle policy](lifecycle-policy-dry-run.md) to check what Docker images comply with the policy rules. Docker images are not actually deleted during dry runs.
82+
83+
{% endnote %}
84+
7185
{% endlist %}

en/cos/error/index.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Troubleshooting
2+
3+
To view Docker image startup logs, use the command:
4+
5+
```bash
6+
sudo journalctl -u yc-container-daemon
7+
```
8+
9+
Below are common errors and ways to fix them.
10+
11+
## The service account has no permission to download the specified Docker image {#permission-denied}
12+
13+
**Example:**
14+
15+
```
16+
Mar 25 12:07:39 instance-name yc-container-daemon[516]:
17+
{"level":"DEBUG","ts":"2021-03-25T12:07:39.785Z","caller":"container/image.go:75","msg":"trying to pull image (0/3)"}
18+
Mar 25 12:07:39 instance-name yc-container-daemon[516]:
19+
{"level":"DEBUG","ts":"2021-03-25T12:07:39.786Z","caller":"container/image.go:47","msg":"pulling image: 'cr.yandex/crpgrueprnc1сgt1la/nginx:1.16.0'"}
20+
Mar 25 12:07:41 instance-name yc-container-daemon[516]:
21+
{"level":"ERROR","ts":"2021-03-25T12:07:41.005Z","caller":"container/image.go:78","msg":"error pulling image: Error response from daemon: pull access denied for cr.yandex/crpgruernc1bgt1la/ngin>
22+
```
23+
24+
**How to fix it:** [Assign to the service account](../../iam/operations/sa/set-access-bindings.md) the `viewer` or `container-registry.images.puller` role for a repository, registry, or folder. For more information about the roles available in the service, see the [documentation](../../container-registry/security/index.md).
25+
26+
## No network access to {{ container-registry-name }} {#connection-to-cr}
27+
28+
**Example:**
29+
30+
```
31+
Sep 28 08:00:18 cl17bn514eluq62dj8jo-unar yc-container-daemon[952]:
32+
{"level":"DEBUG","ts":"2019-09-28T08:00:18.842Z ","caller":"container/container.go:121","msg":"trying to pull image (0/3)"}
33+
Sep 28 08:00:18 cl17bn514eluq62dj8jo-unar yc-container-daemon[952]:
34+
{"level":"DEBUG","ts":"2019-09-28T08:00:18.842Z","caller":"container/container.go:162","msg":"pulling image: 'cr.yandex/crpgrueprnhc1сgt1lab/nginx:1.16.0'"}
35+
Sep 28 08:00:33 cl17bn514eluq62dj8jo-unar yc-container-daemon[952]:
36+
{"level":"ERROR","ts":"2019-09-28T08:00:33.843Z","caller":"container/container.go:124","msg":"error pulling image: Error response from daemon: Get https://cr.yandex/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"}
37+
```
38+
39+
**How to fix it:** Check if there is access to {{ container-registry-name }} by running the command: `nc -vz cr.yandex 443`. If not, [configure a NAT instance](../../solutions/routing/nat-instance.md) or assign a public IP address to the VM with the {{ coi }}. You can also enable egress NAT for the subnet where the VMs are created.
40+
41+
{% note warning %}
42+
43+
Egress NAT can only be enabled for subnets if the alpha flag is selected for egress NAT on {{ yandex-cloud }}. To request it, [contact support](https://console.cloud.yandex.com/support/create-ticket).
44+
45+
{% endnote %}
46+
47+
## No service account is linked to the VM to enable access to {{ container-registry-name }} {#sa-for-registry}
48+
49+
**Example:**
50+
51+
```
52+
Mar 25 12:13:23 instance-name yc-container-daemon[518]:
53+
{"level":"WARN","ts":"2021-03-25T12:13:23.466Z","caller":"container/container.go:240","msg":"Attempting to pull Container Registry image with empty credentials. It will only work if public registr>
54+
Mar 25 12:13:23 instance-name yc-container-daemon[518]:
55+
{"level":"DEBUG","ts":"2021-03-25T12:13:23.466Z","caller":"container/image.go:75","msg":"trying to pull image (0/3)"}
56+
Mar 25 12:13:23 instance-name yc-container-daemon[518]:
57+
{"level":"DEBUG","ts":"2021-03-25T12:13:23.467Z","caller":"container/image.go:47","msg":"pulling image: 'cr.yandex/crpgruehrnhc0bgt1lab/nginx:1.16.0'"}
58+
Mar 25 12:13:24 instance-name yc-container-daemon[518]:
59+
{"level":"ERROR","ts":"2021-03-25T12:13:24.706Z","caller":"container/image.go:78","msg":"error pulling image: Error response from daemon: unauthorized: Authentication problem ; requestId = b2f6f07>
60+
```
61+
62+
**How to fix it:** For private registries, [link a service account](../../compute/operations/vm-connect/auth-inside-vm.md#link-sa-with-instance) to access Docker images.
63+
64+
## Not enough disk space {#disk-full}
65+
66+
**Example:**
67+
68+
```
69+
Mar 25 12:34:22 intr13-vm yc-container-daemon[518]:
70+
{"level":"DEBUG","ts":"2021-03-25T12:34:22.043Z","caller":"container/image.go:75","msg":"trying to pull image (0/3)"}
71+
Mar 25 12:34:22 intr13-vm yc-container-daemon[518]:
72+
{"level":"DEBUG","ts":"2021-03-25T12:34:22.043Z","caller":"container/image.go:47","msg":"pulling image: 'openjdk:7' (normalized: 'docker.io/library/openjdk:7')"}
73+
Mar 25 12:34:46 intr13-vm yc-container-daemon[518]:
74+
{"level":"DEBUG","ts":"2021-03-25T12:34:46.276Z","caller":"container/image.go:59","msg":"received ImagePull response: ... {\"message\":\"failed to register layer: Error processing tar file(exit status 1): write /usr/bin/hostnamectl: no space left on device\"},\"error\":\"failed to register layer: Error processing tar file(exit status 1): write /usr/bin/hostnamectl: no space left on device\"}\r\n)."}
75+
```
76+
77+
**How to fix it:** Stop the VM and [increase the disk size](../../compute/operations/disk-control/update.md#change-disk-size).

en/cos/index.yaml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
1-
title: Yandex Container Optimized Solutions
1+
title: Yandex Container Solution
22
description:
33
- >-
4-
Yandex Container Optimized Solutions are use cases based on VMs with a
5-
Container Optimized Image for running Docker containers. The Container
6-
Optimized Image is also available on the <a
7-
href="https://cloud.yandex.com/marketplace/products/f2ea2mtumfqb17k9eso7">marketplace</a>.
4+
Yandex Container Solution provides use cases based on VMs with a Container
5+
Optimized Image for running Docker containers. The Container Optimized Image
6+
is also available in the <a
7+
href="https://cloud.yandex.com/marketplace/products/f2ea2mtumfqb17k9eso7">Cloud
8+
Marketplace</a>.
89
meta:
9-
title: Yandex Container Optimized Solutions
10+
title: Yandex Container Solution
1011
links:
1112
- title: Getting started
1213
description: Create your first VM from a Container Optimized Image
1314
href: quickstart
1415
- title: Concepts
1516
description: Learn more about the Container Optimized Image
1617
href: concepts/
17-
- title: Solutions
18-
description: Container Optimized Image solutions
18+
- title: Use cases
19+
description: Container Optimized Image use cases
1920
href: solutions/
2021
- title: Quotas and limits
2122
description: Technical and organizational limitations
2223
href: concepts/limits
2324
- title: Pricing policy
2425
description: Pricing and cost calculations
2526
href: pricing
27+
- title: Troubleshooting
28+
description: Common errors and how to fix them
29+
href: error/

0 commit comments

Comments
 (0)