eks安装部署入门

Mon Aug 17, 2020

200 Words|Read in about 1 Min
Tags: kubernetes   Devops  

Amazon EKS 是一种托管服务,让您能够轻松地运行Kubernetes AWS 无需安装、操作和维护您自己的Kubernetes控制平面或节点。
Kubernetes 是一个用于实现容器化应用程序的部署、扩展和管理的自动化的开源系统。

eks介绍

Amazon EKS 是一种托管服务,让您能够轻松地运行Kubernetes AWS 无需安装、操作和维护您自己的Kubernetes控制平面或节点。
Kubernetes 是一个用于实现容器化应用程序的部署、扩展和管理的自动化的开源系统。

Amazon EKS 与许多 AWS 为您的应用提供可扩展性和安全性的服务,包括:

Amazon ECR for container images 容器镜像服务器,翻译为中文就是docker仓库

Elastic Load Balancing for load distribution 分布式的弹性负载均衡,类似阿里云和腾讯云的LB服务,也有内网和公网的

IAM for authentication 认证方面和k8s的RBAC相结合,可以细粒度控制K8s各种角色,统一在IAM中集中管控

Amazon VPC for isolation 通过VPC的隔离多个k8s集群,互不干扰

Amazon EKS 为每个集群运行一个单租户 Kubernetes 控制层面,控制层面基础设施不在集群或 AWS 账户之间共享。

eks是aws的云上kubernetes解决方案,eks是弹性elastic kubernetes service的缩写。
和国内阿里云的ake和腾讯云的tke是一样的产品。

eks组成

1.计算控制平面
2.计算平面

安装前期准备

整体流程:
vpc

1.aws-cli安装
2.aws凭证配置
3.vpc创建
A.创建k8s的专有vpc

网络整体topo结构:
vpc

创建vpc为172.19.0.0/16 vpc vpc 创建后状态 vpc

B.创建子网

区域1a 的子网172.19.1.0/24 vpc 区域1b 的子网172.19.2.0/24 vpc 区域1c 的子网172.19.3.0/24 vpc 创建好的子网 vpc 设定子网路由表都为igw网关。因为我们服务需要启用istio以及lb等。所以我们这里所有子网都属于公有子网路由。

创建路由表

C.创建IGW网关

eks-igw

创建IGW网关
eks-igw

定义igw名称 eks-igw 附加到vpc eks-igw 网关附加到vpc eks-igw 附加成功后,就关联完毕了。

创建路由和子网绑定

eks-igw eks-igw 选择编辑路由 eks-igw

添加路由,0.0.0.0/0 选择Internet Gateway eks-igw 注意选择 eks-igw 选择后会出现,已有的igw eks-igw 保存后 eks-igw 管理新建的子网到该路由里面
eks-igw 上面的关联千万别忘记!!!

至此VPC和路由设置完毕!

eks集群创建

eks-create 设置好集群名称,选择好k8s版本以及角色 eks-create 角色创建看下一节 eks-create 设置相关选项,比如子网跨区、安全组、节点属性为公有,以及集群名称等。 eks-create 然后下一步 配置日志记录等。我这里就不打开了,测试用。 eks-create 总览 eks-create 然后点创建 eks-create 等待控制平面创建完毕!这个时间可以配置aws-cli ~/.aws/config 如下图所示: eks-create 测试配置 eks-create

角色创建
集群角色创建

eks-role-create

产品选择eks eks-create 使用案例选择eks-cluster然后下一步 eks-create eks-create eks-create eks-create 完成角色创建 eks-create

节点组角色创建

IAM中创建节点组角色 需要下面3种角色权限 AmazonEKSWorkerNodePolicy AmazonEKS_CNI_Policy AmazonEC2ContainerRegistryReadOnly

eks-create-ng

创建集群
生成kubeconfig
使用下面的模板生成kubeconf
aws eks --region region-code update-kubeconfig --name cluster_name 
#我这里是下面的命令生成,生成前请备份~/.kube/config
  aws eks --region ap-east-1 update-kubeconfig --name sklinux-k8s

eks-create 查看控制平面情况 eks-create

添加计算节点组

eks-create 创建的时候选择子网分布、是否允许远程访问以及密钥、节点组角色等 eks-create 节点组角色选择上面创建的节点组角色即可。比如下面这样: eks-create 然后选择节点ec2实例类型规格 eks-create 实例类型很多 eks-create AMI选择节点镜像,默认即可 eks-create 设置节点组大小,这个数量随时可以更改扩容 eks-create 开始创建 eks-create 可以看见正在创建。一个集群下可以创建多种不同配置的节点计算组加入集群,以适配各种计算和存储需求。

等待节点加入sklinux-k8s集群。

安装完毕

然后就是熟悉的k8s味道了~

操作模式和一般自己搭建的k8s集群是一样的操作,eks是和社区保持一致,服务调度、编排方面无特殊差异。

eks在CNI方面做了一些优化,pod覆盖网络不需要自己去更改使用flannel或者是calico什么的。

aws使用ENI+vpc的子网弹性网卡做了pod到pod之间的全互联网络。

最下面有我们的公众号二维码,欢迎大家关注我们的公众号,里面有我们的运维技术交流群。
码字贴图不容易谢谢!

See Also

Mon Aug 17, 2020

200 Words|Read in about 1 Min
Tags: kubernetes   Devops