当前位置: 首页 > news >正文

AWS EKS(AWS云里面的K8S)

问题

初步使用EKS

步骤

安装AWS CLI

第一步是在自己的笔记本电脑上面安装AWS提供的CLI(命令行工具),这里就不详细介绍了,都是next的步骤。具体可以参考啊aws cli安装的相关教程网页,具体地址如下:
https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html

配置AWS CLI

运行如下命令,配置AWS CLI工具:

aws configure

效果如下:
aws cli配置
这个设置命令的作用就是在~/.aws/config文件中,设置json格式和aws云区位置为us-east-1,具体内容类似如下:

[default]
region = us-east-1
output = json

~/.aws/credentials文件中,设置相关访问私钥配置,类似如下内容:

[default]
aws_access_key_id = *****************4E
aws_secret_access_key = **********************8Wk

安装kubectl

这里直接参考k8s官网页面就可以找到怎么安装kubectl工具了。

创建EKS集群 IAM 角色

这里假设我们依据准备好EKS需要的VPC网络了。我们先创建一个eks集群角色,内容如下:
开始创建eks集群角色
选择对应EKS设置,如下图:
设置EKS集群角色
点击下一步,如图:
设置策略下一步
设置好角色名称eksClusterRole和角色描述Amazon EKS - Cluster role后,创建角色,如下图:
EKS集群角色名称和描述配置

开始EKS集群创建

找到EKS相关界面,进入EKS集群创建入口,如下图:
EKS集群

设置集群名称

设置集群名称
这里还有一些其他的设置,我们先默认好了,其中k8s版本尽可能用最新版本,如果用了老版本,aws得另外收费;角色选择,默认选择之前创建的eksClusterRole角色。点击下一步。

设置网络

设置eks网络
这里我设置eks用到的ELB安全组,这里需要注意一下;然后,我们都是用私有子网。点击下一步。

设置监控

设置EKS监控
这里是uat环境,不是生产环境,所以,这里的监控系统可以不用开。点击下一步。

设置插件

设置EKS插件
uat环境不用使用GuardDuty插件,使用GuardDuty保证pod安全也需要收费的。下一步。

检查插件

检查EKS插件版本
直接下一步。

创建EKS集群

审计EKS配置
查看一下EKS配置是否有问题,没有问题,就直接创建即可。等待一段时间EKS集群就创建好了。

本地验证EKS集群

先使用aws cli设置kubectl链接的集群,命令如下:

aws eks update-kubeconfig --region us-east-1 --name uat

具体效果如下:

aws eks update-kubeconfig --region us-east-1 --name uat
Added new context arn:aws:eks:us-east-1:********:cluster/uat to /Users/zhangyalin/.kube/config

下面使用kubectl测试上述集群:

kubectl get svc

测试结果如下:

kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   33m

验证k8s集群没有问题后,接下来设置eks的ec2节点。

eks的k8s版本

由于aws的eks对k8s的老旧版本收费不同,我们这里就直接选择限制的最新aws的eks支持最新k8s版本1.29了。老k8s版本eks收费是每小时0.60美刀,是标准k8s版本的6倍。具体关于AWS EKS支持的k8s标准版本,可以看一看这个文档:Amazon EKS Kubernetes 版本。

设置集群托管节点组

AWS的EKS实现k8s机器集群,有三种方式:

    1. EKS 托管节点组;
    1. 自行管理的节点 ;
    1. AWS Fargate。

从AWS的文档 Amazon EKS 节点可以知道AWS Fargate作为k8s机器集群实现有很多限制,这里我们实现EKS托管节点组方式。

设置创建k8s节点EC2的IAM角色

准备创建k8s托管节点IAM角色,如下图:
准备创建k8s托管节点角色
选中EC2,点击下一步,如下图:
选择EC2
依次设置AmazonEKSWorkerNodePolicy(k8s工作节点策略),AmazonEC2ContainerRegistryReadOnly(docker镜像只读权限策略),AmazonEKS_CNI_Policy(容器网卡权限策略)。依次添加3个托管权限策略,给这个角色,如下图:
设置托管权限策略
下面审计一下这个角色,如下图:
审计角色
设置好名称和描述,审计一下配置没问题,就可以直接点击创建角色。

设置托管节点组

开始准备配置托管节点组,如下图:
EKS托管节点组
设置托管节点组名称和Name标签名称,选择上述创建的IAM角色,具体设置如下图:
配置节点组名称
设置托管节点用到的镜像系统,选择ec2类型,最大不可用节点数,如下图:
设置ec2类型
设置网络,如下图:
设置托管节点网络
审计一下托管节点配置,如果没有问题的话,直接创建即可,如下图:
审计托管节点配置
创建的过程中,需要启动EC2实例,等待一段已经吧!
等待EKS创建托管节点
出现如下图,说明托管节点设置成功:
托管节点设置成功
可以通过kubectl查看node的状态,使用如下命令:

 kubectl get nodes

结果如下:

NAME                             STATUS   ROLES    AGE   VERSION
ip-xxx-xx-xxx-xxx.ec2.internal   Ready    <none>   32m   v1.29.0-eks-5e0fdde

到这里AWS部署K8S集群就基本搞定了。

总结

总的来说AWS EKS部署配置还是挺简单的。不过,能用k8s集群的老板,都是有钱人。这里主要过程就是创建k8s集群角色,创建k8s集群,创建k8s托管节点角色,配置托管节点组。主要就是这么4个步骤吧!简单弄个非生产环境还是挺简单的。

参考

  • 开始使用 Amazon EKS – AWS Management Console 和 AWS CLI
  • 配置AWS CLI
  • 安装或更新 kubectl
  • Amazon EKS 集群 IAM 角色
  • Amazon EKS 节点
  • Amazon EKS Kubernetes 版本
  • Amazon EKS 节点 IAM 角色

相关文章:

AWS EKS(AWS云里面的K8S)

问题 初步使用EKS 步骤 安装AWS CLI 第一步是在自己的笔记本电脑上面安装AWS提供的CLI&#xff08;命令行工具&#xff09;&#xff0c;这里就不详细介绍了&#xff0c;都是next的步骤。具体可以参考啊aws cli安装的相关教程网页&#xff0c;具体地址如下&#xff1a; http…...

Azkaban 大数据 任务调度

参考视频&#xff1a;尚硅谷大数据Azkaban 3.x教程&#xff08;全新发布&#xff09;_哔哩哔哩_bilibili Azkaban&#xff1a; 是一个定时、批量工作流任务调度器(工作流程调度&#xff0c;定时调度) 常见的开源调度系统&#xff1a; 简单单一的任务调度&#xff1a; Linux的…...

从预训练到通用智能(AGI)的观察和思考

1.预训练词向量 预训练词向量&#xff08;Pre-trained Word Embeddings&#xff09;是指通过无监督学习方法预先训练好的词与向量之间的映射关系。这些向量通常具有高维稠密特征&#xff0c;能够捕捉词语间的语义和语法相似性。最著名的预训练词向量包括Google的Word2Vec&#…...

四种垃圾回收算法

1.标记清除算法 该算法先标记&#xff0c;后清除&#xff0c;将所有需要回收的算法进行标记&#xff0c;然后清除&#xff1b;这种算法的缺点是&#xff1a;效率比较低&#xff1b;标记清除后会出现大量不连续的内存碎片&#xff0c;这些碎片太多可能会使存储大对象会触发GC回…...

stm32f103zet6笔记1-led工程

1、选择串口调试 2、LED0连接到PB5&#xff0c;PB5设置为推挽输出。PE5同理。 3、生成成对的.c,.h文件。 4、debugger选择j-link。 5、connection选择SWD。 6、编写bsp_led.c,bsp_led.h文件。 7、下载调试&#xff0c;可以看到LED0 500ms闪烁一次&#xff0c;LED1 1000ms闪烁一…...

OpenDDS的Qos策略

目录 1、前言2、QoS策略2.1、LIVELINESS2.2、RELIABILITY2.3、HISTORY2.4、DURABILITY2.5、DURABILITY_SERVICE2.6 、RESOURCE_LIMITS2.7、PARTITION2.8、DEADLINE2.9、LIFESPAN2.10、USER_DATA2.11、TOPIC_DATA2.12、GROUP_DATA2.13、TRANSPORT_PRIORITY2.14、LATENCY_BUDGET2…...

string基本操作(C++)

增 1.1 “” str str ss;cout << str << endl; //234561提取字串 2.1 substr substr(pos): 提取从位置pos开始到末尾的子串。 #include <iostream> #include <string> using namespace std;int main(){string str "123456";//substr(pos…...

【网站项目】123网上书城系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…...

LeetCode148.排序链表

题目 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 输入&#xff1a;head [-1,5,3,4,0] 输出&#xff1a;[-1,0,3,4,5] 输入&#xff1a;head [] 输出&#xff1a;[] 思路…...

qt学习:网络调试助手客户端+服务端

目录 客户端 步骤 ui界面配置​编辑 添加头函数&#xff0c;类成员数据&#xff0c;类成员函数 添加模块 构造函数 连接按钮 收到来自服务器的数据触发 发送按钮 断开按钮 向textEditRev文本编辑器中插入指定颜色的文本 服务端 步骤 ui界面配置 添加头函数&…...

C语言拾遗

函数的地址传递&#xff1a; 函数体内部想要修改函数体外部变量值的时候&#xff0c;使用地址传递 int set(int *pa) {//功能 } int main(void) {int a0;set(&a);//此时a的值经过set函数的修改&#xff0c;且传递到了main函数 } 函数体内想修改函数体外部指针的值的时候…...

大唐杯学习笔记:Day4

1.1NR帧结构 5G NR中,依然采用一帧10ms,并将一帧分为10子帧,每个子帧为1ms。每个子帧包含几个时隙(slot),每个时隙由14个OFDM符号构成(在常规CP下)。 μ \mu μ Δ f 2 μ ∗ 15 [ K H Z ] \Delta f2^{\mu}*15[KHZ] Δf2μ∗15[KHZ]Cyclic prefix015Normal130Normal260Normal…...

docker基线安全修复和容器逃逸修复

一、docker安全基线存在的问题和修复建议 1、将容器的根文件系统挂载为只读 修复建议&#xff1a; 添加“ --read-only”标志&#xff0c;以允许将容器的根文件系统挂载为只读。 可以将其与卷结合使用&#xff0c;以强制容器的过程仅写入要保留的位置。 可以使用命令&#x…...

ZooKeeper概述

ZooKeeper是一个开源的分布式协调服务&#xff0c;由Apache Software Foundation维护。它主要用于解决分布式应用中遇到的一些最常见问题&#xff0c;如命名服务、状态同步、配置管理和群集管理等。通过提供一套简单但强大的API&#xff0c;ZooKeeper使得从简单的锁服务到复杂的…...

【sgCollapseBtn】自定义组件:底部折叠/展开按钮

特性&#xff1a; 支持自定义折叠状态支持自定义标签名称 sgCollapseBtn源码 <template><div :class"$options.name" click"show !show" :placement"placement"><div class"collapse-btns"><div class"c…...

如何根据玩家数量和游戏需求选择最合适的服务器配置?

根据玩家数量和游戏需求选择最合适的服务器配置&#xff0c;首先需要考虑游戏的类型、玩家数量、预计的在线时间以及对内存和CPU性能的需求综合考虑。对于大型多人在线游戏&#xff0c;如MMORPG或MOBA等&#xff0c;由于需要更多的CPU核心数来支持更复杂的游戏逻辑和处理大量数…...

问题解决:各版本的vc_redist下载地址 缺少msvcr100.dll、msvcr120.dll、msvcr140.dll

Visual C Redistributable for Visual Studio各版本的官方链接。解决缺少msvcr100.dll、msvcr120.dll、msvcr140.dll的问题。 下面全部为官方链接&#xff1a; Microsoft Visual C Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://ak…...

182基于matlab的半监督极限学习机进行聚类

基于matlab的半监督极限学习机进行聚类&#xff0c;基于流形正则化将 ELM 扩展用于半监督&#xff0c;三聚类结果可视化输出。程序已调通&#xff0c;可直接运行。 182matlab ELM 半监督学习 聚类 模式识别 (xiaohongshu.com)...

C语言数组案例编程

1. 编写一个程序实现&#xff1a;从键盘输入15个整数存入数组&#xff0c;然后统计其中正整数的个数。 【要求】采用函数编程 #include<stdio.h> void input(int a[],int n) {int i; for(i0;i<n;i)scanf("%d",&a[i]); }int positiveNum(int a[],int n…...

NLP - 依存句法分析、句子歧义

1. 语言结构的两种观点 Constituency phrase struct grammar context-free grammars(CFGs)Dependency structure 对于context-free grammars(CFGs) 短语结构&#xff08;Constituency&#xff09;&#xff1a;短语结构语法是一种描述语言结构的方法&#xff0c;它将句子划…...

别再只会‘永不在此停止’了!实战绕过网站JS混淆与内存爆破的三种硬核方法

实战突破&#xff1a;三种硬核方法破解JS混淆与内存爆破 打开开发者工具的那一刻&#xff0c;页面突然卡死&#xff0c;控制台不断弹出debugger断点——这可能是每个爬虫工程师都经历过的噩梦。当简单的"永不在此停止"失效时&#xff0c;我们需要更高级的技术手段来应…...

Cucumber.js数据表格完全指南:如何优雅处理复杂测试数据

Cucumber.js数据表格完全指南&#xff1a;如何优雅处理复杂测试数据 【免费下载链接】cucumber-js Cucumber for JavaScript 项目地址: https://gitcode.com/gh_mirrors/cu/cucumber-js Cucumber.js是JavaScript生态中最流行的行为驱动开发&#xff08;BDD&#xff09;测…...

FolioReaderKit文本转语音功能:如何实现TTS语音朗读的详细指南

FolioReaderKit文本转语音功能&#xff1a;如何实现TTS语音朗读的详细指南 【免费下载链接】FolioReaderKit &#x1f4da; A Swift ePub reader and parser framework for iOS. 项目地址: https://gitcode.com/gh_mirrors/fo/FolioReaderKit &#x1f4da; FolioReader…...

造相-Z-Image-Turbo 在运维监控中的创意应用:生成系统状态拟人化报告图

造相-Z-Image-Turbo 在运维监控中的创意应用&#xff1a;生成系统状态拟人化报告图 每次打开监控大屏&#xff0c;面对满屏跳动的数字和密密麻麻的曲线图&#xff0c;你是不是也感到一阵视觉疲劳&#xff1f;CPU 80%、内存占用率65%、网络丢包0.1%……这些冰冷的指标虽然精确&…...

Vivado报错[Opt 31-430]?别慌,手把手教你从网表里揪出那个‘没爹妈’的FDCE

Vivado报错[Opt 31-430]全流程诊断手册&#xff1a;从网表逆向追踪到代码修复 当Vivado在opt_design阶段抛出[Opt 31-430] Found a FDCE that its data pin is undriven时&#xff0c;多数FPGA开发者的第一反应是检查代码中的寄存器定义。但真实情况往往更复杂——这个报错可能…...

Project Quay故障排查指南:常见问题及解决方案

Project Quay故障排查指南&#xff1a;常见问题及解决方案 【免费下载链接】quay Build, Store, and Distribute your Applications and Containers 项目地址: https://gitcode.com/gh_mirrors/quay/quay Project Quay是一款强大的容器镜像仓库管理工具&#xff0c;用于…...

药流和人流哪个恢复快?术后修护行业洞察与实用指南

意外怀孕后&#xff0c;药流和人流的恢复差异及术后修护&#xff0c;是女性关注的核心话题&#xff0c;也是孕产修护领域的重点议题。术后修护作为缩短恢复周期、减少并发症的关键&#xff0c;其科学合理性直接影响女性生殖健康。本文结合行业现状与实用经验&#xff0c;探讨药…...

# 发散创新:基于Python与Stable Diffusion的AI绘画自动化流程设计与实践

发散创新&#xff1a;基于Python与Stable Diffusion的AI绘画自动化流程设计与实践 在人工智能技术飞速发展的今天&#xff0c;AI绘画已从实验室走向大众创作场景。如何将这一前沿能力融入开发者工作流&#xff1f;本文以 Python Stable Diffusion API&#xff08;如InvokeAI或…...

微前端状态管理的真相:Module Federation + 跨应用通信实战

本周大前端要闻Compose Multiplatform v1.11.10-alpha01&#xff1a;进一步完善跨平台 UI 状态同步能力&#xff0c;ViewModel 共享机制改进KotlinConf’26 演讲阵容公布&#xff1a;多场 Session 聚焦 Kotlin 多平台架构与状态管理&#xff0c;值得关注Retrofit 3.0.0 正式发布…...

Claude Code 里,Subagents 和 Agent Teams 到底怎么选?有什么区别?

之前我写过几篇关于Multi-Agent的文章&#xff0c;介绍了Multi-Agent的一些模式。但是前不久Claude Code推出了Agent Team模式&#xff0c;当时我觉得&#xff0c;这不就是Multi-Agent的模式的一种新实现而已。后面详细拆解后&#xff0c;看到了 todo.md&#xff0c;task-list.…...