Last active
January 19, 2020 22:24
-
-
Save moosh3/3df4d6aaf0ee072551fd2439ff17cc6d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| kind: ClusterRole | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| metadata: | |
| name: developer-cluster-role | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - "*" | |
| verbs: | |
| - "*" | |
| --- | |
| kind: ClusterRoleBinding | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| metadata: | |
| name: developer-cluster-role-binding | |
| subjects: | |
| - kind: Group | |
| name: developers | |
| apiGroup: rbac.authorization.k8s.io | |
| roleRef: | |
| kind: ClusterRole | |
| name: developer-cluster-role | |
| apiGroup: rbac.authorization.k8s.io |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| kind: ClusterRole | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| metadata: | |
| name: aws-iam-authenticator | |
| rules: | |
| - apiGroups: | |
| - iamauthenticator.k8s.aws | |
| resources: | |
| - "*" | |
| verbs: | |
| - "*" | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - events | |
| verbs: | |
| - create | |
| - update | |
| - patch | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: aws-iam-authenticator | |
| namespace: kube-system | |
| --- | |
| kind: ClusterRoleBinding | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| metadata: | |
| name: aws-iam-authenticator | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: aws-iam-authenticator | |
| subjects: | |
| - kind: ServiceAccount | |
| name: aws-iam-authenticator | |
| namespace: kube-system | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| namespace: kube-system | |
| name: aws-iam-authenticator | |
| labels: | |
| k8s-app: aws-iam-authenticator | |
| data: | |
| config.yaml: | | |
| # a unique-per-cluster identifier to prevent replay attacks | |
| # (good choices are a random token or a domain name that will be unique to your cluster) | |
| clusterID: sandbox.df.awhstg.com | |
| server: | |
| # each mapRoles entry maps an IAM role to a username and set of groups | |
| # Each username and group can optionally contain template parameters: | |
| # 1) "{{AccountID}}" is the 12 digit AWS ID. | |
| # 2) "{{SessionName}}" is the role session name. | |
| mapRoles: | |
| - rolearn: arn:aws:iam::357751856777:role/sandbox-iam-EksWorkerRole-AOIWCTFL9MI4 | |
| username: system:node:{{EC2PrivateDNSName}} | |
| groups: | |
| - system:bootstrappers | |
| - system:nodes | |
| - roleARN: arn:aws:iam::357751856777:role/KubernetesAdmin | |
| username: kubernetes-admin | |
| groups: | |
| - system:masters | |
| # map federated users in my "KubernetesAdmin" role to users like | |
| # "admin:alice-example.com". The SessionName is an arbitrary role name | |
| # like an e-mail address passed by the identity provider. Note that if this | |
| # role is assumed directly by an IAM User (not via federation), the user | |
| # can control the SessionName. | |
| - roleARN: arn:aws:iam::000000000000:role/KubernetesAdmin | |
| username: admin:{{SessionName}} | |
| groups: | |
| - system:masters | |
| # map federated users in my "KubernetesUsers" role to users like | |
| # "[email protected]". SessionNameRaw is sourced from the same place as | |
| # SessionName with the distinction that no transformation is performed | |
| # on the value. For example an email addresses passed by an identity | |
| # provider will not have the `@` replaced with a `-`. | |
| - roleARN: arn:aws:iam::000000000000:role/KubernetesDeveloper | |
| username: "{{SessionNameRaw}}" | |
| groups: | |
| - developers | |
| # List of Account IDs to whitelist for authentication | |
| mapAccounts: | |
| - 357751856777 | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: DaemonSet | |
| metadata: | |
| namespace: kube-system | |
| name: aws-iam-authenticator | |
| labels: | |
| k8s-app: aws-iam-authenticator | |
| spec: | |
| updateStrategy: | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| annotations: | |
| scheduler.alpha.kubernetes.io/critical-pod: "" | |
| labels: | |
| k8s-app: aws-iam-authenticator | |
| spec: | |
| serviceAccountName: aws-iam-authenticator | |
| hostNetwork: true | |
| nodeSelector: | |
| node-role.kubernetes.io/master: "" | |
| tolerations: | |
| - effect: NoSchedule | |
| key: node-role.kubernetes.io/master | |
| - key: CriticalAddonsOnly | |
| operator: Exists | |
| containers: | |
| - name: aws-iam-authenticator | |
| image: 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-iam-authenticator:v0.4.0 | |
| args: | |
| - server | |
| - --config=/etc/aws-iam-authenticator/config.yaml | |
| - --state-dir=/var/aws-iam-authenticator | |
| - --generate-kubeconfig=/etc/kubernetes/aws-iam-authenticator/kubeconfig.yaml | |
| resources: | |
| requests: | |
| memory: 20Mi | |
| cpu: 10m | |
| limits: | |
| memory: 20Mi | |
| cpu: 100m | |
| volumeMounts: | |
| - name: config | |
| mountPath: /etc/aws-iam-authenticator/ | |
| - name: state | |
| mountPath: /var/aws-iam-authenticator/ | |
| - name: output | |
| mountPath: /etc/kubernetes/aws-iam-authenticator/ | |
| volumes: | |
| - name: config | |
| configMap: | |
| name: aws-iam-authenticator | |
| - name: output | |
| hostPath: | |
| path: /etc/kubernetes/aws-iam-authenticator/ | |
| - name: state | |
| hostPath: | |
| path: /var/aws-iam-authenticator/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| kind: ClusterRole | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| metadata: | |
| name: developer-cluster-role | |
| rules: | |
| - apiGroups: | |
| - rbac.authorization.k8s.io | |
| resources: | |
| - "*" | |
| verbs: | |
| - "*" | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - "*" | |
| verbs: | |
| - create | |
| - update | |
| - patch | |
| --- | |
| kind: ClusterRoleBinding | |
| apiVersion: rbac.authorization.k8s.io/v1 | |
| metadata: | |
| name: developer-cluster-role-binding | |
| subjects: | |
| - kind: Group | |
| name: developers | |
| apiGroup: rbac.authorization.k8s.io | |
| roleRef: | |
| kind: ClusterRole | |
| name: developer-cluster-role | |
| apiGroup: rbac.authorization.k8s.io |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment