You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: install-and-configure/install/cloud-integration/aws-cloud-integrations/aws-cloud-integration-using-irsa.md
+31-43Lines changed: 31 additions & 43 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@ There are many ways to integrate your AWS Cost and Usage Report (CUR) with Kubec
8
8
9
9
If this is not an accurate description of your environment, see our [AWS Cloud Integration](aws-cloud-integrations.md) doc for more options.
10
10
11
-
{% hint style="info" %}
12
-
Kubecost also supports [EKS Pod Identity](https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-eks-pod-identity/) as an alternative to IRSA. To set up EKS Pod Identities, complete steps 1-4 of the below tutorial fully, then follow Step 5 until you are prompted to move to the [optional Step 6](aws-cloud-integration-using-irsa.md#step-6-optional-setting-up-eks-pod-identity) below.
13
-
{% endhint %}
11
+
> [!NOTE]
12
+
>Kubecost also supports [EKS Pod Identity](https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-eks-pod-identity/) as an alternative to IRSA. To set up EKS Pod Identities, complete steps 1-4 of the below tutorial fully, then follow Step 5 until you are prompted to move to the [optional Step 6](aws-cloud-integration-using-irsa.md#step-6-optional-setting-up-eks-pod-identity) below.
13
+
14
14
15
15
## Overview of Kubecost CUR integration
16
16
@@ -80,9 +80,9 @@ Follow the [AWS documentation](https://docs.aws.amazon.com/cur/latest/userguide/
Your S3 path prefix can be found by going to your AWS Cost and Usage Reports dashboard and selecting your bucket's report. In the Report details tab, you will find the S3 path prefix.
102
-
{% endhint %}
100
+
> [!NOTE]
101
+
>Your S3 path prefix can be found by going to your AWS Cost and Usage Reports dashboard and selecting your bucket's report. In the Report details tab, you will find the S3 path prefix.
102
+
103
103
104
104
Once Athena is set up with the CUR, you will need to create a *new* S3 bucket for Athena query results. The bucket used for the CUR cannot be used for the Athena output.
105
105
@@ -120,9 +120,9 @@ Navigate to Athena in the AWS Console. Be sure the region matches the one used i
120
120
*`athenaRegion`: the AWS region value where your Athena query is configured
121
121
*`athenaTable`: the partitioned value found in the Table list
122
122
123
-
{% hint style="info" %}
124
-
For Athena query results written to an S3 bucket only accessed by Kubecost, it is safe to expire or delete the objects after one day of retention.
125
-
{% endhint %}
123
+
> [!NOTE]
124
+
>For Athena query results written to an S3 bucket only accessed by Kubecost, it is safe to expire or delete the objects after one day of retention.
125
+
126
126
127
127
### Step 4: Setting up payer account IAM permissions
128
128
@@ -134,7 +134,6 @@ In *iam-payer-account-trust-primary-account.json*, replace `SUB_ACCOUNT_22222222
134
134
135
135
In the same location as your downloaded configuration files, run the following command to create the appropriate policy (`jq` is not required):
136
136
137
-
{% code overflow="wrap" %}
138
137
139
138
```bash
140
139
aws iam create-role --role-name kubecost-cur-access \
@@ -156,25 +155,24 @@ aws iam put-role-policy --role-name kubecost-cur-access \
Now we can obtain the last value `masterPayerARN` for *cloud-integration.json* as the ARN associated with the newly-created IAM role, as seen below in the AWS console:
170
168
171
169

172
170
173
171
### Step 5: Setting up IAM permissions for the primary cluster
174
172
175
-
{% hint style="warning" %}
176
-
By arriving at this step, you should have been able to provide all values to your *cloud-integration.json* file. If any values are missing, reread the tutorial and follow any steps needed to obtain those values.
177
-
{% endhint %}
173
+
> [!NOTE]
174
+
>By arriving at this step, you should have been able to provide all values to your *cloud-integration.json* file. If any values are missing, reread the tutorial and follow any steps needed to obtain those values.
175
+
178
176
179
177
**From the AWS Account where the Kubecost primary cluster will run**
If you are using EKS Pod Identity, skip the rest of Step 5 and continue to [Step 6](aws-cloud-integration-using-irsa.md#step-6-optional-setting-up-eks-pod-identity).
205
-
{% endhint %}
201
+
Create the secret (in this setup, there are no actual secrets in this file):
>If you are using EKS Pod Identity, skip the rest of Step 5 and continue to [Step 6](aws-cloud-integration-using-irsa.md#step-6-optional-setting-up-eks-pod-identity).
206
209
207
210
Enable the OIDC-Provider:
208
211
@@ -229,13 +232,11 @@ Go to the IAM Role and attach the proper IAM trust policy. [Use the sample trust
229
232
230
233
**Alternative method: Create a new dedicated service account for Kubecost using `eksctl`**
231
234
232
-
{% hint style="info" %}
233
-
This method creates a new service account via eksctl command line tools, instead of using the default service account. Eksctl automatically creates the trust policy and IAM Role that are linked to the new dedicated Kubernetes service account.
234
-
{% endhint %}
235
+
> [!NOTE]
236
+
>This method creates a new service account via eksctl command line tools, instead of using the default service account. Eksctl automatically creates the trust policy and IAM Role that are linked to the new dedicated Kubernetes service account.
235
237
236
238
Replace `SUB_ACCOUNT_222222222` with the AWS account number where the primary Kubecost cluster will run.
For help with troubleshooting, see the section in our original [AWS integration guide](/install-and-configure/install/cloud-integration/aws-cloud-integrations/aws-cloud-integrations.md#troubleshooting).
0 commit comments