【问题标题】:`aws: error: argument --region: expected one argument` when running Kubernetes on AWS在 AWS 上运行 Kubernetes 时,`aws: error: argument --region: expected one argument`
【发布时间】:2016-06-05 04:19:12
【问题描述】:

我正在关注 this guide 在 AWS 上的 Ubuntu 14.04 映像上设置 Kubernetes。

sudo apt-get update
sudo apt-get install curl
sudo apt-get install awscli
aws configure # enter credentials, etc.

# fix `locale` errors
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

export KUBE_AWS_ZONE=us-east-1b
export NUM_NODES=2
export MASTER_SIZE=t2.micro
export NODE_SIZE=t2.micro
export AWS_S3_BUCKET=my.s3.bucket.kube
export AWS_S3_REGION=us-east-1b
export INSTANCE_PREFIX=k8s

export KUBERNETES_PROVIDER=aws
curl -sS https://get.k8s.io | bash

但是这失败了……

ubuntu@ip-172-31-24-216:~$ curl -sS https://get.k8s.io | bash
Downloading kubernetes release v1.2.4 to /home/ubuntu/kubernetes.tar.gz
--2016-05-21 17:01:20--  https://storage.googleapis.com/kubernetes-release/release/v1.2.4/kubernetes.tar.gz
Resolving storage.googleapis.com (storage.googleapis.com)... 74.125.29.128, 2607:f8b0:400d:c03::80
Connecting to storage.googleapis.com (storage.googleapis.com)|74.125.29.128|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 496696744 (474M) [application/x-tar]
Saving to: ‘kubernetes.tar.gz’

100%[======================================>] 496,696,744 57.4MB/s   in 8.2s

2016-05-21 17:01:29 (58.1 MB/s) - ‘kubernetes.tar.gz’ saved [496696744/496696744]

Unpacking kubernetes release v1.2.4
Creating a kubernetes on aws...
... Starting cluster in us-east-1b using provider aws
... calling verify-prereqs
... calling kube-up
Starting cluster using os distro: jessie
Uploading to Amazon S3
+++ Staging server tars to S3 Storage: my.s3.bucket.kube/devel
usage: aws [options] <command> <subcommand> [parameters]
aws: error: argument --region: expected one argument

我尝试编辑cluster/aws/util.sh 以打印出s3_bucket_location(按照this question 的建议,我得到一个空字符串。我猜这就是它失败的原因?

The docs 说美国东部的空字符串是正常的,但我尝试更改区域(其他一切保持不变),但仍然得到一个空字符串。

确实创建了 s3 存储桶。

任何帮助将不胜感激。

【问题讨论】:

  • 一个问题可能是AWS_S3_REGION=us-east-1bus-east-1b 是一个可用区,而不是一个区域。你应该只使用us-east-1
  • 感谢您的提示。但是,当我尝试这样做时,我得到了Service ec2 not available in region us-east-。不知怎的the final character is being dropped?
  • 另一个奇怪的地方是 aws s3api get-bucket-location --bucket $AWS_S3_BUCKET 从 Ubuntu 实例运行时什么也不打印,但从我的本地 OS X 运行时打印 { "LocationConstraint": null } (我假设这是文档提到的空输出)机器。我不认为这是一个身份验证问题,因为aws s3 cp 可以很好地从 Ubuntu 实例将内容上传到存储桶,并且两台机器都使用相同的凭据进行身份验证。

标签: amazon-web-services kubernetes


【解决方案1】:

在我看来,您对区域和区域感到困惑。

使用 ec2-describe-regions 命令如下描述您的区域。

PROMPT> ec2-describe-regions
REGION us-east-1  ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
..
Use the ec2-describe-availability-zones command as follows to describe your Availability Zones within the us-east-1 region.

PROMPT>  ec2-describe-availability-zones --region us-east-1
AVAILABILITYZONE    us-east-1a  available   us-east-1
AVAILABILITYZONE    us-east-1b  available   us-east-1
AVAILABILITYZONE    us-east-1c  available   us-east-1
AVAILABILITYZONE    us-east-1d  available   us-east-1

确保在导出 AWS_S3_REGION=中使用区域

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 1970-01-01
    • 2018-10-09
    • 2017-04-27
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多