Skip to content
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

add blog about cloud provider migration #46342

Merged

Conversation

andrewsykim
Copy link
Member

@andrewsykim andrewsykim commented May 13, 2024

Add blog about cloud provider removal effort (KEP-2395).

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels May 13, 2024
@k8s-ci-robot k8s-ci-robot added area/blog Issues or PRs related to the Kubernetes Blog subproject size/M Denotes a PR that changes 30-99 lines, ignoring generated files. language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. labels May 13, 2024
Copy link

netlify bot commented May 13, 2024

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit b515b2d
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/6647c032365f8a00080fb675
😎 Deploy Preview https://deploy-preview-46342--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@andrewsykim andrewsykim marked this pull request as draft May 13, 2024 03:46
@andrewsykim andrewsykim force-pushed the cloud-provider-migration-blog branch 2 times, most recently from cb2a86d to ced0480 Compare May 17, 2024 19:55
@andrewsykim andrewsykim changed the title [WIP] add blog about cloud provider migration/removal add blog about cloud provider migration May 17, 2024
@andrewsykim andrewsykim changed the title add blog about cloud provider migration add blog about cloud provider migration May 17, 2024
@andrewsykim andrewsykim marked this pull request as ready for review May 17, 2024 19:55
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 17, 2024
@andrewsykim
Copy link
Member Author

cc @elmiko @msau42

@andrewsykim andrewsykim force-pushed the cloud-provider-migration-blog branch from ced0480 to b3acce3 Compare May 17, 2024 19:57
Copy link
Contributor

@elmiko elmiko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for posting this @andrewsykim !

author: >
Andrew Sy Kim (Google),
Michelle Au (Google),
Michael McCune (RedHat)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very minor nit

Suggested change
Michael McCune (RedHat)
Michael McCune (Red Hat)

Signed-off-by: andrewsykim <andrewsy@google.com>
@andrewsykim andrewsykim force-pushed the cloud-provider-migration-blog branch from b3acce3 to b515b2d Compare May 17, 2024 20:38
Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This article is OK to merge. If you're willing to revise it either before or after publication, please consider the feedback from this review.

Accepting suggestions from this review will improve readers' experience.

/lgtm
/approve

It's more useful to merge this than to run another review cycle.

Each subsystem was critical to achieve full feature parity with built-in capabilities and required several releases to bring each subsystem to GA-level maturity with a safe and
reliable migration path. More on each subsystem below.

### Cloud Controller Manager
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge)

Suggested change
### Cloud Controller Manager
### Cloud controller manager


Learn more about Cloud Controller Manager [here](/docs/concepts/architecture/cloud-controller).

### API Server Network Proxy
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge)

Suggested change
### API Server Network Proxy
### API server network proxy


Learn more about the API Server Network Proxy [here](https://github.com/kubernetes-sigs/apiserver-network-proxy).

### Kubelet Credential Provider
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit)

Suggested change
### Kubelet Credential Provider
### Credential provider plugins for the kubelet


Learn more about Kubelet Credential Provider [here](https://kubernetes.io/docs/tasks/administer-cluster/kubelet-credential-provider/).

### CSI In-tree Storage Migration Plugins
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit)

Suggested change
### CSI In-tree Storage Migration Plugins
### Storage plugin migration from in-tree to CSI


Learn more about In-tree Storage migration in [this blog post](https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-feature-csi-migration-beta/).

## What’s Next?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge)

Suggested change
## What’s Next?
## What's next?


### API Server Network Proxy

The API Server Network Proxy project, initiated in 2018 in collaboration with SIG API Machinery, aimed to replace the SSH tunneler functionality within the kube-apiserver.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit)

Suggested change
The API Server Network Proxy project, initiated in 2018 in collaboration with SIG API Machinery, aimed to replace the SSH tunneler functionality within the kube-apiserver.
The _API server network proxy_ project, initiated in 2018 in collaboration with SIG API Machinery, aimed to replace the existing SSH tunneling functionality within the kube-apiserver.

I think “existing” helps clarity, but it's up to you if you don't like the tautology.

This tunneler had been used to securely proxy traffic between the Kubernetes control plane and nodes, but it heavily relied on provider-specific implementation details embedded in the kube-apiserver to establish these SSH tunnels.

Now, the API Server Network Proxy is a GA-level extension point within the kube-apiserver. It offers a generic proxying mechanism that can route traffic from the API server to nodes through a secure proxy,
eliminating the need for the API server to have any knowledge of the specific cloud provider it is running on. This project also introduced the Konnectivity project, which has seen growing adoption in production environments.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge, and only if you'd like to)
Could link to https://kubernetes.io/docs/concepts/architecture/control-plane-node-communication/#konnectivity-service here.


### Kubelet Credential Provider

The Kubelet credential provider plugin was developed to replace the kubelet's built-in functionality for dynamically fetching credentials for image registries hosted on Google Cloud, AWS, or Azure.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge, and only if you'd like to)

Suggested change
The Kubelet credential provider plugin was developed to replace the kubelet's built-in functionality for dynamically fetching credentials for image registries hosted on Google Cloud, AWS, or Azure.
Support for kubelet credential provider plugins was developed to replace the kubelet's built-in functionality for dynamically fetching credentials for image registries hosted on Google Cloud, AWS, or Azure.

### Kubelet Credential Provider

The Kubelet credential provider plugin was developed to replace the kubelet's built-in functionality for dynamically fetching credentials for image registries hosted on Google Cloud, AWS, or Azure.
This capability was convenient as it allowed the kubelet to seamlessly retrieve short-lived tokens for pulling images from GCR, ECR, or ACR. However, like other areas of the project,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge, and only if you'd like to)

Suggested change
This capability was convenient as it allowed the kubelet to seamlessly retrieve short-lived tokens for pulling images from GCR, ECR, or ACR. However, like other areas of the project,
The legacy capability was convenient as it allowed the kubelet to seamlessly retrieve short-lived tokens for pulling images from GCR, ECR, or ACR. However, like other areas of Kubernetes, supporting

?

This capability was convenient as it allowed the kubelet to seamlessly retrieve short-lived tokens for pulling images from GCR, ECR, or ACR. However, like other areas of the project,
this required the kubelet to have specific knowledge of different cloud environments and APIs.

Introduced in 2019, the credential provider plugin offers a generic extension point for the kubelet to execute plugin binaries that dynamically provide credentials for images hosted on various clouds.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(nit; OK to fix up post merge, and only if you'd like to)

Suggested change
Introduced in 2019, the credential provider plugin offers a generic extension point for the kubelet to execute plugin binaries that dynamically provide credentials for images hosted on various clouds.
Introduced in 2019, the credential provider plugin mechanism offers a generic extension point for the kubelet to execute plugin binaries that dynamically provide credentials for images hosted on various clouds.

A plugin is something you plug in, not the extension point that enables the plugging in.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 18, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: fc4338b550606e3ac762bcc592f8b219e517b69a

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sftim

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 18, 2024
@k8s-ci-robot k8s-ci-robot merged commit 501098a into kubernetes:main May 18, 2024
6 checks passed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please send in a post-merge PR to fix the filename, so it matches the actual publication date,

@andrewsykim
Copy link
Member Author

Thanks @sftim, I addressed your feedback in #46450

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/blog Issues or PRs related to the Kubernetes Blog subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
Status: Scheduled
Development

Successfully merging this pull request may close these issues.

None yet

4 participants