Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services KOPS:AWS VPC上具有专用网络的Kubernetes群集:列出节点时出错_Amazon Web Services_Kubernetes_Vpc_Kops - Fatal编程技术网

Amazon web services KOPS:AWS VPC上具有专用网络的Kubernetes群集:列出节点时出错

Amazon web services KOPS:AWS VPC上具有专用网络的Kubernetes群集:列出节点时出错,amazon-web-services,kubernetes,vpc,kops,Amazon Web Services,Kubernetes,Vpc,Kops,我遵循了本教程: 但是,在创建kubernetes群集后,我得到以下错误: $ kops validate cluster Using cluster from kubectl context: k8s-cluster.mydomain.com Validating cluster k8s-cluster.mydomain.com 错误消息: 关于如何调试或解决此问题有何想法 我用来创建的步骤如下: 设置专有网络和子网 创建专有网络 $ aws ec2 create-vpc --cidr-b

我遵循了本教程:

但是,在创建kubernetes群集后,我得到以下错误:

$ kops validate cluster
Using cluster from kubectl context: k8s-cluster.mydomain.com
Validating cluster k8s-cluster.mydomain.com
错误消息: 关于如何调试或解决此问题有何想法


我用来创建的步骤如下:

设置专有网络和子网

创建专有网络

$ aws ec2 create-vpc --cidr-block 10.0.0.0/16 --region eu-central-1
允许DNS主机名

$ aws ec2 modify-vpc-attribute --vpc-id ${VPC_ID} --enable-dns-hostnames "{\"Value\":true}" --region ${REGION}
创建internet网关

$ aws ec2 create-internet-gateway --region ${REGION}
$ aws ec2 create-route --route-table-id ${RTB_PUBLIC_1} --destination-cidr-block 0.0.0.0/0 --gateway-id ${INTERNET_GATEWAY_ID} --region ${REGION}
将internet网关连接到VPC

$ aws ec2 attach-internet-gateway --internet-gateway-id ${INTERNET_GATEWAY_ID} --vpc-id ${VPC_ID} --region ${REGION}
[公共子网]创建三个公共区域/子网(3x)

将公用子网设置为自动将公用ip分配给实例(3x)

[专用子网]创建三个专用区域/子网(3x)

[设置NAT网关]分配地址(3x)

为公共区域创建NAT网关(3倍)

[配置路由表]创建路由表

$ aws ec2 create-route-table --vpc-id ${VPC_ID} --region ${REGION}
为internet网关创建路由

$ aws ec2 create-internet-gateway --region ${REGION}
$ aws ec2 create-route --route-table-id ${RTB_PUBLIC_1} --destination-cidr-block 0.0.0.0/0 --gateway-id ${INTERNET_GATEWAY_ID} --region ${REGION}
将公共子网与路由表关联(3x)

[专用区路由表]为每个专用区创建路由表(3x)

创建到NAT网关的路由(3x)

关联子网(3x)


其他配置

将S3存储桶设置为Kops状态存储

$ aws s3api create-bucket --bucket my-state-store --region ${REGION} --create-bucket-configuration LocationConstraint=eu-central-1
创建集群

$ kops create cluster --node-count 3 --zones ${AVAILABILITY_ZONE_1},${AVAILABILITY_ZONE_2},${AVAILABILITY_ZONE_3} --master-zones ${AVAILABILITY_ZONE_1},${AVAILABILITY_ZONE_2},${AVAILABILITY_ZONE_3} --state ${KOPS_STATE_STORE} --dns-zone=${DNS_ZONE_PRIVATE_ID} --dns private --node-size m5.large --master-size m5.large --topology private --networking weave --vpc=${VPC_ID} --bastion ${NAME}
编辑群集以配置子网

$ kops edit cluster ${NAME}
注意:更新子网以与上面创建的公共/私有子网相对应

$ kops update cluster ${NAME} --yes

问题解决了。这不是kops的问题,问题出在AWS M5和linux版本上

kops默认Debian jessie映像不支持用于EBS的nvme 卷,由AWS M5实例类型使用。因此, 主机无法启动,因为它们无法装载EBS卷

资料来源:

$ aws ec2 associate-route-table --route-table-id ${RTB_PUBLIC_1} --subnet-id ${PUBLIC_SUBNET_1} --region ${REGION}
$ aws ec2 create-route-table --vpc-id ${VPC_ID} --region ${REGION}
$ aws ec2 create-route --route-table-id ${RTB_PRIVATE_1} --destination-cidr-block 0.0.0.0/0 --nat-gateway-id ${NAT_GW_1} --region ${REGION}
$ aws ec2 associate-route-table --route-table-id ${RTB_PRIVATE_1} --subnet-id ${PRIVATE_SUBNET_1} --region ${REGION}
$ aws s3api create-bucket --bucket my-state-store --region ${REGION} --create-bucket-configuration LocationConstraint=eu-central-1
$ kops create cluster --node-count 3 --zones ${AVAILABILITY_ZONE_1},${AVAILABILITY_ZONE_2},${AVAILABILITY_ZONE_3} --master-zones ${AVAILABILITY_ZONE_1},${AVAILABILITY_ZONE_2},${AVAILABILITY_ZONE_3} --state ${KOPS_STATE_STORE} --dns-zone=${DNS_ZONE_PRIVATE_ID} --dns private --node-size m5.large --master-size m5.large --topology private --networking weave --vpc=${VPC_ID} --bastion ${NAME}
$ kops edit cluster ${NAME}
$ kops update cluster ${NAME} --yes