当前位置: 首页 > 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 角色
http://www.lryc.cn/news/311081.html

相关文章:

  • Azkaban 大数据 任务调度
  • 从预训练到通用智能(AGI)的观察和思考
  • 四种垃圾回收算法
  • stm32f103zet6笔记1-led工程
  • OpenDDS的Qos策略
  • string基本操作(C++)
  • 【网站项目】123网上书城系统
  • LeetCode148.排序链表
  • qt学习:网络调试助手客户端+服务端
  • C语言拾遗
  • 大唐杯学习笔记:Day4
  • docker基线安全修复和容器逃逸修复
  • ZooKeeper概述
  • 【sgCollapseBtn】自定义组件:底部折叠/展开按钮
  • 如何根据玩家数量和游戏需求选择最合适的服务器配置?
  • 问题解决:各版本的vc_redist下载地址 缺少msvcr100.dll、msvcr120.dll、msvcr140.dll
  • 182基于matlab的半监督极限学习机进行聚类
  • C语言数组案例编程
  • NLP - 依存句法分析、句子歧义
  • vue实现图片上传至oss,返回url插入数据库,最后在前端页面上回显图片
  • C++学习笔记:set和map
  • 990-28产品经理:Different types of IT risk 不同类型的IT风险
  • wpa_supplicant与用户态程序的交互分析
  • JavaScript继承 寄生组合式继承 extends
  • Nginx 和Tomcat比较
  • p18 线性代数,行阶梯型矩阵
  • leetcode—— 动态规划—— 零钱兑换
  • java面试题(spring框架篇)(黑马 )
  • LeetCode27 移除元素
  • 自测-5 Shuffling Machine(python版本)