-
Notifications
You must be signed in to change notification settings - Fork 35
/
container-group.yml
142 lines (142 loc) · 3.24 KB
/
container-group.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 创建一个ECI容器组,包含VPC、交换机、NAT网关、EIP和安全组,支持日志收集,配置容器镜像、CPU、内存和端口映射。
en: Create an ECI (Elastic Container Instance) container group, encompassing a VPC
(Virtual Private Cloud), switch, NAT Gateway, EIP (Elastic IP), and security group,
with support for log collection. Configure the container with image specifications,
CPU allocation, memory limits, and port mappings.
Parameters:
ContainerName:
Type: String
Description: The name of the Container.
Default: mytest
ContainerImage:
Type: String
Description: The name of the Image.
Default: busybox
ContainerGroupName:
Type: String
Description: The name of the ContainerGroup.
Default: mytest
RestartPolicy:
Type: String
Description: 'The policy for restarting the instance. Default value: Always.'
Default: Always
AllowedValues:
- Always
- OnFailure
- Never
VSwitchName:
Type: String
Default: mytest
ZoneId:
Type: String
VpcName:
Type: String
Default: mytest
SlsEnable:
Type: Boolean
Description: Enable user log collection. The default is false.
Default: false
AllowedValues:
- 'true'
- 'false'
Resources:
VPC:
Type: ALIYUN::ECS::VPC
Properties:
VpcName:
Ref: VpcName
CidrBlock: 192.168.0.0/16
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Ref: ZoneId
VpcId:
Ref: VPC
VSwitchName:
Ref: VSwitchName
CidrBlock: 192.168.10.0/24
DependsOn: VPC
NatGateway:
Type: ALIYUN::VPC::NatGateway
Properties:
VpcId:
Ref: VPC
VSwitchId:
Ref: VSwitch
DependsOn: VSwitch
EIP:
Type: ALIYUN::VPC::EIP
Properties:
InstanceChargeType: Postpaid
InternetChargeType: PayByTraffic
EIPAssociation:
Type: ALIYUN::VPC::EIPAssociation
Properties:
InstanceId:
Ref: NatGateway
AllocationId:
Ref: EIP
DependsOn:
- EIP
- NatGateway
SnatEntry:
Type: ALIYUN::VPC::SnatEntry
Properties:
SourceVSwitchIds:
- Ref: VSwitch
SnatTableId:
Fn::GetAtt:
- NatGateway
- SNatTableId
SnatIp:
Fn::GetAtt:
- EIP
- EipAddress
DependsOn: EIPAssociation
SG:
Type: ALIYUN::ECS::SecurityGroup
Properties:
VpcId:
Ref: VPC
DependsOn: VPC
ContainerGroup:
Type: ALIYUN::ECI::ContainerGroup
Properties:
VSwitchId:
Ref: VSwitch
SecurityGroupId:
Ref: SG
Container:
- Name:
Ref: ContainerName
Image:
Ref: ContainerImage
Cpu: 2
Memory: 4
Port:
- Port: 8080
Protocol: TCP
- Port: 8888
Protocol: TCP
ContainerGroupName:
Ref: ContainerGroupName
RestartPolicy:
Ref: RestartPolicy
SlsEnable:
Ref: SlsEnable
Cpu: 2
Memory: 4
Outputs:
ContainerGroupId:
Value:
Fn::GetAtt:
- ContainerGroup
- ContainerGroupId
ContainerGroupName:
Value:
Fn::GetAtt:
- ContainerGroup
- ContainerGroupName