EKS 训练营-IRSA(6)

# 介绍
【说明】:支持 K8s 1.12 以上的版本。AWS 的 eks 通过一个公开的 OIDC(Open ID Connect Provider)支持细粒度的权限管理和控制(在OIDC里面,通过 STS 去 take IAM Role 来实现)。
有关 EKS IRSA00852现原成了理,请参考我的51job博文 https://blog.51cto.co训练家真司m/wzl设置wifi密码inux/2463715
# 创建和配置 IAM 角色
我们用 `AmazonS3ReadOnlyAccess` 作为这个动手实验的例子,我们要附加一个 “Amaz14路末班车onS3ReadOnlyAccess” 的 aws 管理的 policy 给 iamser14号线地铁线路图viceaccount。
## 1.创建IAM Role
作用尺寸建IAM Role并绑定
``设置英文怎么写`bas作用力与反作用力做功代数和为零h
eksctl create iamserviceaccount \
--name iam-test \
--设置wifi密码name14.4.1系统值得更新吗space default \
--cluster my-cluster \
--attach-policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess \
--approve \
--over扫黑决战ride-existing-serviceaccou410不锈钢和304哪个好nts
```
## 2.确认关联IAM Role和Servic作用题答题模板e Account
此处我们确认之前的步骤已经完成:
```bash
kubec桑葚tl get sa iam-test
```
查看详细内容
```bash
kubectl describe sa iam-test
```
指定商户专享临时额度认结果如下:extinguish
```yaml
Name: iam-test
Namespace: default
Labels: app.kubernetes.io/managed-by=eksctl
Annotations: eks.amazonaws.com/role-arn: acto是什么职位么职位rn:aws:iam::9212835388指定代理43:role/eksctl-my-cluster-addon-iamservextraordinaryiceaccoctocunt-de-Role1-1NV2KI61Y2NX
Image pull secrets:
Mountable secrets: iam-test-token-fjn6s
Tokens: iam-test-token-fjn6s
Eextensiveve三角函数公式nts:
```
# 部署Pod测试
我们将进行两项测试
- job-s3.yaml,将返回执行 `aw作用力与反作用力s s3 ls` 的结果,这个执行将成功
- job-ec2.yaml,将返回执行 `aws ec2 describe-instances --region ${AWS_REGION}` 的结果,这个执行将失败,因为我们没有授权
## 1.测试列出S3存储桶
代码如下
```yaml
mkdir -p ~/environment/iam-sa/ && cd ~/environment/iam-sa/
cat job-s3.yaml
apiVersion:extra batch/v1
kind: Job
metadata:
name: eks-iam-test-s3
spec:
template:
metadata:
labels:
app: eks-iam-test-s3
spec:
serviceAccountName: iam-test
containers:
- na008mecto医学上是什么意思: eks-iam-test
image: amazon/aws-cli:latest
args: ["s3", "ls"]
restartPolicy:411开头的身份证是哪里的 Never
EoF
kubectl apply -f jo作用机制b-s3.yaml
kubectl get训练家开了外挂 job -l app=eks-iam-test-s3
```
查询执行状态(成指定监护人功)
```bash
NAME COMP指定是什么意思LETIONS DURATI三体ON AGE
eks-iam-test-s3 1/1 11s412 26s
```
跟踪日志
```bash
kubectl logs -l app=eks-iam-EXTtest-s3
```
会发现类似如下的内容(S3桶列表)
```bash
2019-10-15 07:44:15 wz-audios
2020-11-05 04:37:19 wzlinuextravagantx-datalake
2020-08-14 06:40:34 wzlinux-resized-images
2020-09-02 12:15:3训练基础英语0 wzlinux-transl训练场的火箭筒在哪里ated-input-bucket
2020-09-02 12:14:42 wzlinux-t训练家的格斗之路ranslated-output-bucket
2020-08-14 06:29:作用题答题模板38 w14号线地铁线路图zlinx-imag指定商户专享临时额度e-resizing-de-serverlessdeploymentbuck-1nab75173m0ka5ouk
```
## 2.指定的网络名不再可用怎么解决测试列出EC2
代码如下
```json
cd ~/environment/iam-sa
cat job-ec2.yaml
apiVersion: bat训练家真司夜光璀璨小说ch/v1
kind: Job
metadata:
name008507基金净值: eks-iam-test-ec2
spec:
template:
m51逝梦etadata:
labels:
app: eks-iam-test-ec2
spec:
serviceAccountName:成了黑化霸总的心尖宠 iam-test
containers:
- name: eks-iam-test
i14号线地铁线路图mage: amazon/aws-cli:latest
args: ["ec2", "describe-instances", "--region", "eu-west-1"]
restartPolicy: Never
backoffLimit: 0
EoF
kubectl apply -f job-ec2.yaml
kubectl get job -l app=eks-iam-test-ec2
```
查询执行状态(cto是什么意思啊会一设置下载直卡在这里,不会执行成功的,因为没有权限)
```
NAME COMPLETION指定管辖S DURATION AGE
eks-iam-test-ec2 0/1设置下载 2419是什么意思6s 26s
```
通过跟踪日志
```bacto是什么职位是什么意思sh
kubectl logs -l app=eks-iam-test-ec2
```
我们会发现报错如下
```bash
An error occurred (Unauthor512汶川地震izedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation.
```
# 清理环境
------
当你不需要时候,可以通过如下方式删除此环境
```bash
cd ~/environment/iam-sa
kubectl delete -f job-s3.yaml
kubectl delete -f job-ec2.yaml
eksctl delete iamserviceaccount \
--name iam-test \
--namespace defau成了新帝的外室lt \
--clus设置下载ter my-cluster \
--wait
```
# 欢迎大家扫码关注,获取更多信息
![](https://imgs.wzlinux.com/wechat/wechat-8.jpg)