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
IRSA Manager allows you to easily set up IAM Roles for Service Accounts (IRSA) on non-EKS Kubernetes clusters.
7
+
IRSA Manager allows you to easily set up IAM Roles for Service Accounts (IRSA) on both EKS and non-EKS Kubernetes clusters.
8
8
9
9

10
10
@@ -19,7 +19,7 @@ For detailed guidelines on how irsa-manager works, please refer to the [**blog p
19
19
20
20
Before you begin, ensure you have the following:
21
21
22
-
- A running Kubernetes cluster (non-EKS).
22
+
- A running Kubernetes cluster.
23
23
- Helm installed on your local machine.
24
24
- AWS user credentials with appropriate permissions.
25
25
- The permissions should allow irsa-manager to call the necessary AWS APIs. You can find all the APIs that irsa-manager calls in the internal/aws/aws.go interfaces.
@@ -50,7 +50,7 @@ Before you begin, ensure you have the following:
50
50
51
51
## Setup
52
52
53
-
Follow these steps to set up IRSA on your non-EKS cluster:
53
+
Follow these steps to set up IRSA on your cluster:
Check the IRSASetup custom resource status to verify whether it is set to true.
99
-
100
-
> [!NOTE]
101
-
> Please ensure that only one IRSASetup resource is created.
102
-
103
-
4. Modify kube-apiserver Settings
104
-
105
-
If the IRSASetup status is true, a key file (Name: `irsa-manager-key` , Namespace: `kube-system` ) will be created. This is used for signing tokens in the kubernetes API.
106
-
Execute the following commands on the control plane server to save the public and private keys locally for Kubernetes signatures:
107
-
108
-
```console
109
-
kubectl get secret -n kube-system irsa-manager-key -o jsonpath="{.data.ssh-privatekey}" | base64 --decode | sudo tee /path/to/file.key > /dev/null
110
-
kubectl get secret -n kube-system irsa-manager-key -o jsonpath="{.data.ssh-publickey}" | base64 --decode | sudo tee /path/to/file.pub > /dev/null
111
-
```
112
-
113
-
> [!NOTE]
114
-
> Path: `/path/to/file` can be any path you choose.
115
-
> If you use kubeadm, it is recommended to set `/etc/kubernetes/pki/irsa-manager.(key|pub)`
116
-
117
-
Then, modify the kube-apiserver settings to include the following parameters:
> If you do not mount /path/to directory, you need to add the volumes field to this path.
84
+
If you're using EKS, follow this setup:
157
85
158
-
For more details, refer to the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#serviceaccount-token-volume-projection).
Check the IRSASetup custom resource status to verify whether it is set to true.
22
+
23
+
> [!NOTE]
24
+
> Please ensure that only one IRSASetup resource is created.
25
+
26
+
### Modify kube-apiserver Settings
27
+
28
+
If the IRSASetup status is true, a key file (Name: `irsa-manager-key` , Namespace: `kube-system` ) will be created. This is used for signing tokens in the kubernetes API.
29
+
Execute the following commands on the control plane server to save the public and private keys locally for Kubernetes signatures:
30
+
31
+
```console
32
+
kubectl get secret -n kube-system irsa-manager-key -o jsonpath="{.data.ssh-privatekey}" | base64 --decode | sudo tee /path/to/file.key > /dev/null
33
+
kubectl get secret -n kube-system irsa-manager-key -o jsonpath="{.data.ssh-publickey}" | base64 --decode | sudo tee /path/to/file.pub > /dev/null
34
+
```
35
+
36
+
> [!NOTE]
37
+
> Path: `/path/to/file` can be any path you choose.
38
+
> If you use kubeadm, it is recommended to set `/etc/kubernetes/pki/irsa-manager.(key|pub)`
39
+
40
+
Then, modify the kube-apiserver settings to include the following parameters:
> If you do not mount /path/to directory, you need to add the volumes field to this path.
80
+
81
+
For more details, refer to the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#serviceaccount-token-volume-projection).
0 commit comments