【EKS】基于Amazon EKS搭建kubernetes集群
文章目录
- 前言 | 亚马逊云科技 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通过订单流程操作的例子引入他的演讲,阐述了同步性与异步性的关系。讲述了松散耦合系统带来的好处。突出说明了事件驱动型架构的发展趋势和重要意义。以及谈到了数字世界的基础是操作系统,设备与操作系统之间的交互式基于终端的事件驱动系统。所以,操作系统底层和进程进度式完全异步的。等等。
🔼 图 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
🔼 图 亚马逊云科技首席执行官 Adam Selipsky 主题演讲中
接下来,笔者将利用
Amazon Elastic Kubernetes Service (Amazon EKS)的一项完全托管kubernetes服务,从产品介绍到安装部署kubernetes集群,进行详细演示说明。
一、介绍篇🎨
什么是AWS 云计算
Amazon Web Services (AWS) 是全球最全面、应用最广泛的云平台,从全球数据中心提供超过 200 项功能齐全的服务。数百万客户(包括增长最快速的初创公司、最大型企业和主要的政府机构)都在使用 AWS 来降低成本、提高敏捷性并加速创新。

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

二、部署篇🔨
基于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”。

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

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

2、创建集群子网
子网介绍:子网是 VPC 中的 IP 地址范围。在创建 VPC 之后,可以在每个可用区中添加一个或多个子网。
2.1 创建子网。选择“子网”,点击“子网创建”。

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

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

3、创建IGW网关
IGW网关介绍:互联网网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 与互联网之间的通信。
要使用互联网网关,将其附加到VPC 并在适用于互联网可路由 IPv4 或 IPv6 流量的子网路由表中将其指定为目标。互联网网关为已经分配了公有 IPv4 地址的实例执行网络地址转换(NAT)。
3.1 创建互联网网关。点击"创建互联网网关"。

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

3.3 将IGW附加到VPC。

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

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


4、创建路由表与子网绑定
路由表介绍:路由表包含一组称为路由的规则,用于确定来自子网或网关的网络流量定向到何处。
4.1 创建路由表。选择“路由表”,点击“创建路由表”。

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

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

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

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

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

4.7 子网关联成功。

至此,网络部分设置完成,开始部署EKS。
5、EKS集群创建
5.1 搜索框搜索“EKS”。

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

5.3 第1步:配置集群
注意:集群服务角色需要提前创建好。也可以现在去创建,点击刷新即可显示出来。
集群服务角色创建请参考:
角色创建(附)一小节

5.4 第2步:指定联网。

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

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

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

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

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

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

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/offaws eks --region ap-northeast-1 update-kubeconfig --name xybdiy-k8s

7、添加计算节点组
点击“添加节点组”。

第1步:配置节点组。
节点组是向Amazon EKS集群提供计算容量的一组EC2实例。可以向集群添加多个节点组。
注意:节点组角色需要提前创建好。也可以现在去创建,点击刷新即可显示出来。
节点组角色创建请参考:
角色创建(附)一小节

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

第3步:指定联网。

第4步:查看和创建。

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

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

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

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

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

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

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

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

xybdiy-k8s集群

至此,基于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

9、删除集群
9.1 首先,删除节点组。

9.2 删除
xybdiy-k8s集群。

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

添加权限。如图所示。

添加权限策略。

命令、查看和创建。

点击“创建集群”。

创建角色完成。

10.2 集群节点组创建
选择“EC2”。

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

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

三、参考链接🔗
🔴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 文档
相关文章:
【EKS】基于Amazon EKS搭建kubernetes集群
文章目录 前言 | 亚马逊云科技 re:Invent前沿资讯一、介绍篇🎨什么是AWS 云计算什么是Amazon EKS 二、部署篇🔨1、创建集群VPC2、创建集群子网3、创建IGW网关4、创建路由表与子网绑定5、EKS集群创建6、创建kubeconfig配置文件7、添加计算节点组8、查看EK…...
Tomcat安装与启动和配置
目录 Tomcat 简介 Tomcat 安装 Tomcat 启动和配置 文件夹作用 启动,关闭Tomcat; 常见问题 配置 环境变量 IDEA中配置Tomcat Tomcat 简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在…...
ruoyi-vue版本(十八)创建自己的项目,使用若依里面的技术,多数据源的实现
目录 1 创建自己的项目2 连接MySQL数据库(多数据源)2.1 若依实现多数据源2.1.1 主要思想2.2 第三方的依赖的实现1 创建自己的项目 1 创建一个空文件夹 2 idea 里面创建项目...
C++-stack题型->最小栈,栈的压入与弹出,逆波兰表达式
目录 最小栈 栈的压入与弹出 逆波兰表达式 最小栈 155. 最小栈 - 力扣(Leetcode) 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void …...
【计算机网络实验】BGP和OSPF协议仿真实验
实验内容 BGP和OSPF协议仿真实验 实验目的 (1)学习BGP协议的配置方法; (2)验证BGP协议的工作原理; (3)掌握网络自治系统的划分方法; (4)验证…...
提升日期处理效率:day.js 实战经验分享
theme: smartblue 本文简介 点赞 关注 收藏 学会了 本文主要介绍我在工作中使用 day.js 较多的方法。本文并不能代替 day.js 官方文档,日常工作中该查文档的还是要查文档。本文是写给刚接触 day.js 的工友,让这部分工友能更顺利上手 day.js。本文不涉…...
mysql中的count(1)、count(*)、count(id)哪个更快?
今天和大家聊一下mysql中的count()方法 我们日常开发中,经常会用到count()命令,有的人用count(*),有的人用count(1),还有的人用count(id),那么这几种写法都有什么区别呢?哪种方法效率更高呢?今…...
cf1750E Bracket Cost
前言: 好久没训练了,来做道计数题找找感觉。**期末毁我青春 大意: 定义对于一个括号串 s的值,为通过最小次数以下操作使 s 实现括号匹配的操作次数。 选择一个子串,循环右移一位。在任意一个位置插入一个任意括号。 求一个括…...
Vue+springboot医院住院挂号登记收费系统7ui9s
医院信息管理系统的开发过程中,采用B / S架构,主要使用java语言进行开发,结合最新流行的springboot框架。使用Mysql数据库和idea开发环境。该医院信息管理系统包括用户、医生和管理员。其主要功能包括用户管理、医生管理、医生信息管理、预约…...
大前端之Koa2学习
Koa2框架介绍 Koa2是一个基于Node.js的Web框架,它使用了ES6的语法和async/await特性,使得编写异步代码更加简单和优雅。Koa2的核心思想是中间件,它允许开发者将应用程序拆分成小的、可重用的部分,从而使得代码更加模块化和易于维…...
Qml实现Dock浮动、停靠功能
纯Qml实现Dock浮动、停靠功能 效果展示github地址:介绍环境Demo代码参数说明API说明 效果展示 Qml Dock效果演示 github地址: https://github.com/longtwilight/QmlDock 介绍 这是一个使用纯qml实现的Dock组件,它支持停靠、浮动、窗体分离、窗体独立、大小调整等…...
最新版本 Stable Diffusion 开源 AI 绘画工具之微调模型篇
✨ 目录 🎈 模型种类🎈 变分自动编码器 / VAE🎈 美学梯度 / Aesthetic Gradients🎈 大型语言模型的低阶自适应 / LoRA🎈 超网络模型 / Hypernetwork🎈 微调模型 / LyCORIS 🎈 模型种类 当你打开…...
路径规划算法:基于哈里斯鹰优化的路径规划算法- 附代码
路径规划算法:基于哈里斯鹰优化的路径规划算法- 附代码 文章目录 路径规划算法:基于哈里斯鹰优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…...
Web 应用程序防火墙 (WAF) 相关知识介绍
Web应用程序防火墙 (WAF) 如何工作? Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执…...
docker快速部署hue+hue集成hive
首先需要安装hive,hive的安装在HIVE的安装与配置_EEEurekaaa!的博客-CSDN博客 安装完成之后,使用脚本命令启动hdfs和hive的相关服务。 一、安装docker # 安装yum-config-manager配置工具 $ yum -y install yum-utils # 设置yum源 $ yum-co…...
基于java SpringBoot和Vue uniapp的校园信息交流小程序
随着信息社会的网络化和计算机科学的广泛普及和迅速普及应用,具有综合智能的我国校园信息教育网络已成为推动中小学科学教育及其实践科学发展的信息技术手段。迅速推进了信息化改革,改善了高校信息交流的网络环境,提高了信息教育平台的管理水…...
数据包伪造替换、会话劫持、https劫持之探索和测试
(一)数据包替换攻击 该攻击过程如下:伪造服务器响应客户端的数据包。监听客户端的数据包,用预先伪造的数据包,伪装成服务器返回的数据发送给客户端。 因为攻击者跟目标在同一个局域网,所以攻击者发送的数…...
正则表达式集合
目录 一、校验数字的表达式 1. 数字 2. n位的数字 3. 至少n位的数字 4. m-n位的数字 5. 零和非零开头的数字 6. 非零开头的最多带两位小数的数字 7. 带1-2位小数的正数或负数 8. 正数、负数、和小数 9. 有两位小数的正实数 10. 有1~3位小数的正实数 11. 非零的正整…...
Django框架中models对象转换为json的方法
在django框架中输出api接口时一般都是输出json数据但是通过orm获取的数据库数据一般都是object所以需要转换成json数据,一般有一下3种情况 1.models对象使用“all()”时 from django.http import HttpResponse from django.core import serializers from TestMode…...
利用Servlet编写第一个“hello world“
利用Servlet编写第一个"hello world" 🔎创建 Maven 项目🔎引入依赖🔎创建目录🔎编写代码🔎打包代码🔎部署🔎程序验证🔎结尾 🔎创建 Maven 项目 Maven 是一个构…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...


