为 Amazon EKS 配置 kubectl

最近重新给aws eks配置kubectl,记录下配置过程。首先需要配置awscli,其次就是配置kubectl的config了。

配置awscli

  • 安装awscli需要满足Python 2 version 2.6.5+ or Python 3 version 3.3+,centos7安装python3可以参考CentOS7下安装 Python3.7.1
  • 安装
#--upgrade参数会更新安装中所有依赖,--user会安装到用户目录下,而不会更改系统库。
pip3 install awscli --upgrade --user

# Find your shell's profile script in your user folder. 
ls -a ~
#.  ..  .bash_logout  .bash_profile  .bashrc

#添加到.bash_profile结尾
export PATH=~/.local/bin:$PATH

# 使当前session生效
source ~/.bash_profile

aws --version
#aws-cli/1.16.72 Python/3.7.1 Linux/4.10.4-1.el7.elrepo.x86_64 botocore/1.12.62
  • 配置
aws configure
#AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
#AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
#Default region name [None]: us-west-2
#Default output format [None]: json

到目前为止awscli已经安装成功,接下来就是配置Kubectl了

配置kubectl

  • 安装kubectl可以用kubernetes官方提供的,也可以用aws提供的,我这边用aws eks的,与服务器版本保持一致。
curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin/
kubectl version --short --client
#Client Version: v1.10.3
  • 为 Amazon EKS 安装 aws-iam-authenticator
curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/amd64/aws-iam-authenticator
chmod +x ./aws-iam-authenticator
#这里需要把aws-iam-authenticator修改成heptio-authenticator-aws,不然会报错
mv aws-iam-authenticator /usr/local/bin/heptio-authenticator-aws
  • 添加config
mkdir ~/.kube
cd ~/.kube
#将自己的eks的配置文件放进去,Kubectl默认读取~/.kube/config配置文件

可以愉快的通过kubectl访问你在eks的集群了。

kubectl get pods

参考

aws

相关推荐