AWS EC2快速入门
译者:李加庆
校对:无
前提条件
1.您需要一个AWS账户,访问http://aws.amazon.com获得。
2.安装并配置AWS命令行界面。
3.你需要一个拥有EC2全部权限的AWS实例配置文件和角色。
注:这个脚本默认使用“默认”的AWS实例配置文件,您可以使用AWS_DEFAULT_PROFILE
环境变量来明确地配置AWS实例配置文件:export AWS_DEFAULT_PROFILE=myawsprofile
启动集群
支持程序:get-kube
#使用 wget
export KUBERNETES_PROVIDER=aws; wget -q -O - https://get.k8s.io | bash
#使用 cURL
export KUBERNETES_PROVIDER=aws; curl -sS https://get.k8s.io | bash
注:这个脚本调用cluster/kube-up.sh, 而cluster/kube-up.sh反过来使用cluster/aws/config-default.sh调用cluster/aws/util.sh。
这个过程需要约5至10分钟。一旦集群启动,你的主虚拟机和节点虚拟机的IP地址将被打印,同样地,有关运行在集群中的默认服务(监控,日志,DNS)的信息也会被打印。用户凭据和安全令牌都写在〜/.kube/config
中,它们对使用CLI或HTTP基本认证是必要的。
默认情况下,该脚本将会使用在美国西部-2A(俄勒冈州)运行了两个t2.micro实例的ubuntu,提供一个新的VPC和一个四节点的k8s集群。您可以根据下面的文本,重写定义在config-default.sh中的变量来改变这种默认的行为:
export KUBE_AWS_ZONE=eu-west-1c
export NUM_MINIONS=2
export MINION_SIZE=m3.medium
export AWS_S3_REGION=eu-west-1
export AWS_S3_BUCKET=mycompany-kubernetes-artifacts
export INSTANCE_PREFIX=k8s
...
该脚本也会尝试创建或者复用名为“kubernetes”的密钥对和名为“kubernetes-master”及“kubernetes-minion”的IAM文件。如果这些文件已经存在,请确保您想要在这里使用它们。
注:如果使用已存在的“kubernetes”密钥对,那么您必须设置AWS_SSH_KEY密钥指向您的私有密钥。
替代方案
这里提供一个例子,可以让你使用EC2用户数据,建立一个基于CoreOS的Kubernetes集群。
开始使用您的集群
命令行管理工具:kubectl
集群启动脚本将会在您的工作站留下一个kubernetes目录。可以与之替代的是,您还可以从这个页面下载最新的Kubernetes发行版。 接下来,在PATH中添加适当的二进制文件夹,以便可以访问kubectl:
# OS Xexport PATH=<path/to/kubernetes-directory>/platforms/darwin/amd64:$PATH
# Linuxexport PATH=<path/to/kubernetes-directory>/platforms/linux/amd64:$PATH
此工具的最新文档页面可以在这里找到:kubectl manual。 默认情况下,kubectl将使用集群启动时生成的kubeconfig文件对API进行身份验证。更多相关信息,请阅读kubeconfig文件。
示例
看一个简单的nginx示例,尝试使用一下您的新集群。 “Guestbook”应用程序是另外一个流行的Kubernetes入门示例: guestbook 例子。 更多完整的应用程序,请查看示例目录。
拆除集群
确保您用来提供给集群的环境变量仍在输出,然后调用下面kubernetes目录中的脚本:
cluster/kube-down.sh
补充阅读
更多关于管理和使用Kubernetes集群的细节请参见Kubernetes文档。