锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

EKS独领风骚

时间:2022-10-10 23:30:00 3cg610b三极管

前言

随着公司的逐步发展,开发了更多的子项目和小项目,需要宣传,但管理和部署新的应用程序是一个繁琐的项目,部署麻烦,更新非常不方面。尤其是面向用户的时候,体验感很差。所以想用docker镜像部署,然后通过k8s对docker管理镜像。借用docker和k8s官方给出的镜像一个master和一台node,能成功搭建kubernetes结构和成功的访问连接master节点上的node并拉取节点docker容器中的Nginx镜像。

但考虑到普通k8s模块维护繁琐,维护成本高,尤其是小公司。我们甚至需要解决底层问题。

EKS——最佳选择

在这种情况下,选择使用开源社区提供的发行版本和各种管理工具已经成为一。对于企业来说,找到一个能够接入最低心理负担的人 Kubernetes 服务是最好的选择。与社区众多发行版相比,Amazon EKS 屏蔽了 Kubernetes 底层的基础设施部分, Worker 保留给用户的层次工作不仅能给用户一定的自由,还能让用户无痛地从传统架构切换到云原生架构。
对企业而言,Amazon 的 EKS 服务,无疑是最好的选择。

亚马逊云技术提供了100多个免费包装。其中,计算资源Amazon EC第一年12个月免费,750小时/月;储存资源 Amazon S3 第一年12个月免费,5GB存储容量标准。
https://aws.amazon.com/cn/free/?nc2=h_ql_pr_ft&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free Tier Types=*all&awsf.Free Tier Categories=*all&trk=e0213267-9c8c-4534-bf9b-ecb1c06e4ac6&sc_channel=el

Amazon EKS 尽可能降低用户维护整个集群的成本,通过托管控制平面节点。在使用 Amazon EKS 之后,企业只需要维护和执行业务 Worker 整个集群的运行可以通过节点来完成。剩下的工作,交给 AWS 来完成。AWS 它可以为用户提供一个跨多个 AWS 可扩展和高度可用的控制平面,以确保在任何情况下 Kubernetes API 和 etcd 服务可以正常运行。确保业务的可用性。
不仅如此,Amazon EKS 还通过整合 AWS 其他业务,如 Elastic Load Balancing、Amazon CloudWatch 等服务,让整个 Kubernetes 集群可以在不崩溃的情况下更动态地完成业务请求。

和一般的 Kuberntes 服务相比, Amazon EKS 提供和上游 Kubernetes 一致的 API,这意味着如果企业想要使用它,如果企业想要使用它 Kubernetes 生态插件或工具可直接无痛接入,享受来自 Kubernetes 赋能社区。
同时,Amazon EKS 与上游保持一致 Amazon EKS 可以十分轻松的完成 Kubernetes 升级集群。Amazon EKS 将正在运行的集群自动更新到最新 Kubernetes 版本,对于企业来说,集群已经完成了整体升级,无需任何关注,使企业集群能够享受 Kubernetes 最新特点。

让我们打开它EKS之旅吧!
https://aws.amazon.com/cn/eks/?nc2=h_ql_prod_ct_eks&trk=c9e61d5e-4432-4aa4-9c86-e210c20e7415&sc_channel=el

EKS常规操作

1.创建基本的环境网络

方案一

本方案参考文件 https://baijiahao.baidu.com/sid=1726091106781949858&wfr=spider&for=pc
创建VPC
在这里插入图片描述

创建InternetGateway 并关联至VPC

创建Public Subnet 的路由表

编辑路由规则,添加图中所示的路由规则

创建Pubilc Subnet,两个, 选择不同的 Availability Zone,并将路由表关联为 Pubilc Route

创建NAT Gateway,选择NAT Gateway所在子网为Pubilc Subnet

创建Private Subnet 编辑路由规则

创建Private Subnet选择不同的可用区同可用区域Private Route

到目前为止,网络环境已经建成,可以在Pubilc subnet 和 Private Subnet 启动EC2进行测试

方案二

本方案流程参考文件https://blog.csdn.net/zhuyunier/article/details/86538525
1、登录AWS,在服务中点击VPC,打开 Amazon VPC 控制台;

2.在导航窗格中选择 VPC 控制面板。选择控制面板 Launch VPC Wizard (启动 VPC 向导);

3.选择单个公有子网VPC,点击选择;

在配置页面上 VPC 在名称字段中输入您的 VPC 的名称,并在子网在名称字段中输入您的子网的名称,确认信息无误后点击创建;

5.成功创造后VPC您可以看到新创建的列表VPC;
6.通过导向创建VPC,会自动创建Internet网关,并附加到创建中VPC同时自动创建路由表,将创建子网关联到路由表中,并添加访问外网的路由;
7、向 VPC 关联 IPv6 CIDR 块。选择你的 VPC,然后选择操作和 编辑CIDRs。选择添加 IPv6 CIDR 块后,选择关闭。

8.在导航窗格中选择 Internet 网关。你可以。 VPC 列找到你的 VPC 连接的 Internet 该列显示了网关 VPC 的 ID 和名称 。

9.在导航窗格中选择 路由表有两个路由表和 VPC 关联。选择自定义路由表 (Main 列显示 No),然后选择 Routes 详细信息窗格中显示路由信息的选项卡:
该表格中的第一行是本地路由,可允许 VPC 通信中的例子。默认情况下,这条路由存在于每个路由表中,您不能删除它。
第二行显示 Amazon VPC 向导添加的路由允许目标是 VPC (0.0.0.0/0) 外部的 IPv4 流量从子网流向地址 Internet 网关。

9、选择主路由表。主路由表拥有一个本地路由,但没有其他路由。

10、打开 Amazon VPC 控制台,在导航窗格中选择子网,点击创建子网;

11.根据需要指定子网的详细信息,然后选择创建;

12.选择创建的子网,单击操作,设置修改自动分配IP设置;

13.自动分动分配IPv点击保存4个地址;

14、打开 Amazon VPC 控制台 https://console.aws.amazon.com/vpc/。
15.选择导航窗格中的安全组,单击Create Security Group。

16、在 Group name 输入字段 WebServerSG 作为安全组的名称,并提供说明。 VPC 在菜单中选择你 VPC 的 ID,点击确认信息正确后Create。

17.选择你刚创建的。 WebServerSG 安全组 (可在 Group Name 列中查看其名称)。
18、在 Inbound Rules 在选项卡上,选择 Edit,然后添加入站流量规则,以下为RDS数据库规则:


方案三

1.打开控制台点击服务,搜索 cloudformation,点击进入

2、点击创建堆栈

3、点击 Amazon S3 URL,输入 https://cf-templtes-2ok3jb255bix-cn-north-1.s3.cnnorth-1.amazonaws.com.cn/amazon-eks-vpc-private-subnets-bj.yaml

4、在堆栈名称中输入 L2C-EKS,并点击下一步

5、页面拉至最下方,出现下图内容,点击下一步

6、页面拉至最下方,勾选我确认,并创建堆栈。

7、等待资源由 CREATE_IN_PROGRESS 状态变为 CREATE_COMPLETE 的状态


8、相关资源,点击服务,搜索 VPC,点击进入。会发现一个名称为 L2C-eks-VPC 的 VPC

9、点击子网,可以看到已经创建完成 2 个公有子网与 2 个私有子网

10、点击路由表,可以看到已经创建完成的一个公有路由表与 2 个私有路由表

11、点击公有路由表,可以看到已经配置好的路由规则

12、点击私有路由表,可以看到已经配置好的路由规则

13、点击安全组,可以看到已经创建好的安全组,并查看相关的入站规则,如否为如下图所
示。

14、点击服务,输入 IAM 点击进入

15、点击角色,在搜索框里输入 eks,可以看到 L2C-EKS 和 L2C-EKS-node 两个角色

二、创建 EKS 集群

1、点击服务,在搜索框中搜索 EKS,点击进入 EKS 的控制台

2、点击集群,选择创建集群

3、输入名称为 L2C-EKS,选择版本为 1.19,并选择角色为 L2C-EKS 点击下一步

4、选择刚刚创建的 L2C-eks-VPC

5、选择安全组为创建的 L2C-EKS,点击下一步

6、下滑页面在集群终端节点访问中选择私有

7、保持默认,点击下一步
8、点击创建集群,等待集群创建完毕。

9、选择选择已经创建好的集群点击配置,选择计算,点击添加节点组

10、添加名称,选择 L2C-EKS-node 点击下一步,并选择 IAM 角色

10、选择 AMI 类型为 Amzon Linux2 的镜像,实例类型选择 t3.medium,其余保持默认,点
击下一步

11、指定子网,选择创建的 4 个子网点击下一步

12、点击创建等待计算节点创建成功

三、创建堡垒机

1、点击做上角的服务按钮,选择 ec2,进入 ec2 控制台

2、在左侧菜单栏里面选择实列

3、点击右上角启动实力

4、在快速启动中,选中 Amazon Linux 2,点击选择镜像

5、选择 t2.mirco 的实例,点击下一步

6、在实例配置中选择已经创建好的 L2C-eks-VPC

7、选择一个公有子网

8、开启自动分配公有 ip,配置完成后点击下一步

9、选择默认存储设置,点击下一步
10、添加如下
标签点击下一步

11、选择已经创建好的 L2C-EKS 安全组

12、点击审核与启动,在确认与上述操作无误后点击启动

13、选择创建一个新的密钥对

14、输入 L2C,并点击下载密钥对,保存好密钥对之后,点击启动实例

15、稍等一会之后我们可以看到已经创建好的实例,选中我们可以看到实例的详细信息,并复制公有 ip 地址

16、开起一个终端窗口,链接到刚才的跳板机

17、登录实例成功

18、在 aws 控制台打开 IAM 的控制台,在左侧菜单栏选择用户,点你你自己的用户

19、选择安全证书,点击创建密钥,保存相关文件

20、在已经连接好的 ec2 实例中输入 sudo -I 进入 root 权限

21、在已经连接好的 ec2 实例中输入 aws configure 命令,输入刚才已经保存的 AKSK 文件,region 填写为 cn-north-1,default output format 填写为 json

22、接着运行以下命令

curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-
05/bin/linux/amd64/kubectl
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export
PATH=$PATH:$HOME/bin
kubectl version --short –client

并看到如下图所示的输出

23、接着输入 aws eks --region cn-north-1 update-kubeconfig --name L2C-EKS 命令,连接到 eks,

24、并运行 kubectl get node 可以看到已经启动的计算节点

25、我们将我们的nginx应用部署到上面, 采用yaml的文件形式,将进行一个Namespace(命名空间)、Deployment、Service的创建


通过Nodeport的形式映射nginx服务

26、我们应用这个文件,我们可以看到这些文件被创建成功

27、我们查看刚才创建再yulong的命名空间下的 pod和service,从中我们可以看到映射关系为service的8888端口映射到了宿主机的30934

28、我们查看pod运行在哪个节点上,并对30934端口进行访问、

至此我们就完成了nginx的发布

29、为了更好的展示EKS的deployment部署模式,我们将pod调成两个

我们再次应用这个文件,看到他已经更新

接着我们查看pod的数量

我们可以设定一个期望值,希望有多少至少可用的pod运行在我们的EKS上

30、现在我们手动杀掉其中一个

然后我们再次查看发现又有一个新的pod加入到了里面

这是因为我们的期望值是两个,所以他会自动为我们自动保持两个nginx,即使把他们全部干掉也会自动生成

EKS——YYDS

创建EKS集群后,EKS会自动创建k8s的master节点,我们只需要添加 worker节点即可,就可以进行连接部署应用了。
Amazon EKS消除了这种复杂性,并交付了可供生产环境使用的架构,该架构可跨多个可用区自动运行Kubernetes管理基础架构,消除单点故障。Amazon EKS自动检测并替换不正常的节点,为管理基础架构打补丁,并且按需执行版本升级。这使得由Amazon EKS管理的Kubernetes基础架构具有弹性,即使丢失整个可用区也能正常运行。
虽然我们上面的部署流程中不足以看出EKS的独特优势,但是我们的EKS完美的让k8s运行在aws上。无需我们过多的去维护底层,只要将我们应用部署上即可,EKS的强势之处还在于:

  • 高可用和自动处理可用区规划问题
    EKS可跨多个可用区自动运行Kubernetes管理基础架构,消除单点故障。Amazon EKS自动检测并替换不正常的节点,为管理基础架构打补丁,并且按需执行版本升级。这使得由Amazon EKS管理的Kubernetes基础架构具有弹性,即使丢失整个可用区也能正常运行。
    Amazon EKS的服务帮助你能够更好的运行托管的Kubernetes的平台。Amazon EKS上,用户可以建立一个横跨三个AZ可用区的kubernetes集群,运行你的master nodes(控制平面),提供高可用的API服务。
    三个master nodes上又有不同的etcd 能够做同步,也提供了API的功能,Scheduler的功能,controller的功能,让你横跨三个AZ,稳定的运行。
    利用EKS全授管的特性,你只需要自己去搭建你所需要的worker nodes工作群组即可。你不需要自建master nodes,也不再去需要关心master nodes如何解决高可用的问题。

  • 企业级工作负载
    EKS是为了更好的运行企业级工作负载而设计的。你可以把最核心的业务运行在AWS上,而不需要关心每日备份、管理等复杂的工作。

  • 与AWS服务无缝集成
    EKS 与诸如 Amazon CloudWatch、Auto Scaling 组、AWS Identity and Access Management (IAM) 和 Amazon Virtual Private Cloud (VPC) 之类的服务深度集成,为您带来监控、扩展和负载平衡应用程序的无缝体验。

  • 原声Kubernetes
    EKS跟上游kubernetes社区保持同步,上游kubernetes的功能完整的继承在Amazon EKS里面,为您提供kubernetes原生体验。所有在EKS里做出的功能和优化,AWS团队都会将这些内容完整的贡献到上游kubernetes社区,成为开源项目的一部分,让所有社区成员都能共享这一功能。

  • 易迁移
    所有标准 Kubernetes 环境上运行的应用程序均完全兼容,并可轻松迁移到 Amazon EKS。

写在最后

亚马逊云科技专为开发者们打造了多种学习平台:

  1. 入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。https://aws.amazon.com/cn/getting-started/?nc1=h_ls&trk=32540c74-46f0-46dc-940d-621a1efeedd0&sc_channel=el
  2. 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。https://aws.amazon.com/cn/architecture/?intClick=dev-center-2021_main&trk=3fa608de-d954-4355-a20a-324daa58bbeb&sc_channel=el
  3. 构建者库:了解亚马逊云科技如何构建和运营软件。https://aws.amazon.com/cn/builders-library/?cards-body.sort-by=item.additionalFields.sortDate&cards-body.sort-order=desc&awsf.filter-content-category=*all&awsf.filter-content-type=*all&awsf.filter-content-level=*all&trk=835e6894-d909-4691-aee1-3831428c04bd&sc_channel=el
  4. 用于在亚马逊云科技平台上开发和管理应用程序的工具包:https://aws.amazon.com/cn/tools/?intClick=dev-center-2021_main&trk=972c69e1-55ec-43af-a503-d458708bb645&sc_channel=el

【专属福利】
福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。
https://aws.amazon.com/cn/free/?nc2=h_ql_pr_ft&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all&trk=e0213267-9c8c-4534-bf9b-ecb1c06e4ac6&sc_channel=el

福利二:最新优惠大礼包,200 数 据 与 分 析 抵 扣 券 , 200 数据与分析抵扣券,200 数据与分析抵扣券,200机器学习抵扣券,200$微服务与应用开发抵扣券。
https://www.amazonaws.cn/campaign/?sc_channel=el&sc_campaign=credit-acts-ldr&sc_country=cn&sc_geo=chna&sc_category=mult&sc_outcome=field&trkCampaign=request-credit-glb-ldr&trk=f45email&trk=02faebcb-3f61-4bcb-b68e-c63f3ae33c99&sc_channel=el

福利三:解决方案CloudFormation一键部署模版库
https://aws.amazon.com/cn/quickstart/?solutions-all.sort-by=item.additionalFields.sortDate&solutions-all.sort-order=desc&awsf.filter-tech-category=*all&awsf.filter-industry=*all&awsf.filter-content-type=*all&trk=afdbbdf0-610b-4421-ac0c-a6b31f902e4b&sc_channel=el

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章