-
Notifications
You must be signed in to change notification settings - Fork 822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking 73 Kubernetes AWS Account Migrations from CNCF #4626
Comments
When planning our migration, we need to consider the following:
|
Effects of removing an account from an organizationWhen you remove an account from an organization, no direct changes are made to the account. However, the following indirect effects occur:
|
It looks like we will need to detach each of the 73 accounts from the CNCF org, and at the moment I disconnect them we will need to provide credit card details (which can only be done via the Web Console / UI). While I can do that, an account can only be part of a single org. So once detached, each of the accounts will need to be authenticated to to accept the invitation to join the new Kubernetes org. It's unclear to me the best way to handle authenticating to these accounts as the passwords are likely handled in a distributed way by the Kubernetes community. |
I'm looking at options for authenticating to and accepting the handshake to join the new org once they are detached from the CNCF org. We must authenticate as each account, and AssumeRole doesn't look like it will work once the accounts are standalone. Also the current passwords are unknown to the CNCF at an administrative level. We'll need to decide on a process. We could reset the password on each account as we go and share each of them with #sig-k8s-infra, but I'm open to options. I've thought about trying it for one of the top level accounts that is less used, like |
@dims can you help to escalate this Case ID : 11777279581 ? Our official support plan is Basic, so I'm not sure I can do much on my end: I'd also like to ensure that this service quota request to increase the default number of accounts was lifted from 10 to 200. We'll hit a roadblock pretty quick otherwise. It says
|
I'll work with @jeefy and @taylorwaggoner to get billing/card details to use during the migration. Once I have those we can try to move Steps:
|
It is worth finding out if we need to retain most of these accounts. Are these accounts actually holding live infra or is it part of CI/CD usage like boskos projects? If they are part of a CI process and we can supply new accounts, we can provision fresh ones, reconfigure IAM, and use that opportunity to start on a clean slate. |
I would suggest we add someone (or a role) from sig-k8s-infra to each of these accounts / mailing lists, so password resets can occur. The Kubernetes OU is limited to accounts that contain k8s in the email:
All but four of these are email lists maintained by kubernetes.io (google workspace groups / email lists?): |
Getting access to the *@kubernetes.io emails is easy. Add your email to the groups in this file. Ignore everything between the + and @ symbols to get the email. |
Here are the emails associated with kubernetes.io:
I'll put in a PR to add [email protected] to each of these @upodroid. |
This list is associated with an AWS account that is part of a the migration to a new Kubernetes AWS Org in kubernetes#4626 This is to enable a password reset for that account and ensure someone within #sig-k8s-infra has password access to all Kubernetes AWS Org member accounts.
Created #4645 for: Created #4646 for: I couldn't find these two lists in sig-k8s-infra/groups.yaml: I'll use stsAssumeRole to see if there in any infrastructure contained within those last two. We will need to decide on a place to store the changed passwords (and ideally an AWS account password rotation policy). |
We need to move the AWS accounts under those emails: we can revisit migration of the accounts used by Kops and CAPA. |
I'm in favor of this approach. we can have a mix of accounts created and accounts migrated. |
Regarding account limit quota increase request, there was an update:
|
@hh Sent an invite for $ aws organizations invite-account-to-organization --target Id=REDACTED,Type=ACCOUNT
{
"Handshake": {
"Id": "h-8201bc74bc5846f480ea2e63bed0b7dc",
"Arn": "arn:aws:organizations::REDACTED:handshake/o-kz4vlkihvy/invite/h-8201bc74bc5846f480ea2e63bed0b7dc",
"Parties": [
{
"Id": "kz4vlkihvy",
"Type": "ORGANIZATION"
},
{
"Id": "REDACTED",
"Type": "ACCOUNT"
}
],
"State": "OPEN",
"RequestedTimestamp": "2023-01-18T20:43:46.778000+00:00",
"ExpirationTimestamp": "2023-02-02T20:43:46.778000+00:00",
"Action": "INVITE",
"Resources": [
{
"Value": "o-kz4vlkihvy",
"Type": "ORGANIZATION",
"Resources": [
{
"Value": "[email protected]",
"Type": "MASTER_EMAIL"
},
{
"Value": "Kubernetes AWS Admins",
"Type": "MASTER_NAME"
},
{
"Value": "ALL",
"Type": "ORGANIZATION_FEATURE_SET"
}
]
},
{
"Value": "REDACTED",
"Type": "ACCOUNT"
}
]
}
} |
[email protected] is now migrated |
[email protected] (previously: [email protected]) is now migrated |
[email protected] (previously [email protected]) has an updated email and is ready to migrate: @ameukam I'd like to do this one synchronously I'd like to get @Riaankl to migrate the remaining accounts *@lists.cncf.io and k8s-infra-aws-admins+*kubernetes.io. The migration process is a bit more streamlined when we have access to everything now. |
/assign @Riaankl |
@mrbobbytables: We will be generating a lot of passwords that need to be saved and likely accessed by #sig-k8s-infra and the sigs these are assigned to. @dims mentioned there is a community 1Password account we should be using. Do you have details? |
All but three accounts migrated. Will work to put passwords into 1Password next week. |
/area infra/aws |
Only account remaining to be migrated is |
@Riaankl check with CNCF folks like Amye? if we can figure out who is on that list, we can coordinate with them |
Will do. |
Got that sorted, last account migrated! |
@ameukam I still need to add the passwords for all the accounts in 1password |
@Riaankl: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
aws organizations describe-organization {
"Organization": {
"Id": "o-kz4vlkihvy",
"Arn": "arn:aws:organizations::348685125169:organization/o-kz4vlkihvy",
"FeatureSet": "ALL",
"MasterAccountArn": "arn:aws:organizations::348685125169:account/o-kz4vlkihvy/348685125169",
"MasterAccountId": "348685125169",
"MasterAccountEmail": "[email protected]",
"AvailablePolicyTypes": [
{
"Type": "SERVICE_CONTROL_POLICY",
"Status": "ENABLED"
}
]
}
} aws organizations list-accounts | jq -r '.Accounts[] | select(.Status="ACTIVE") | .Name + " : " + .Email' | sort Kubernetes AWS Admins : [email protected]
aws-ebs-csi-driver Infra : [email protected]
capa-2020-07-12-01 : [email protected]
capa-2020-07-12-02 : [email protected]
capa-2020-07-13-00 : [email protected]
capa-2020-07-13-01 : [email protected]
capa-2020-07-13-02 : [email protected]
capa-2020-07-13-03 : [email protected]
capa-2020-07-13-04 : [email protected]
capa-2020-07-13-05 : [email protected]
capa-2020-07-13-06 : [email protected]
capa-2020-07-13-07 : [email protected]
capa-2020-07-13-08 : [email protected]
capa-2020-07-13-09 : [email protected]
capa-2020-07-13-10 : [email protected]
capa-2020-07-13-11 : [email protected]
capa-2020-07-13-12 : [email protected]
capa-2020-07-13-13 : [email protected]
capa-2020-11-19-00 : [email protected]
capa-2020-11-19-01 : [email protected]
capa-2020-11-19-02 : [email protected]
capa-2020-11-19-03 : [email protected]
capa-2020-11-19-04 : [email protected]
capa-2020-11-19-05 : [email protected]
capa-2020-11-19-06 : [email protected]
capa-2020-11-19-07 : [email protected]
capa-2020-11-19-08 : [email protected]
capa-2020-11-19-09 : [email protected]
capa-2020-11-19-10 : [email protected]
capa-2020-11-19-11 : [email protected]
capa-2020-11-19-12 : [email protected]
capa-2020-11-19-13 : [email protected]
capa-account-00 : [email protected]
capa-account-01 : [email protected]
capa-account-02 : [email protected]
capa-account-03 : [email protected]
capa-account-04 : [email protected]
capa-account-05 : [email protected]
capa-account-06 : [email protected]
capa-account-07 : [email protected]
capa-account-08 : [email protected]
capa-account-09 : [email protected]
capa-account-2020-02-18-a : [email protected]
capa-account-2020-02-18-b : [email protected]
capa-account-2020-02-18-c : [email protected]
capa-account-2020-02-18-d : [email protected]
capa-account-2020-02-18-e : [email protected]
capa-account-2020-02-18-f : [email protected]
capa-account-2020-02-18-g : [email protected]
capa-account-2020-02-18-h : [email protected]
capa-account-2020-02-18-i : [email protected]
capa-account-2020-02-18-j : [email protected]
cncf-k8s-infra-aws-capa-ami : [email protected]
cncf-k8s-infra-aws-capa-demo : [email protected]
e2e-kops-2020-03-15-a : [email protected]
e2e-kops-2020-03-15-b : [email protected]
e2e-kops-2020-03-15-c : [email protected]
e2e-kops-2020-03-15-d : [email protected]
image-builder-aws-2020-11-19-00 : [email protected]
image-builder-aws-2020-11-19-02 : [email protected]
image-builder-aws-2020-11-19-03 : [email protected]
image-builder-aws-2020-11-19-04 : [email protected]
image-builder-aws-2020-11-19-05 : [email protected]
image-builder-aws-2020-11-19-06 : [email protected]
image-builder-aws-2020-11-19-07 : [email protected]
image-builder-aws-2020-11-19-08 : [email protected]
image-builder-aws-2020-11-19-09 : [email protected]
image-builder-aws-2020-11-19-10 : [email protected]
image-builder-aws-2021-03-28-01 : [email protected]
image-builder-aws-2021-25-03/28/21-01 : k8s-infra-aws-admins+image20212503/28/[email protected]
k8s-infra-artifacts-k8s-io-prod : [email protected]
k8s-infra-aws-admins+accounts : [email protected]
k8s-infra-aws-admins+registry-k8s-io : [email protected]
k8s-infra-aws-root-account : [email protected]
k8s-infra-networking : [email protected]
k8s-infra-organisation-incident-response : [email protected]
k8s-infra-organisation-logging : [email protected]
k8s-infra-organisation-security : [email protected]
k8s-infra-registry-k8s-io-prod : [email protected]
k8s-infra-security-audit : [email protected]
k8s-infra-security-engineering : [email protected]
k8s-infra-security-incident-response : [email protected]
k8s-infra-security-logs : [email protected]
k8s-infra-security-logs : [email protected]
k8s-infra-shared-services : [email protected]
k8s-infra-shared-services : [email protected]
sig-release-leads : [email protected] |
Looks like some were missed, filed #5111 to capture that effort, but linking here as well. |
There are 73 total Kubernetes accounts in the CNCF AWS Account. We will need to track these migrations.
arn:aws:servicequotas:::organizations/L-29A0C5DF is a request to raise the default max accounts from 10 to 200.
The process for moving accounts between organisations is outlined here: https://aws.amazon.com/premiumsupport/knowledge-center/organizations-move-accounts/
Kubernetes OU (3)
registry.k8s.io OU (1)
aws-ebs-csi-driver OU (1)
kops OU (4)
sig-k8s-infra OU (12)
capa OU (52)
The text was updated successfully, but these errors were encountered: