Alibaba Cloud Container Service FAQ
Alibaba Cloud Container Service FAQ
Container Service
FAQ
Issue: 20190911
Container Service FAQ / Legal disclaimer
Legal disclaimer
Alibaba Cloud reminds you to carefully read and fully understand the terms and
conditions of this legal disclaimer before you read or use this document. If you have
read or used this document, it shall be deemed as your total acceptance of this legal
disclaimer.
1. You shall download and obtain this document from the Alibaba Cloud website
or other Alibaba Cloud-authorized channels, and use this document for your
own legal business activities only. The content of this document is considered
confidential information of Alibaba Cloud. You shall strictly abide by the
confidentiality obligations. No part of this document shall be disclosed or provided
to any third party for use without the prior written consent of Alibaba Cloud.
3. The content of this document may be changed due to product version upgrades
, adjustments, or other reasons. Alibaba Cloud reserves the right to modify
the content of this document without notice and the updated versions of this
document will be occasionally released through Alibaba Cloud-authorized
channels. You shall pay attention to the version changes of this document as they
occur and download and obtain the most up-to-date version of this document from
Alibaba Cloud-authorized channels.
4. This document serves only as a reference guide for your use of Alibaba Cloud
products and services. Alibaba Cloud provides the document in the context that
Alibaba Cloud products and services are provided on an "as is", "with all faults
" and "as available" basis. Alibaba Cloud makes every effort to provide relevant
operational guidance based on existing technologies. However, Alibaba Cloud
hereby makes a clear statement that it in no way guarantees the accuracy, integrity
, applicability, and reliability of the content of this document, either explicitly
or implicitly. Alibaba Cloud shall not bear any liability for any errors or financial
losses incurred by any organizations, companies, or individuals arising from
their download, use, or trust in this document. Alibaba Cloud shall not, under any
circumstances, bear responsibility for any indirect, consequential, exemplary,
incidental, special, or punitive damages, including lost profits arising from the use
Issue: 20190911 I
Container Service FAQ / Legal disclaimer
or trust in this document, even if Alibaba Cloud has been notified of the possibility
of such a loss.
5. By law, all the content of the Alibaba Cloud website, including but not limited to
works, products, images, archives, information, materials, website architecture,
website graphic layout, and webpage design, are intellectual property of Alibaba
Cloud and/or its affiliates. This intellectual property includes, but is not limited
to, trademark rights, patent rights, copyrights, and trade secrets. No part of the
Alibaba Cloud website, product programs, or content shall be used, modified
, reproduced, publicly transmitted, changed, disseminated, distributed, or
published without the prior written consent of Alibaba Cloud and/or its affiliates
. The names owned by Alibaba Cloud shall not be used, published, or reproduced
for marketing, advertising, promotion, or other purposes without the prior written
consent of Alibaba Cloud. The names owned by Alibaba Cloud include, but are
not limited to, "Alibaba Cloud", "Aliyun", "HiChina", and other brands of Alibaba
Cloud and/or its affiliates, which appear separately or in combination, as well as
the auxiliary signs and patterns of the preceding brands, or anything similar to
the company names, trade names, trademarks, product or service names, domain
names, patterns, logos, marks, signs, or special descriptions that third parties
identify as Alibaba Cloud and/or its affiliates).
6. Please contact Alibaba Cloud directly if you discover any errors in this document.
II Issue: 20190911
Container Service FAQ / Legal disclaimer
Generic conventions
Table -1: Style conventions
> Multi-level menu cascade. Settings > Network > Set network
type
Issue: 20190911 I
Container Service FAQ / Generic conventions
II Issue: 20190911
Container Service FAQ / Generic conventions
Contents
Legal disclaimer...................................................................... I
Generic conventions................................................................ I
1 General questions................................................................. 1
1.1 What is Container Service?........................................................................ 1
1.2 What types of containers does Container Service support........................... 1
1.3 Is Container Service charged?.................................................................... 1
1.4 What are the application and service in Container Service.......................... 1
1.5 Why do I need to create an application when I want to start a container?.... 2
1.6 Does Container Service support external Docker images?............................2
2 Swarm FAQs......................................................................... 3
2.1 How to deploy services in an orchestration template to each node of a
cluster?....................................................................................................... 3
2.2 What are the differences between redeployment and rescheduling?............ 3
2.3 What if the application redeployment does not take effect?......................... 4
2.4 How to expose or modify application external ports?.................................. 4
2.5 How do Container Service network models realize cross-host container
communication?..........................................................................................5
2.6 FAQs about routing service........................................................................ 8
2.7 FAQs about custom Server Load Balancer................................................. 12
2.8 How to troubleshoot access link issues?....................................................14
2.9 How does Container Service isolate containers of different users?..............20
2.10 "Invalid input for user ram ak or ak secret" is displayed when you create
an application and add custom Server Load Balancer instances.................. 20
2.11 FAQs about changing application configurations..................................... 21
2.12 Common errors leading to cluster creation failure.................................. 22
2.13 Configure DNS options in containers and optimize DNS resolution........... 23
2.14 How to increase data disks for Container Service Docker?........................24
2.15 How to troubleshoot log issues?..............................................................27
2.16 Use Nginx + FPM in Container Service.................................................... 29
2.17 Node exception...................................................................................... 29
2.18 FAQs about the operating system and kernel of Container Service............ 31
2.19 Failed to pull the image..........................................................................32
2.20 Does Container Service support granting permissions to sub-accounts in
RAM console?............................................................................................ 33
IV Issue: 20190911
Container Service FAQ / 1 General questions
1 General questions
Issue: 20190911 1
Container Service FAQ / 1 General questions
We recommend that you divide a complex application into different components and
Container Service helps you manage the component properties and the connection
between components.
Each component is composed of a group of containers with the same images and
configurations, which is known as a service in Container Service.
2 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
2 Swarm FAQs
Compose V1/V2: Use the extension capability label global provided by Alibaba Cloud
Container Service.
Compose V1/V2
You can set the service as a global service by using the extension capability label
global provided by Alibaba Cloud Container Service.
node of the cluster. A container is automatically deployed to nodes that are newly
added to the cluster.
Note:
For more information about the global label, see #unique_14.
Example:
monitor :
image : sample
labels :
aliyun . global : true
• You update the application image after deploying the application and want to
deploy the application according to the updated image.
Issue: 20190911 3
Container Service FAQ / 2 Swarm FAQs
Rescheduling
Note:
Rescheduling only changes the distribution of containers on nodes and does not pull
the image to redeploy the application.
1. View image sha256 to check whether or not the image after the redeployment is
the latest one. Follow these steps to view the image sha256: Log on to the Container
Service console. Click Applications in the left-side navigation pane. Select the
cluster in which the application resides from the Cluster list. Click the application
name. Click the Containers tab. View the image. If the image is the latest one, the
redeployment is successful.
2. Make sure whether or not you have mounted a data volume to the host.
Redeployment will not update the data volume and the old data volume on the host
will still be used. Therefore, any data volume configuration changes made in the
new image will not take effect after the application is redeployed.
Note:
For more information about redeployment, see #unique_18.
4 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
To expose multiple ports, click the plus icon and enter multiple host ports and
container ports.
6. Click Update.
The host port maps to the container port and the port connection using Telnet is
successful.
Issue: 20190911 5
Container Service FAQ / 2 Swarm FAQs
the IP address of the host is removed, avoiding port conflict issues among multiple
containers when configuring NAT. The following section describes how to realize
cross-host container communication under different network models.
VPC helps you build an isolated network environment based on Alibaba Cloud. You
can have full control over your own virtual network, including a free IP address
range, Classless Inter-Domain Routing (CIDR) block division, and the configurations
of route table and gateway. By configuring the VPC route table, Container Service
forwards inter-container access requests to the Elastic Compute Service (ECS)
instances corresponding to the container IP address range. See as follows.
Start Docker daemon on a cluster node (172.16.1.1) and set the default IP address
range of the bridge network to 192.168.1.0/24. Start Docker daemon on another node
(172.16.1.2) and set the default IP address range of the bridge network to 192.168.2
.0/24. Set the corresponding routing rule in the VRouter route table under the VPC
to forward access requests from 192.168.1.0/24 to the node 172.16.1.1. Set a similar
routing rule for the other node.
6 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
of the route table to a corresponding machine. The access request is then forwarded
to the bridge of Docker0 according to the routing rule created by Docker. Finally, the
request is forwarded to the container with the IP address 192.168.2.2.
Besides, Container Service assigns independent CIDR blocks and route entries for
containers in the VPC. This helps avoid conflicting with original VSwitch CIDR block,
route table entries, and IP route table on the machine. Otherwise, the access request
might not be forwarded to the correct container.
In a classic network:
Docker 1.9 and later versions support a native cross-host container network based
on the VXLAN protocol. In a classic network, Container Service creates a network
environment for inter-container communication in one cluster based on Docker
Overlay Network. The multi-host container network virtualized from the Docker
Overlay Network is the same virtualized subnet, so containers can communicate with
each other across hosts.
Cross-node link
However, the Docker link only supports container connection on the same host
node, while Container Service supports cross-node container connection. When the
container IP address is changed, the container alias in the link is also changed. These
actions are consistent with those on the link used on a single node.
Containers in Container Service retain routes for external network access. Therefore
, if a container needs to access the services or IP address of a virtual machine, the IP
address or domain name of the virtual machine can be used directly.
References
Issue: 20190911 7
Container Service FAQ / 2 Swarm FAQs
A: See #unique_23 and #unique_24 for how to deploy an application in a simple and
fast way.
Q: For high availability purpose, only one access endpoint is provided for multiple
containers with the same functions. How is this implemented in Container Service?
8 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
Q: How to add a domain name to a service exposed to the public network and enable
the service to support HTTP?
Q: Why are exceptions reported on the HTTP port of Server Load Balancer?
Issue: 20190911 9
Container Service FAQ / 2 Swarm FAQs
A: Exceptions are reported when the health check on the HTTP port of Server Load
Balancer fails. The health check principle is to send an HTTP HEAD request, which
is similar to a GET request, but only the response header needs to be returned. The
domain name needs to be configured for the HTTP request, and the default value
is the IP address. Server Load Balancer considers the health check as successful
when the request returns the status code 200. Bypass Server Load Balancer and
check whether the request returns the status code 200 by running the curl command
directly on your host node.
Q: Why are exceptions reported on the HTTPS port of Server Load Balancer?
A: Exceptions are reported when the health check on the HTTPS port of Server Load
Balancer fails. The health check principle is to send an HTTP HEAD request, which
is similar to a GET request, but only the response header needs to be returned. The
domain name needs to be configured for the HTTP request, and the default value is
the IP address. Server Load Balancer considers the health check as successful when
the request returns the status code 200. For an HTTPS port, the request domain name
must be configured when you configure the health check. Otherwise, the health check
fails by default (the request of the default IP address is forwarded to the routing
container, but the routing container does not know to which backend the request
is to be forwarded, and error 503 is returned). Bypass Server Load Balancer and
check whether the request returns the status code 200 by running the curl command
directly on your host node. Check the application validity if the status code 200 is not
returned.
A: The cluster can bind at most one Server Load Balancer instance and the Server
Load Balancer instance can be unbound from the cluster. For more information, see
#unique_28.
A: Not supported currently. You can manually create a Server Load Balancer instance
and then bind it to port 9080 of the cluster node. When the node is expanded, you
must maintain the backend server of your created Server Load Balancer instance on
your own, for example, increasing or reducing the number of backend servers.
10 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
A: The container name can be used as the internal domain name when a container
accesses another container in the same cluster.
Q: How are service discovery and Server Load Balancer between containers in the
same cluster implemented?
A: The routing service proxy is used for the forwarding and discovery. See Routing
and Server Load Balancer between services in a cluster.
A: See #unique_30.
Q: The Web routing rule can be set by using the aliyun . routing . port_ $
A: The two methods are essentially the same. The Web routing rule set by using the
aliyun . routing . port_ $ container_ port in the orchestration template
can be reflected in the Web routing rule on the Update Service page. However, the
Web routing rule set by updating the service configurations cannot be reflected in
the orchestration template. Configuring the Web routing rule by Update Service
facilitates you to operate in the console, troubleshoot the issues, and check the
errors. This Web routing rule configuration form is converted into a label of the
orchestration template and then used to update the service configurations.
Q: What if the default routing service does not meet corner cases?
Q: How to obtain the real IP address of the client after using the simple routing?
A: For all the requests that use simple routing, Container Service adds x-forwarded-
for information in the request headers.
Note:
Issue: 20190911 11
Container Service FAQ / 2 Swarm FAQs
The header may contain multiple lines. The real IP address of the client can be
obtained from the x-forwarded-for of the first line.
A: The custom Server Load Balancer can be used in the following scenarios:
• In Layer-7 protocol Server Load Balancer, a route is customized for each service.
Services of non-container clusters access the services of containers in container
clusters when a traditional architecture is migrated to a container architecture.
• In Layer-4 protocol Server Load Balancer, a route is customized for each service.
Services of non-container clusters access the services of containers in container
clusters when a traditional architecture is migrated to a container architecture.
• Intranet Server Load Balancer instances are used for communication in Container
Service.
are zero:
If the ECS instances deployed in the same intranet segment cannot communicate with
each other, check whether or not the following parameters are set correctly:
12 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
A: The custom Server Load Balancer can automatically remove routes of the backend
containers that are not running when you are updating the service configurations,
and when the container is stopped or fails to be deployed. You must maintain the
other settings of Server Load Balancer.
A: Currently, the limits for custom Server Load Balancer are as follows:
• Create a Server Load Balancer instance, name it, and create the corresponding
listening port. Then, provide the Server Load Balancer instance name $ slb_name
or $ slb_id , the port to be exposed, the used protocol $ scheme (possible values
include tcp, http, https, and udp), the mapped container port $ container_ port
by using extension labels, and specify the frontend port $ front_port of the
• You must specify the host:container port mapping of the service port to be exposed
and then use the standard Dockerfile label ports to specify the port mapping.
You must specify the host port and this port cannot conflict with the host ports
mapped by other services. Server Load Balancer uses the host port to bind the
backend ECS instance.
• A service can only use one or more Server Load Balancer instances to expose
the service port. Services cannot share the same Server Load Balancer instance
because they are distributed in different ECS instance backends.
• The host that has the service with Server Load Balancer NAT mapping deployed
uses the same host:container port mapping. Therefore, these services only have
one instance on each ECS instance.
• The supported Server Load Balancer protocol $ scheme includes tcp, http, https,
and udp.
• Create a listening port on your own in the Alibaba Cloud Server Load Balancer
console.
• Log on to the Server Load Balancer console to modify the configurations for the
Server Load Balancer instance used in Container Service, such as bandwidth
limitation, on your own.
Issue: 20190911 13
Container Service FAQ / 2 Swarm FAQs
• The value of the lb label is that the backend is bound automatically after you
configure the corresponding labels, without binding the backend ECS instance of
Server Load Balancer by yourself. Therefore, except for binding the Server Load
Balancer backend, set and modify the Server Load Balancer instances on your own
in the Alibaba Cloud Server Load Balancer console.
• Container Service helps you generate a Resource Access Management (RAM) user
(you must activate RAM). This account has some Server Load Balancer permission
s, but does not have the permission to create or delete Server Load Balancer
instances. Use this account to help you manage the Server Load Balancer instances
used in Container Service, for example, binding some nodes in the cluster as the
service backend.
When a web container is set up in Container Service and routing is used to forward
requests to this server, the request link is as follows: client > DNS resolution > Server
Load Balancer VIP > > an acsrouting container in the cluster > forwarded to the web
container. This is shown in the following figure.
14 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
If a problem occurs at any stage in this process, user requests may not be correctly
routed to the web container. Troubleshoot the access link issues as follows, starting
from the health checks of the developers’ web containers, where issues are always
located.
Procedure
2. Click the name of the service (web in this example) that provides the web
container.
3. Check the health check status of the container that provides the web service.
Under the Containers tab, check whether or not all of the containers have Normal
displayed for Health Check. If not, click the Logs tab to check the error message
and click the Events tab to check if any deployment exception occurs. If the health
check is set for the application, you must confirm that the health check page
Issue: 20190911 15
Container Service FAQ / 2 Swarm FAQs
returns the status code 200 to make sure the health check status is normal. See the
following figure.
If the health check status of the container is normal, you must bypass the routing
service and check the accessibility of the web container directly. As shown in the
preceding figure, you can view the container IP of a web container. Log on to the
routing container of a machine in the cluster and use the container IP to request
the web container page. If the returned HTTP status code is less than 400, the web
container page is normal. In the following example, docker exec - it
The request then returns the status code 302, indicating that the web container can
be accessed normally.
16 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
Upgrade routing to the latest version. Log on to each machine in the cluster (any
machine might receive requests, no matter on which machine the application
container is deployed), and request the routing health check page.
Copy the page test . html to a machine with a browser and use the browser
to open the local file test . html . Check the corresponding web service and
container backend. The first part is the stats information, providing routing
statistics. The second part is the frontend statistics. The third part, which provides
backend information, is essential to view. Here, w_web_80_servers indicates
the information for the port 80 backend servers of the service web under the
application w. In total, three backend servers exist, namely, the backend has three
Issue: 20190911 17
Container Service FAQ / 2 Swarm FAQs
containers that provide web service. Green indicates that the routing container can
connect to the three containers and the system works properly. Any other color
indicates an exception.
6. Check whether or not the Server Load Balancer VIP is forwarding data correctly
and the health check status is normal.
a) Find the Server Load Balancer VIP of the cluster. Click Clusters in the left-side
navigation pane in the Container Service console.
b) Click Manage at the right of the cluster (test in this example). Click Load
Balancer Settings in the left-side navigation pane. View and copy the Server
Load Balancer ID. Click Products > Server Load Balancer to go to the Server
18 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
Load Balancer console. Click Manage at the right of the Server Load Balancer
instance to enter the instance details page.
d) View the health status of the Server Load Balancer port. Click Listeners in the
left-side navigation pane. The Running status indicates the port works properly.
e) Check the status of the backend servers mounted to Server Load Balancer. Click
Servers > > Backend Servers in the left-side navigation pane.Make sure the
Health Check status is Normal.
7. Check whether or not the domain name is correctly resolved to the Server
Load Balancer VIP. For example, use the ping or dig command to view the
Issue: 20190911 19
Container Service FAQ / 2 Swarm FAQs
resolution result. The domain name must be resolved and directed to the Server
Load Balancer VIP address found in the previous step .
If the cluster is of the classic network, the access between clusters of different users is
isolated by security groups.
If the network type of the cluster is Virtual Private Cloud (VPC), the access between
clusters of different users is isolated by VPC.
You can customize the security groups or VPC access permissions of the clusters that
you own.
1. Check whether the RAM service is activated or not. If yes, go to step 2. If not,
activate the service and try again.
2. Check whether the number of RAM accounts has reached its upper limit or not. If
yes, delete an account and try again.
20 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
If you are sure the service has no local data volumes or the container data in local
data volumes can be lost, turn on the Force Reschedule switch. Then, Container
Service will schedule the container to another machine according to the scheduling
settings in the Template.
Note:
Turning on the Force Reschedule switch to schedule the container to another
machine will cause the container data in the local data volumes on the current
machine to become lost. So proceed with caution.
Example
web :
image : ' nginx : latest '
restart : always
environmen t :
- ' constraint : aliyun . node_index == 2 '
ports :
- 80
labels :
aliyun . scale : 1
In this situation:
• If the Force Reschedule switch is turned off, Container Service will ignore your
scheduling settings and still deploys the container on node1.
• If the Force Reschedule switch is turned on, Container Service will schedule the
container to node2. The container data in local data volumes on node1 will be lost.
Issue: 20190911 21
Container Service FAQ / 2 Swarm FAQs
• Server Load Balancer error. (You can provide the RequestID to the support staff.)
22 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
• The Pay-As-You-Go Elastic Compute Service (ECS) instances exceed the quota.
• Mismatched instance type. (This error is mainly from the API users.)
Container Service to specify the DNS server and DNS options for the container.
For example:
testdns :
image : nginx
dns :
dns_option s :
- use - vc
Issue: 20190911 23
Container Service FAQ / 2 Swarm FAQs
- no - tld - query
The preceding example configures the DNS server and DNS query option for the
service container.
Note:
Docker embeds a DNS server in each container for service discovery. The DNS server
in the / etc / resolv . conf file of the container is the built-in DNS server
127.0.0.11 for Docker. Docker listens to DNS requests of built-in servers and forwards
the DNS requests to the server configured by dns .
When requesting a domain name, the DNS resolution might time out or fail, which
causes the website to become inaccessible. The operating system generally enables
the nscd service as the DNS cache to avoid DNS resolution failure. However, the
nscd service is generally not configured in container images. You can install the
nscd service on the container that you often perform DNS resolution to optimize
Install the nscd software package. Then, when the container is started, start the
For Docker, the container and image data is stored in the / var / lib / docker
directory by default. You can check the currently occupied disk size of this directory
by running the du command. For example:
24 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
Many Docker images are big. Therefore, several images might occupy large disk space
, which leads to insufficient disk space. By increasing the data disks for the Docker
data directory, the requirements of increasing images or containers continuously can
be met.
1. Log on to the Elastic Compute Service (ECS) console to purchase the cloud disk
with corresponding configurations.
2. Click Instances in the left-side navigation pane. Select the region and then click
the instance name or click Manage at the right of the instance. > Click Instance
Disks in the left-side navigation pane. > Click Attach Disk in the upper-right
corner.Select the purchased disk and record the mount point / dev / xvd * or
view the disk ID, which is consistent with your recorded one.
2. Partition the disk by running the fdisk command. Then, format the disk by
using mkfs . ext4 . For more information, see #unique_42. For example:
1. Stop Docker daemon first to guarantee the data integrity in the process of moving
Docker data. Run the command service docker stop to stop the Docker
daemon.
2. Move the data in the Docker default data directory to a backup directory. For
example, if the backup directory is / var / lib / docker_dat a , run the
3. Mount the newly formatted disk to the / var / lib / docker directory. Run the
command echo "/ dev / vdb1 / var / lib / docker ext4 defaults
0 0 " >>/ etc / fstab && mkdir / var / lib / docker && mount
- a .
4. Move the backed up Docker data to the new disk. Run the command mv / var /
26 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
1. Start Docker daemon and run the command service docker start .
2. Run the command df . You can see / var / lib / docker is mounted to the
new disk.
3. Run the command docker ps to check if containers are lost. Restart the
related containers as required, for example, the containers without configuring the
restart : always label.
application but no logs are collected to Log Service, follow these steps to troubleshoot
the issue.
Note:
Troubleshoot the issue by following these steps and do not skip the steps.
The application is not successfully deployed if Logstore is not created. Check if any
error message about deployment is in the application Events.
determine the version of the ilogtail image according to the output. If the version is
0.11.6, upgrade the system services to the latest version (currently, the latest version
is 0.13.4). After the upgrade, query the logs in the Log Service console after the
application generates new logs.
Issue: 20190911 27
Container Service FAQ / 2 Swarm FAQs
Run the command docker exec - it < ilogtail container ID > cat
/ usr / local / ilogtail / ilogtail . LOG and determine what the issue is
ACL appears in the logs if the primary account does not configure the AccessKey.
Create the AccessKey for the primary account first. Check whether or not the
primary account configures the AccessKey even if Unauthorized ErrorMessage:no
authority, denied by ACL does not appear in the logs.
4. Check whether or not the machine IP is in the Log Service machine group
2. Click the name of the Log Service project that corresponds to the cluster. The
project naming rule is acslog-project-<first 10 letters of the cluster ID>.
4. Click Machine Status at the right of the machine group and check if the IP address
of the current machine is in the IP list.
Make sure the primary account has at least one enabled AccessKey.
Enter the business application container and determine whether or not logs are
actually generated. For stdout logs, use the docker logs command directly.
28 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
This image can be used to create a container for Nginx and PHP-FPM. The created
container can pull website codes from Git, and push or pull the code changes to or
from Git. The container can also update the orchestration file by using the variables
passed to Docker so as to update your codes and settings.
This image also supports Let’s Encrypt SSL configurations, customizing Nginx
configurations, modifying Nginx/PHP configurations, X-Forwarded-For headers, and
UID mapping (support local data volumes).
Reason analysis
Node exception occurs mainly because of your heavy node load, including the CPU
usage, memory usage, network traffic, and I/O of the node.
Swarm clusters
You can view the monitoring data of your node either in the Container Service
console or Alibaba Cloud CloudMonitor console.
4. Click Monitor at the right of the node that you want to view.
Issue: 20190911 29
Container Service FAQ / 2 Swarm FAQs
2. Click Cloud Service Monitoring > Container Service in the left-side navigation
pane.
3. Click Node Monitoring at the right of the cluster in which the node you want to
view resides.
4. Click Monitoring Charts at the right of the node to view the monitoring data of
this node.
Note:
To monitor the node load in real time, you can create alarm rules for the node.
Click Create Alarm Rule in the upper-right corner of the page.
Kubernetes clusters
You can view the monitoring data of your node either in the Container Service
console or in the Kubernetes application group.
2. Click Kubernetes > Clusters > > Nodesin the left-side navigation pane.
3. Select the cluster from the Cluster drop-down list. Click Monitor at the right of
the node that you want to view.
3. Click More > at the right of the cluster and then select Upgrade monitoring
service.Click OK in the displayed dialog box.
Solutions
30 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
• Restricting the resources used by the containers. See #unique_46 for swarm
clusters.
• Adding monitoring charts and creating alarm rules for the group resources in the
cluster, which avoids the node from being overloaded.
The error that occurs when deleting or updating a container is similar to the
following one:
Generally, this error occurs because the kernel version of the node where the
container resides is low. Log on to the node where the container resides and run the
command uname - a to view the kernel version. The error occurs if:
• The kernel version is equal to or earlier than 3.13 for Ubuntu 14.04.
Solutions
You can upgrade the kernel of the node where the container resides to solve the issue.
1. Schedule the application from this node by using the scheduling constraint. For
more information, see #unique_48.
Ubuntu 14.04
CentOS 7
3. Restart the node after upgrading the kernel to bring the new version of kernel into
effect.
Issue: 20190911 31
Container Service FAQ / 2 Swarm FAQs
4. Schedule the application back to this node by using the scheduling constraint.
The time on Linux is obtained by using the kernel interface, and the kernel is shared
by containers on the same node. Therefore, time is consistent. Generally, NTP
time synchronization is configured on nodes. No additional configurations for NTP
synchronization are required in containers.
If you failed to pull the image, log on to the image repository again by following these
steps:
Procedure
1. On the Cluster List page, click Manage at the right of the cluster in which the
application is to be deployed.
3. In the displayed dialog box, enter the logon information and then click OK.
To use the Alibaba Cloud image repository, enter the domain name of the Alibaba
Cloud image repository (for example, registry.cn-hangzhou.aliyuncs.com) in the
Repository Domain Name field, your Alibaba Cloud username in the Username
32 Issue: 20190911
Container Service FAQ / 2 Swarm FAQs
field, and the independent password used to log on to the repository in the
Password field.
For how to grant permissions to sub-accounts in the Container Service console, see
#unique_52.
Issue: 20190911 33