如何跨多个可用区启用 AWS EBS Volume?
How to enable AWS EBS Volume across multiple availability zones?
如何从多个可用区访问 AWS EBS 卷?
我的案例详情:
我有一个跨多个可用区的 VPC:
data "aws_availability_zones" "available" {}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "3.10.0"
name = "${local.project_slug}-main-vpc"
cidr = "10.0.0.0/16"
azs = data.aws_availability_zones.available.name
...
在这个集群中,我有一个 max_capacity 为 n:
的托管节点组
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "17.22.0"
cluster_name = "${local.project_slug}-main-eks"
cluster_version = "1.19" # K8s version
vpc_id = module.vpc.vpc_id
subnets = module.vpc.public_subnets
# managed nodes
node_groups = {
grey = {
desired_capacity = 1
min_capacity = 1
max_capacity = 10
instance_types = ["t3.medium"]
}
}
...
但我只能将 AWS EBY 卷分配给单个可用区:
resource "aws_ebs_volume" "api" {
availability_zone = "eu-central-1b"
size = 5 #GiBs
}
如果我的 EKS 托管节点组在另一个可用区中提供新节点,则无法安装该卷。
我该怎么做?这里有什么更好的做法?
How can I access a AWS EBS Volume from multiple availability zones?
简短的回答是你不能,EBS 卷绑定到一个可用区(想想一个 data-center 中的磁盘,该磁盘不能同时在多个 data-center 中)。
How would I do this? What's a better practice here?
这取决于“这个”是什么。如果要提供一些共享数据,那么您可以使用 EFS 或 S3 之类的东西。
如果它用于有状态集,您可以有多个节点组,每个节点组都限定在一个 AZ 范围内?
如何从多个可用区访问 AWS EBS 卷?
我的案例详情:
我有一个跨多个可用区的 VPC:
data "aws_availability_zones" "available" {}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "3.10.0"
name = "${local.project_slug}-main-vpc"
cidr = "10.0.0.0/16"
azs = data.aws_availability_zones.available.name
...
在这个集群中,我有一个 max_capacity 为 n:
的托管节点组module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "17.22.0"
cluster_name = "${local.project_slug}-main-eks"
cluster_version = "1.19" # K8s version
vpc_id = module.vpc.vpc_id
subnets = module.vpc.public_subnets
# managed nodes
node_groups = {
grey = {
desired_capacity = 1
min_capacity = 1
max_capacity = 10
instance_types = ["t3.medium"]
}
}
...
但我只能将 AWS EBY 卷分配给单个可用区:
resource "aws_ebs_volume" "api" {
availability_zone = "eu-central-1b"
size = 5 #GiBs
}
如果我的 EKS 托管节点组在另一个可用区中提供新节点,则无法安装该卷。
我该怎么做?这里有什么更好的做法?
How can I access a AWS EBS Volume from multiple availability zones?
简短的回答是你不能,EBS 卷绑定到一个可用区(想想一个 data-center 中的磁盘,该磁盘不能同时在多个 data-center 中)。
How would I do this? What's a better practice here?
这取决于“这个”是什么。如果要提供一些共享数据,那么您可以使用 EFS 或 S3 之类的东西。
如果它用于有状态集,您可以有多个节点组,每个节点组都限定在一个 AZ 范围内?