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/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设置,如下图:
点击下一步,如图:
设置好角色名称eksClusterRole
和角色描述Amazon EKS - Cluster role
后,创建角色,如下图:
开始EKS集群创建
找到EKS相关界面,进入EKS集群创建入口,如下图:
设置集群名称
这里还有一些其他的设置,我们先默认好了,其中k8s版本尽可能用最新版本,如果用了老版本,aws得另外收费;角色选择,默认选择之前创建的eksClusterRole
角色。点击下一步。
设置网络
这里我设置eks用到的ELB安全组,这里需要注意一下;然后,我们都是用私有子网。点击下一步。
设置监控
这里是uat环境,不是生产环境,所以,这里的监控系统可以不用开。点击下一步。
设置插件
uat环境不用使用GuardDuty插件,使用GuardDuty保证pod安全也需要收费的。下一步。
检查插件
直接下一步。
创建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机器集群,有三种方式:
-
- EKS 托管节点组;
-
- 自行管理的节点 ;
-
- AWS Fargate。
从AWS的文档 Amazon EKS 节点可以知道AWS Fargate作为k8s机器集群实现有很多限制,这里我们实现EKS托管节点组方式。
设置创建k8s节点EC2的IAM角色
准备创建k8s托管节点IAM角色,如下图:
选中EC2,点击下一步,如下图:
依次设置AmazonEKSWorkerNodePolicy
(k8s工作节点策略),AmazonEC2ContainerRegistryReadOnly
(docker镜像只读权限策略),AmazonEKS_CNI_Policy
(容器网卡权限策略)。依次添加3个托管权限策略,给这个角色,如下图:
下面审计一下这个角色,如下图:
设置好名称和描述,审计一下配置没问题,就可以直接点击创建角色。
设置托管节点组
开始准备配置托管节点组,如下图:
设置托管节点组名称和Name标签名称,选择上述创建的IAM角色,具体设置如下图:
设置托管节点用到的镜像系统,选择ec2类型,最大不可用节点数,如下图:
设置网络,如下图:
审计一下托管节点配置,如果没有问题的话,直接创建即可,如下图:
创建的过程中,需要启动EC2实例,等待一段已经吧!
出现如下图,说明托管节点设置成功:
可以通过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(命令行工具),这里就不详细介绍了,都是next的步骤。具体可以参考啊aws cli安装的相关教程网页,具体地址如下: http…...
Azkaban 大数据 任务调度
参考视频:尚硅谷大数据Azkaban 3.x教程(全新发布)_哔哩哔哩_bilibili Azkaban: 是一个定时、批量工作流任务调度器(工作流程调度,定时调度) 常见的开源调度系统: 简单单一的任务调度: Linux的…...

从预训练到通用智能(AGI)的观察和思考
1.预训练词向量 预训练词向量(Pre-trained Word Embeddings)是指通过无监督学习方法预先训练好的词与向量之间的映射关系。这些向量通常具有高维稠密特征,能够捕捉词语间的语义和语法相似性。最著名的预训练词向量包括Google的Word2Vec&#…...
四种垃圾回收算法
1.标记清除算法 该算法先标记,后清除,将所有需要回收的算法进行标记,然后清除;这种算法的缺点是:效率比较低;标记清除后会出现大量不连续的内存碎片,这些碎片太多可能会使存储大对象会触发GC回…...

stm32f103zet6笔记1-led工程
1、选择串口调试 2、LED0连接到PB5,PB5设置为推挽输出。PE5同理。 3、生成成对的.c,.h文件。 4、debugger选择j-link。 5、connection选择SWD。 6、编写bsp_led.c,bsp_led.h文件。 7、下载调试,可以看到LED0 500ms闪烁一次,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网上书城系统
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板ÿ…...

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

qt学习:网络调试助手客户端+服务端
目录 客户端 步骤 ui界面配置编辑 添加头函数,类成员数据,类成员函数 添加模块 构造函数 连接按钮 收到来自服务器的数据触发 发送按钮 断开按钮 向textEditRev文本编辑器中插入指定颜色的文本 服务端 步骤 ui界面配置 添加头函数&…...
C语言拾遗
函数的地址传递: 函数体内部想要修改函数体外部变量值的时候,使用地址传递 int set(int *pa) {//功能 } int main(void) {int a0;set(&a);//此时a的值经过set函数的修改,且传递到了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、将容器的根文件系统挂载为只读 修复建议: 添加“ --read-only”标志,以允许将容器的根文件系统挂载为只读。 可以将其与卷结合使用,以强制容器的过程仅写入要保留的位置。 可以使用命令&#x…...
ZooKeeper概述
ZooKeeper是一个开源的分布式协调服务,由Apache Software Foundation维护。它主要用于解决分布式应用中遇到的一些最常见问题,如命名服务、状态同步、配置管理和群集管理等。通过提供一套简单但强大的API,ZooKeeper使得从简单的锁服务到复杂的…...

【sgCollapseBtn】自定义组件:底部折叠/展开按钮
特性: 支持自定义折叠状态支持自定义标签名称 sgCollapseBtn源码 <template><div :class"$options.name" click"show !show" :placement"placement"><div class"collapse-btns"><div class"c…...

如何根据玩家数量和游戏需求选择最合适的服务器配置?
根据玩家数量和游戏需求选择最合适的服务器配置,首先需要考虑游戏的类型、玩家数量、预计的在线时间以及对内存和CPU性能的需求综合考虑。对于大型多人在线游戏,如MMORPG或MOBA等,由于需要更多的CPU核心数来支持更复杂的游戏逻辑和处理大量数…...
问题解决:各版本的vc_redist下载地址 缺少msvcr100.dll、msvcr120.dll、msvcr140.dll
Visual C Redistributable for Visual Studio各版本的官方链接。解决缺少msvcr100.dll、msvcr120.dll、msvcr140.dll的问题。 下面全部为官方链接: Microsoft Visual C Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://ak…...

182基于matlab的半监督极限学习机进行聚类
基于matlab的半监督极限学习机进行聚类,基于流形正则化将 ELM 扩展用于半监督,三聚类结果可视化输出。程序已调通,可直接运行。 182matlab ELM 半监督学习 聚类 模式识别 (xiaohongshu.com)...
C语言数组案例编程
1. 编写一个程序实现:从键盘输入15个整数存入数组,然后统计其中正整数的个数。 【要求】采用函数编程 #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) 短语结构(Constituency):短语结构语法是一种描述语言结构的方法,它将句子划…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...