vvg*_*vvg 3 amazon-ec2 amazon-web-services aws-fargate aws-cdk
我正在将 AWS CDK 用于基础设施即代码(下面是 C# .NET 中的 CDK 代码片段)。
我创建了一个 VPC,如下所示:
// vpc (testing)
this.vpc = new Vpc(this, "vpc", new VpcProps() {
MaxAzs = 1,
NatGateways = 1
});
Run Code Online (Sandbox Code Playgroud)
我创建了一个集群,如下所示:
// cluster
this.cluster = new Cluster(this, "cluster", new ClusterProps() {
Vpc = this.vpc
});
Run Code Online (Sandbox Code Playgroud)
我对 Fargate 任务有一个工作人员定义,如下所示:
// worker
this.workerDefinition = new FargateTaskDefinition(this,
"worker-definition",
new FargateTaskDefinitionProps() {
Cpu = 256,
MemoryLimitMiB = 512
}
);
Run Code Online (Sandbox Code Playgroud)
我有 Fargate 工作线程服务,如下所示,它通过实例计数和任务定义将工作线程服务与集群联系起来:
var worker = new FargateService(this, "worker", new FargateServiceProps() {
Cluster = this.cluster,
DesiredCount = k, // up to k worker instances
TaskDefinition = this.workerDefinition
});
Run Code Online (Sandbox Code Playgroud)
问题:
您运行的 Fargate 任务永远不会在您创建和管理的 EC2 实例上运行,它们将在 AWS 管理的计算容量上运行。使用 Fargate 的好处之一是您不必担心管理 EC2 实例。
回答您的问题:
如果您想在您创建的 EC2 实例上运行任务,则需要使用 EC2 启动模式启动任务。
如果您使用 FARGATE 启动类型,Fargate 将在 AWS 管理的计算容量上运行您的任务。您运行的任何 EC2 实例都不会用于这些任务。
不可以,您创建并添加到集群的 EC2 实例仅用于使用 EC2 启动类型启动的任务。
运行服务时,ECS 服务计划程序将根据您为服务定义的扩展标准启动或停止任务。
| 归档时间: |
|
| 查看次数: |
2910 次 |
| 最近记录: |