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

Added blog post kpng-specialized-proxiers #29783

Merged
merged 1 commit into from
Oct 11, 2021
Merged

Conversation

uablrek
Copy link

@uablrek uablrek commented Sep 23, 2021

Adds a blog post about the sig/network kpng project and how it can be used to create specialized proxiers to handle traffic use-cases not supported by K8s.

The post is intended for anyone and is kept short (no TL;DR). However for developers a more in-depth example is provided.

readable post

About the example

The example is currently hosted on https://github.com/Nordix/kpng-example
Moved to https://github.com/kubernetes-sigs/kpng/tree/master/examples/pipe-exec

The example will be updated quite often to keep in pair with the kpng development.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 23, 2021
@k8s-ci-robot k8s-ci-robot added language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. labels Sep 23, 2021
@netlify
Copy link

netlify bot commented Sep 23, 2021

✔️ Deploy Preview for kubernetes-io-main-staging ready!

🔨 Explore the source changes: 1d1c96c

🔍 Inspect the deploy log: https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/61611e70cf0d0c0007901392

😎 Browse the preview: https://deploy-preview-29783--kubernetes-io-main-staging.netlify.app

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.

@uablrek, would you be willing to propose this as a blog article for https://k8s.dev/? It feels like it's aimed at a contributor audience.

If it's published there, we'll be happy to mirror it here (approval is implicit).

@uablrek
Copy link
Author

uablrek commented Sep 23, 2021

@sftim I will. I assume it's here https://github.com/kubernetes/contributor-site/tree/master/content/en/blog ?

A reason for non-developers to know this is the possibility to actually handle a difficult traffic use-case with a service without modifying K8s.

@uablrek
Copy link
Author

uablrek commented Sep 23, 2021

Unless https://k8s.dev/ is for K8s developers? I mean developers of K8s itself. In that case my post is not for them, sig/network maintains the kube-proxy and not specialized proxiers which the post describes.

@sftim
Copy link
Contributor

sftim commented Sep 23, 2021

Unless https://k8s.dev/ is for K8s developers? I mean developers of K8s itself.

That is the target audience for https://k8s.dev/: people who want to contribute to Kubernetes.

I think writing an alternative proxy could count as a contribution, but equally you could use the information in this article to write your own proxy that you don't publish as a project contribution.
It sounds fine to leave this article on this blog.

@sftim
Copy link
Contributor

sftim commented Sep 23, 2021

/sig network

@k8s-ci-robot k8s-ci-robot added the sig/network Categorizes an issue or PR as relevant to SIG Network. label Sep 23, 2021
Authors: Lars Ekman, Ericsson

The post describes how you can create a specialized proxier using
Kubernetes Proxy NG (kpng) without interfering with the existing
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Author

Choose a reason for hiding this comment

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

I am a bit unsure if links are allowed in the initial paragraph. No other blogs seem to have them.
@sftim Is it allowed?

The post describes how you can create a specialized proxier using
Kubernetes Proxy NG (kpng) without interfering with the existing
kube-proxy. The kpng project aims at renewing the Kubernetes internal
load-balancer, the "kube-proxy". An important feature of kpng is that
Copy link
Member

Choose a reason for hiding this comment

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

"internal load-balancer" can lead to confusions with the Service with Type LoadBalancer, it is more like "the default Kubernetes Services implementation" or something like that.

Copy link
Author

Choose a reason for hiding this comment

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

Good point. I'll update that

@aojea
Copy link
Member

aojea commented Sep 24, 2021

sounds nice to me 👍


Authors: Lars Ekman, Ericsson

The post describes how you can create a specialized proxier using
Copy link
Member

@jayunit100 jayunit100 Sep 24, 2021

Choose a reason for hiding this comment

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

Suggested change
The post describes how you can create a specialized proxier using
The post will show you how to easily create a specialized service kube-proxy style network proxier, using

Copy link
Author

Choose a reason for hiding this comment

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

I leave out the "easily". Granted that the API stuff hadled by kpng is easy, but load-balancing is certainly not 😄

@sftim
Copy link
Contributor

sftim commented Sep 24, 2021

/hold
SIG Docs blog has not assigned a publication date yet (we should, though!)

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 24, 2021
@sftim
Copy link
Contributor

sftim commented Sep 28, 2021

@kubernetes/sig-network-misc how's this article looking? I'm looking for a reassurance that there's nothing in here where, once published, we'd want to yank the article or immediately update it.

@uablrek
Copy link
Author

uablrek commented Sep 29, 2021

I have updated after review, but I still wonder if there is a better place for the example. A place where k8s examples are collected maybe? Where/who can I ask?

@uablrek
Copy link
Author

uablrek commented Sep 29, 2021

But https://github.com/Nordix/kpng-example is perfectly fine for me, and if it's ok please publish.

@sftim
Copy link
Contributor

sftim commented Sep 29, 2021

Could that example live within https://github.com/kubernetes-sigs/kpng/tree/master/examples ? If not, I wonder if we could get a repo https://github.com/kubernetes-sigs/kpng-examples and make a branch / directory there for this example?

@uablrek
Copy link
Author

uablrek commented Sep 29, 2021

I'll check https://github.com/kubernetes-sigs/kpng/tree/master/examples. The only problem would be that I want to build the example out-of-tree. But perhaps it's ok if it can be copied. I'll be back...

@uablrek
Copy link
Author

uablrek commented Sep 29, 2021

The example is copied to https://github.com/kubernetes-sigs/kpng/tree/master/examples/pipe-exec, and the link in the post updated.

@sftim
Copy link
Contributor

sftim commented Sep 29, 2021

This is ready for a review; SIG Docs blog team can re-add LGTM after setting a publication date.

@@ -0,0 +1,241 @@
---
layout: blog
title: "Use KPNG to write specialized kube-proxiers"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
title: "Use KPNG to write specialized kube-proxiers"
title: "Use KPNG to Write Specialized kube-proxiers"

@uablrek
Copy link
Author

uablrek commented Oct 8, 2021

Shall I squash the commits and change the file name? And make a force push.

@reylejano
Copy link
Member

ll I squash the commits and change the file name? And make a force push.

@uablrek Yes, that will work

@reylejano
Copy link
Member

@uablrek, file name should be 2021-10-18-kpng-specialized-proxiers.md

@uablrek
Copy link
Author

uablrek commented Oct 9, 2021

@reylejano Done: rename, squash, rebase and force-push

@reylejano
Copy link
Member

@reylejano Done: rename, squash, rebase and force-push

Thank you!
/lgtm

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

LGTM label has been added.

Git tree hash: fb9a004af180d321f49bfc32a70195e06cfeba89

@sftim
Copy link
Contributor

sftim commented Oct 11, 2021

/hold cancel
Publication date is set

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 11, 2021
@sftim
Copy link
Contributor

sftim commented Oct 11, 2021

/approve

@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 Oct 11, 2021
@k8s-ci-robot k8s-ci-robot merged commit 873a25a into kubernetes:main Oct 11, 2021
@sftim sftim mentioned this pull request Oct 11, 2021
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. sig/network Categorizes an issue or PR as relevant to SIG Network. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants