【EKS】基于Amazon EKS搭建kubernetes集群

news2024/10/6 1:46:16

文章目录

  • 前言 | 亚马逊云科技 re:Invent前沿资讯
  • 一、介绍篇🎨
    • 什么是AWS 云计算
    • 什么是Amazon EKS
  • 二、部署篇🔨
    • 1、创建集群VPC
    • 2、创建集群子网
    • 3、创建IGW网关
    • 4、创建路由表与子网绑定
    • 5、EKS集群创建
    • 6、创建kubeconfig配置文件
    • 7、添加计算节点组
    • 8、查看EKS各个节点运行状态
    • 9、删除集群
    • 10、角色创建(附)
      • 10.1 集群服务角色创建
      • 10.2 集群节点组创建
  • 三、参考链接🔗

前言 | 亚马逊云科技 re:Invent前沿资讯

凌云驭势,重塑未来,与开发者一起构建未来

亚马逊云科技 re:Invent 全球大会是全球云计算引领者——亚马逊云科技(Amazon Web Services )举办的年度盛会,首届大会始于2012年。


在Amazon.com 副总裁兼首席技术官 Dr. Werner Vogels 主题演讲中, Dr. Werner Vogels通过订单流程操作的例子引入他的演讲,阐述了同步性与异步性的关系。讲述了松散耦合系统带来的好处。突出说明了事件驱动型架构的发展趋势和重要意义。以及谈到了数字世界的基础是操作系统,设备与操作系统之间的交互式基于终端的事件驱动系统。所以,操作系统底层和进程进度式完全异步的。等等。
image-20221215124023702

🔼 图 Amazon.com副总裁兼首席技术官 Dr. Werner Vogels 主题演讲

在亚马逊云科技首席执行官 Adam Selipsky 主题演讲中,我知道了亚马逊云科技reLInvent大会已经成功举办过11次。Adam Selipsky在演讲中,讲述了创新信息共享、创新产品共享正在推动着科技技术高速发展,资本市场的发展带来了云计算的发展,企业上云用云的成本大幅度降低,效能产能明显提升。同时也谈到了,业务决策流程的应用中心是几乎每个组织数字化转型的基石,但处理数据很棘手。其中,数据和数字化在能源转型中起着关键作用,以及亚马逊云科技数据的安全性是如何保证客户的数据安全的(使用正确的工具确保它们安全),推出了Container runtime threat detection for GuardDuty的产品。还谈到了亚马逊云科技的第三代处理器Graviton3基于Graviton3的实例比Graviton2快25%并且与同类的EC2实例相比可减少能源使用高达60%。以及高性能计算HPC、connect三项新功能等等相关技术内容。

“云正在消除限制,重新构想业务挑战。” —— Adam Selipsky

image-20221215124334474

🔼 图 亚马逊云科技首席执行官 Adam Selipsky 主题演讲中

接下来,笔者将利用Amazon Elastic Kubernetes Service (Amazon EKS)的一项完全托管kubernetes服务,从产品介绍到安装部署kubernetes集群,进行详细演示说明。

一、介绍篇🎨

什么是AWS 云计算

Amazon Web Services (AWS) 是全球最全面、应用最广泛的云平台,从全球数据中心提供超过 200 项功能齐全的服务。数百万客户(包括增长最快速的初创公司、最大型企业和主要的政府机构)都在使用 AWS 来降低成本、提高敏捷性并加速创新。

image-20221215122710862

🔼 图 AWS 区域的全球网络

什么是Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS)是一项完全托管的 Kubernetes 服务。Intel、Snap、Intuit、GoDaddy 和 Autodesk 等客户均依赖 EKS 运行其最敏感的任务关键型应用程序,因为它具有安全性、可靠性和可扩展性。

image-20221214221628916

二、部署篇🔨

基于EKS部署 Kubernetes 集群

Amazon EKS 和 Amazon EKS Distro 现在支持 Kubernetes 1.24 版本。本实验将使用 Kubernetes 1.23 版本进行部署。

1、创建集群VPC

VPC介绍:通过 Amazon Virtual Private Cloud (Amazon VPC),可以在已定义的虚拟网络中启动 AWS 资源。这个虚拟网络与在数据中心运行的传统网络极其相似,并具有能够使用 AWS 的可扩展基础设施的优势。

1.1 切换至VPC控制面板,点击“创建VPC”。

image-20221214214513941

1.2 VPC设置。选择仅VPC,设置Name标签为k8s-vpc,IPv4 CIDR为172.19.0.0/24

image-20221214215157998

1.3 VPC创建完成。结果如下图所示。

image-20221214215246283

2、创建集群子网

子网介绍:子网是 VPC 中的 IP 地址范围。在创建 VPC 之后,可以在每个可用区中添加一个或多个子网。

2.1 创建子网。选择“子网”,点击“子网创建”。

image-20221215101309195

2.2 子网设置。选择刚刚创建好的VPC,设置三个子网。如下图所示。子网网段分别设置如下:

172.19.1.0/24
172.19.2.0/24
172.19.3.0/24

image-20221214215903434

2.3 创建三个子网完成。如图所示。

image-20221214220012982

3、创建IGW网关

IGW网关介绍:互联网网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 与互联网之间的通信。

要使用互联网网关,将其附加到VPC 并在适用于互联网可路由 IPv4 或 IPv6 流量的子网路由表中将其指定为目标。互联网网关为已经分配了公有 IPv4 地址的实例执行网络地址转换(NAT)。

3.1 创建互联网网关。点击"创建互联网网关"。

image-20221214220540914

3.2 互联网网关设置。设置Name标签为“k8s-igw”,点击“创建互联网网关”。

image-20221214220506766

3.3 将IGW附加到VPC。

image-20221214220606536

3.4 选择可用的VPC,点击“连接互联网网关”。

image-20221214220642790

3.5 互联网网关附加VPC成功。

image-20221214220726317
image-20221214220710828

4、创建路由表与子网绑定

路由表介绍:路由表包含一组称为路由的规则,用于确定来自子网或网关的网络流量定向到何处。

4.1 创建路由表。选择“路由表”,点击“创建路由表”。

image-20221214220821184

4.2 路由表设置。填写路由表名称“k8s-gw”,选择要用于此路由表的VPC。

image-20221214220929907

4.3 创建路由表成功后,选择“路由”,点击“编辑路由”。

image-20221214221040513

4.4 编辑路由(仅测试),点击“保存更改”。

image-20221214221144594

4.5 子网关联。

在路由表选项栏中,选择刚刚创建的路由表,选择“子网关联”,点击“编辑子网关联”。

image-20221214221312938

4.6 关联以下三个可用子网。点击”保存关联“。

image-20221214221400524

4.7 子网关联成功。

image-20221214221501984
至此,网络部分设置完成,开始部署EKS。

5、EKS集群创建

5.1 搜索框搜索“EKS”。

image-20221214221611943

5.2 点击 “添加集群” —>“创建”。

image-20221214221628916

5.3 第1步:配置集群

注意:集群服务角色需要提前创建好。也可以现在去创建,点击刷新即可显示出来。

集群服务角色创建请参考:角色创建(附)一小节

image-20221214223711511

5.4 第2步:指定联网。

image-20221214224102523

5.5 第3步:配置日志记录(保持默认,禁用)

image-20221214224459655

5.6 第4步:选择插件。默认即可。

image-20221214224526506

5.7 第5步:配置选定的插件设置。

image-20221214224607676

5.8 第6步:查看和创建。确认信息无误后,点击“创建”。

image-20221214224731729

5.9 等待集群创建完成。状态显示“正在创建”,需要等待一会,预计10分钟。

image-20221214224901967

5.10 集群创建完成,状态显示“活跃”。

image-20221214230622859

6、创建kubeconfig配置文件

[cloudshell-user@ip-10-6-6-158 ~]$ aws --version
aws-cli/2.9.5 Python/3.9.11 Linux/4.14.296-222.539.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off

aws eks --region ap-northeast-1 update-kubeconfig --name xybdiy-k8s

image-20221214232513901

7、添加计算节点组

点击“添加节点组”。

image-20221214232959377

第1步:配置节点组。

节点组是向Amazon EKS集群提供计算容量的一组EC2实例。可以向集群添加多个节点组。

注意:节点组角色需要提前创建好。也可以现在去创建,点击刷新即可显示出来。

节点组角色创建请参考:角色创建(附)一小节

image-20221214233231050

第2步:设置计算和扩展配置。

image-20221214233605798

第3步:指定联网。

image-20221214233715846

第4步:查看和创建。

image-20221214233744891

等待k8s-xybdiy-nodegroup节点组创建完成。

image-20221214233825419

节点创建完成,状态显示“活动”。

image-20221214235150525

进入xybdiy-k8s集群,点击“计算”,查看计算节点已就绪

image-20221214235332715

点击其中一个计算节点,查看详细信息。如下图所示。

image-20221215000104654

xybdiy-k8s集群概览详细信息。

image-20221215000740452

k8s-xybdiy集群资源节点信息查看。

image-20221215000531340

k8s-xybdiy集群联网信息查看。

image-20221215000643983

k8s-xybdiy集群插件信息查询。

image-20221215000619195

xybdiy-k8s集群

image-20221215000852815
至此,基于Amazon EKS集群搭建的xybdiy-k8s集群部署完成。

8、查看EKS各个节点运行状态

开启AWS CloudShell查看EKS各个节点运行状态。

[cloudshell-user@ip-10-6-18-35 ~]$ kubectl get nodes
NAME                                               STATUS   ROLES    AGE   VERSION
ip-172-31-0-88.ap-northeast-1.compute.internal     Ready    <none>   22m   v1.23.13-eks-fb459a0
ip-172-31-24-208.ap-northeast-1.compute.internal   Ready    <none>   22m   v1.23.13-eks-fb459a0
[cloudshell-user@ip-10-6-18-35 ~]$ kubectl get pods
No resources found in default namespace.
[cloudshell-user@ip-10-6-18-35 ~]$ kubectl get pod -n kube-system
NAME                       READY   STATUS    RESTARTS   AGE
aws-node-877nw             1/1     Running   0          22m
aws-node-mfvvx             1/1     Running   0          22m
coredns-69cfddc4b4-dtf8z   1/1     Running   0          67m
coredns-69cfddc4b4-glks2   1/1     Running   0          67m
kube-proxy-7nnks           1/1     Running   0          22m
kube-proxy-fbcfc           1/1     Running   0          22m
[cloudshell-user@ip-10-6-18-35 ~]$ kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE                         ERROR
etcd-1               Healthy   {"health":"true","reason":""}   
controller-manager   Healthy   ok                              
etcd-0               Healthy   {"health":"true","reason":""}   
scheduler            Healthy   ok                              
etcd-2               Healthy   {"health":"true","reason":""}   
[cloudshell-user@ip-10-6-18-35 ~]$ kubectl version --short
Client Version: v1.23.7-eks-4721010
Server Version: v1.23.13-eks-fb459a0
[cloudshell-user@ip-10-6-18-35 ~]$ kubectl get svc -n kube-system
NAME       TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)         AGE
kube-dns   ClusterIP   10.100.0.10   <none>        53/UDP,53/TCP   68m

image-20221215000329846

9、删除集群

9.1 首先,删除节点组。

image-20221215001109587

9.2 删除xybdiy-k8s集群。

image-20221215000926117

10、角色创建(附)

在 IAM 控制台中创建 Amazon EKS 集群角色

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。
  2. 选择 Roles,然后选择 Create role
  3. Trusted entity type(受信任的实体类型)下,选择 AWS service(AWS 服务)。
  4. Use cases for other AWS 服务(其他 AWS 服务 的使用案例)下拉列表中,选择 EKS
  5. 为使用案例选择 EKS - Cluster(EKS - 集群),然后选择 Next(下一步)。
  6. Add permissions(添加权限)选项卡上,选择 Next(下一步)。
  7. 对于 Role name(角色名称),请为角色输入唯一名称,例如 eksClusterRole
  8. 对于 Description(说明),请输入描述性文本,例如 Amazon EKS - Cluster role
  9. 选择 Create role(创建角色)。

参考链接:Amazon EKS 集群 IAM 角色 - Amazon EKS

10.1 集群服务角色创建

点击“创建角色”。

image-20221214222128971

添加权限。如图所示。

image-20221214222427376

添加权限策略。

image-20221214222529837

命令、查看和创建。

image-20221214222708803

点击“创建集群”。

image-20221214222726119

创建角色完成。

image-20221214222732706

10.2 集群节点组创建

选择“EC2”。

image-20221214222938634

添加权限策略。如下图所示。

image-20221214223345654

集群节点组角色创建完成。

image-20221214223604169

三、参考链接🔗

🔴Amazon EKS Kubernetes托管_kubernetes集群管理服务-AWS云服务

🟡Amazon Elastic Kubernetes Service Documentation

🟢什么是 Amazon EKS? - Amazon EKS

🔵2022亚马逊云科技re:Invent全球大会 - 官方网站

🟣Monitoring using Prometheus and Grafana :: Amazon EKS Workshop

🟠自主管理的容器 – Amazon ECS Anywhere – Amazon Web Services

🟤Amazon Elastic Kubernetes Service 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/589364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IC卡水表大多都用在什么项目上?有什么功能特点吗?

IC卡水表是一种先进的计量仪表&#xff0c;广泛应用于许多项目&#xff0c;其功能特点使其在许多领域得到广泛应用。 首先&#xff0c;IC卡水表可以应用于自来水的计量&#xff0c;它可以高精度地测量水的流量&#xff0c;提供给用户准确的用水量信息&#xff0c;从而有助于用户…

分片架构,Redis Cluster 分析

分片架构解决的问题 通过堆机器&#xff0c;提升读写性能&#xff0c;与存储性能 分片架构设计要点 分片规则 选择Cardinality大的作为分片键&#xff0c;尽可能保证数据分布均匀 常见分片键&#xff1a; 基于主键&#xff08;业务型数据&#xff09;&#xff0c;基于时间…

JavaScript高级四、高阶技巧

零、文章目录 JavaScript高级四、高阶技巧 1、深浅拷贝 首先浅拷贝和深拷贝只针对引用类型 &#xff08;1&#xff09;浅拷贝 浅拷贝&#xff1a;拷贝对象的属性的值&#xff08;简单类型存的值就是值本身&#xff0c;引用类型存的值是对象的堆地址&#xff09;&#xff0c…

windows里怎么杀死一个进程?

我们可以使用 taskkill 命令&#xff0c;可以使用该工具按照进程 ID (PID) 或映像名称终止任务。 显示帮助消息&#xff1a; taskkill /?参数列表&#xff1a; /S&#xff1a;system&#xff1a;指定要连接的远程系统。/U&#xff1a;[domain\]user&#xff1a;指定应该在哪…

【ESP-01S / ESP8266 AT指令连接阿里云物联网平台】

ESP-01S / ESP8266 AT指令连接阿里云物联网平台 阿里云物联网平台新建设备获取AT参数 AT指令介绍连接阿里云AT指令介绍MQTT固件固件下载硬件连接固件烧录 串口助手调试硬件连接测试指令 AT_Command移植总结问题排查 源码获取 关注星标公众号&#xff0c;不错过精彩内容 作者 | …

【简单实用框架】【十大排序算法直接调用】【可移植】

☀️博客主页&#xff1a;CSDN博客主页&#x1f4a8;本文由 萌萌的小木屋 原创&#xff0c;首发于 CSDN&#x1f4a2;&#x1f525;学习专栏推荐&#xff1a;面试汇总❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&#…

JeecgBoot企业级开发中实现自定义导出EXCEL的前端表格字段功能

文章目录 如何在后端实现导出前端列表字段到Excel功能需求前端的实现1. 提供一个导出的点击函数2.引入组件中的userMethod3.tableProps中导出中添加对应的查询参数4. 编写导出函数 后端逻辑的实现1.Controller层2.创建Modal类3.Sevice层 检验成果总结 如何在后端实现导出前端列…

【Android Gradle 插件】更新依赖方式,同时解决github三方库引用无法使用问题

首先看一下完整的 settings.gradle 依赖介绍 /* pluginManagement 脚本块,用于配置Gradle插件的Maven仓库,配置的是构建过程中,使用的仓库 ; pluginManagement 脚本块中的 repositories 配置 , 对应之前的 buildscript 中的 repositories 配置 ; */ pluginManagement {reposit…

技术分享 | 一文了解 MySQL Optimizer Trace 的神奇功效

作者&#xff1a;Mutlis CSDN & 阿里云 & 知乎 等平台优质作者&#xff0c;擅长Oracle & MySQL等主流数据库系统的维护和管理等 本文来源&#xff1a;原创投稿 前言 对于 MySQL 5.6 以及之前的版本来说&#xff0c;查询优化器就像是一个黑盒子一样&#xff0c;…

迪赛智慧数——柱状图(基本柱状图):购买雪糕考虑的因素

效果图 冰淇淋季节来袭&#xff0c;因其细腻凉爽的口感和浓郁的口味被广大消费者所钟爱&#xff0c;近年来已经从一款传统的解暑冷冻饮品转变为一种原料丰富、口味多元、追求健康、愉悦和高品质生活方式的休闲食品。据数据显示&#xff0c;82.2&#xff05;女性、82.3%男性消费…

chatgpt赋能python:Python中乘方的介绍

Python中乘方的介绍 在Python中&#xff0c;乘方运算指数运算&#xff0c;常用符号为“”&#xff08;例如2的3次方为23&#xff09;。使用乘方运算可以快速地进行数值计算&#xff0c;尤其是在科学和工程领域中。 为什么要使用乘方运算&#xff1f; 乘方运算主要用于处理大…

NeRF算法

Instant-ngp Instant-ngp简单介绍 Instant-ngp论文链接 英伟达实现的github链接 taichi实现Instant-ngp taichi实现的github链接 渲染 采用体素渲染方法&#xff0c;从相机光线出发&#xff0c;逐步采样3D场景中的三维坐标点的颜色&#xff0c;即可渲染出3D画面。如果直接将3…

进阶神册,Redis+Nginx+设计模式+Spring全家桶+Dubbo核心技术笔记

最近花了很长的时间去搜罗Java核心技术好文&#xff0c;我把每个Java核心技术的优选文章都整理成了一个又一个的文档。昨天也是终于全部整理好了&#xff0c;今天就把这些东西分享给老铁们&#xff0c;也能为老铁们省去不少麻烦&#xff0c;想学什么技能了&#xff0c;遇到哪方…

vue3组件通信详解

vue3组件通信方式有以下几种&#xff1a;porps&#xff0c;$emit&#xff0c; bus&#xff0c;v-model&#xff0c;useAttrs&#xff0c;$ref/$parent&#xff0c;provide/inject&#xff0c;pinia&#xff0c;slot。下面将逐一讲解。 目录 1.porps&#xff1a;实现父子组件通…

V7.0_增加消息队列功能

一&#xff0c;功能描述 增加消息队列&#xff1b;使用自定义copy功能时&#xff0c;子进程copy结束后向父进程发送消息&#xff08;通过消息队列&#xff09;然后exit&#xff1b;此时因wait&#xff08;&#xff09;而处于阻塞态的父进程终于解除了阻塞并且从队列中读取到消…

【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介

&#x1f341;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; 文章目录 Kubernetes简介1 kubernetes架构1.1m…

清凉一夏小风扇-React版

这里写目录标题 前言 一、效果二、代码分享三、总结 前言 本片文章主要是做一个小练习&#xff0c;通过react来制作一个风扇练习css动画。 vue3实现部分看这里–> 一、效果 二、代码分享 1、主体框架 “react”: “^18.2.0” “sass”: “^1.62.1” 2、主要技术点 使用事…

企业上云容灾如何实现碳中和?

随着能源成本的增加和数据消费的激增&#xff0c;“电耗”和“碳排放”成为今年世界移动通信大会热议的话题。目前&#xff0c;ICT行业耗电量约占全球用电量的7%。预计到2040年&#xff0c;ICT行业碳排放量占全球排放量的比例将上升至14%。 容灾是企业为了在灾难时保证业务继续…

基于html+css的图展示99

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Log4j2 - JNDI 注入漏洞复现(CVE-2021-44228)

文章目录 Apache Log4j简介漏洞介绍影响版本漏洞编号影响组件应用 环境准备靶场搭建漏洞利用利用工具使用方式 反弹shell操作 漏洞修复建议 Apache Log4j简介 Apache log4j 是 Apache 的一个开源项目&#xff0c; Apache log4j2 是一个 Java 的日志记录工具。该工具重写了 log4…