2016-05-21 4 views
1

Ich folge this guide, um Kubernetes auf einem Ubuntu 14.04 Bild auf AWS einzurichten. jedoch`aws: Fehler: Argument - Region: erwartet ein Argument` bei der Ausführung von Kubernetes auf AWS

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 

dies nicht gelingt, ...

[email protected]:~$ 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 

ich cluster/aws/util.sh versuchte Bearbeitung auszudrucken s3_bucket_location (nach Beratung von this question, und ich erhalte eine leere Zeichenkette. Ich vermute, das ist, warum es nicht ?

The docs sagen, eine leere Zeichenfolge für US East ist normal, aber ich habe versucht, Region ändern (mit allem anderen gleich bleibt) und ich bekomme immer noch eine leere Zeichenfolge.

Der s3-Bucket wird erstellt.

Jede Hilfe wäre willkommen.

+2

Ein Problem könnte sein, 'AWS_S3_REGION = us-east-1b'. 'us-east-1b' ist eine Verfügbarkeitszone, keine Region. Du solltest einfach "us-east-1" verwenden. –

+0

Danke für den Tipp. Wenn ich das versuche, bekomme ich 'Service ec2 nicht verfügbar in der Region us-east-'. Irgendwie [der letzte Charakter wird fallen gelassen] (https://github.com/kubernetes/kubernetes/blob/1eb221e96feadf0d54c987230406e8d732ddfd61/cluster/aws/util.sh#L97)? – user1953221

+0

Ein anderes bisschen Seltsamkeit ist, dass 'aws s3api get-bucket-location -bucket $ AWS_S3_BUCKET' nichts ausgibt, wenn es von der Ubuntu-Instanz ausgeführt wird, sondern' '{" LocationConstraint ": null}' (was ich nehme, ist die leere Ausgabe der Dokumentation erwähnt), wenn von meinem lokalen OS X-Rechner ausgeführt wird. Ich glaube nicht, dass es sich um ein Authentifizierungsproblem handelt, da 'aws s3 cp' gut funktioniert, um Inhalte aus der Ubuntu-Instanz in den Bucket zu laden, und beide Maschinen sind mit den gleichen Zugangsdaten authentifiziert. – user1953221

Antwort

1

Sieht für mich aus wie Sie Region und Zone verwirrt bekommen.

Verwenden Sie den Befehl ec2-describe-regions wie folgt, um Ihre Regionen zu beschreiben.

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 

sicher sein, eine Region im Export AWS_S3_REGION verwenden =