当前位置: 首页 > 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;它将句子划…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [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 解决&#xff1a; 不要动CMakeLists.…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...