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

Document how to set up TLS for a workload #14725

Open
sftim opened this issue Jun 4, 2019 · 33 comments
Open

Document how to set up TLS for a workload #14725

sftim opened this issue Jun 4, 2019 · 33 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. language/en Issues or PRs related to English language lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/security Categorizes an issue or PR as relevant to SIG Security. sig/usability Categorizes an issue or PR as relevant to SIG Usability. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@sftim
Copy link
Contributor

sftim commented Jun 4, 2019

This is a Feature Request

What would you like to be added
Add documentation that covers the different ways to protect communications in transit for a workload.

Explain prerequisites to include an understanding of SSL / TLS, maybe SNI and X.509 too. Help readers understand the topic and signpost away anyone looking for other docs (eg how to use TLS with the control plane)

Explain prerequisites to deploying TLS: stable hostname, private key, certificate
Maybe mention ACME if this doesn't make the page too long.

Discuss hosting options:

  • deploying Pods with containers that implement TLS themselves, along with a TCP-level Service, and a Secret to protect private key material
  • setting up a Service that uses TLS (eg via a cloud provider extension)
  • setting up an Ingress that uses TLS
  • using Gateway

What's next:
signpost readers to relevant add-ons, eg https://github.com/jetstack/cert-manager
signpost readers to learn about using

for TLS.

Why is this needed
There are several options for using TLS in connection with Kubernetes for application workloads. If you learn N-1 of these, it's not easy to spot that you haven't encountered all of them.

Comments
The aim I have in mind is that there's a single page for the topic. If I meet someone who wants to learn about TLS for workloads on Kubernetes I give them a link to that page and they can find what they need to by reading the page and clicking links (they don't have to rely on the search form or on a 3rd-party search website).

If linking to 3rd party content, bear the content guide in mind.

#14727 is kind of similar; it's more broadly focused on a encryption at rest in general. It feels OK to focus on TLS rather than the bigger picture of encryption in transit. Cluster operators are going to be much, much more likely to pick TLS to protect their application data over (eg) Kerberos or IPSEC.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 2, 2019
@sftim
Copy link
Contributor Author

sftim commented Sep 10, 2019

/kind feature
/priority important-longterm

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels Sep 10, 2019
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Oct 11, 2019
@sftim
Copy link
Contributor Author

sftim commented Oct 11, 2019

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Oct 11, 2019
@sftim
Copy link
Contributor Author

sftim commented Nov 30, 2019

Also see #17848

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 28, 2020
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 29, 2020
@sftim
Copy link
Contributor Author

sftim commented Apr 11, 2020

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Apr 11, 2020
@sftim
Copy link
Contributor Author

sftim commented May 15, 2020

Think this is important enough to merit
/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label May 15, 2020
@sftim
Copy link
Contributor Author

sftim commented Aug 28, 2020

Relevant to PR #23522

@sftim
Copy link
Contributor Author

sftim commented Oct 7, 2020

/sig security

@k8s-ci-robot k8s-ci-robot added the sig/security Categorizes an issue or PR as relevant to SIG Security. label Oct 7, 2020
@sftim
Copy link
Contributor Author

sftim commented Oct 8, 2020

Also IMO
/sig usability

@k8s-ci-robot k8s-ci-robot added the sig/usability Categorizes an issue or PR as relevant to SIG Usability. label Oct 8, 2020
@sftim
Copy link
Contributor Author

sftim commented Oct 10, 2020

/language en

@sftim
Copy link
Contributor Author

sftim commented Jan 10, 2022

Duplicated by #31269

@tomkivlin
Copy link
Contributor

I'd like to work on this. @sftim do you see this as a page in /concepts/security/ with the description of what TLS is and what it's used for in Kubernetes, with some "what's next" content pointing to a new page in /tasks/tls/ with the scenarios you've described etc.?

@tomkivlin
Copy link
Contributor

/assign

@sftim
Copy link
Contributor Author

sftim commented Aug 17, 2022

do you see this as a page in /concepts/security/ with the description of what TLS is and what it's used for in Kubernetes, with some "what's next" content pointing to a new page in /tasks/tls/ with the scenarios you've described etc.?

I hadn't got that far @tomkivlin. What you suggests sounds good to me.

Have a think about the concept would be “encryption in transit” or specifically “TLS”. If you have the appetite for it, the concept could even be “How Kubernetes Uses Encryption”.

Maybe there will be more than one task page. Also some existing task pages cover TLS in one way or another.

@tomkivlin
Copy link
Contributor

@sftim I like that idea. What I'll do then is a new page e.g. /concepts/security/kubernetes-encryption.md which can cover encryption at rest (etcd, secrets, volumes, etc.), in transit (Pods, Services, Ingress, etc.) and link off to other existing pages. I'll create any task pages as needed.

@sftim
Copy link
Contributor Author

sftim commented Aug 17, 2022

Encryption is also used for authn in various ways. I don't think we use if for nonrepudiation.

@tomkivlin
Copy link
Contributor

NB I have started work on this, will prepare a PR when I'm back from holiday.

https://github.com/tomkivlin/website/blob/tomkivlin/issue14725/content/en/docs/concepts/security/kubernetes-encryption.md

@sftim
Copy link
Contributor Author

sftim commented Aug 23, 2022

Great! I look forward to seeing this merged.

@mehabhalodiya
Copy link
Contributor

@tomkivlin I don't see any updates regarding any PR; so unassigning you. Please feel free to assign, if you come back here again and are willing to work on 🙂
/unassign @tomkivlin

@tomkivlin
Copy link
Contributor

/assign

@insaaniManav
Copy link

insaaniManav commented Apr 12, 2024

Hi I'd love to make this happen can I be assigned this issue ?

@sftim
Copy link
Contributor Author

sftim commented Apr 12, 2024

Here's how to work on this:

We've a lengthier guide at https://kubernetes.io/docs/contribute/new-content/

@insaaniManav
Copy link

/assign

@insaaniManav
Copy link

Hi so continuing this conversation are we still going with what was suggested by @tomkivlin on this ? is it okay if I continue work where they left off on their branch ?

@sftim
Copy link
Contributor Author

sftim commented Apr 14, 2024

(yes, it's OK - because we have a CLA in place for @tomkivlin)

@tomkivlin
Copy link
Contributor

Hi so continuing this conversation are we still going with what was suggested by @tomkivlin on this ? is it okay if I continue work where they left off on their branch ?

Fine by me! Sorry for not being able to continue this.

@sftim
Copy link
Contributor Author

sftim commented Nov 11, 2024

Want help? Feel free to reply with questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. language/en Issues or PRs related to English language lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/security Categorizes an issue or PR as relevant to SIG Security. sig/usability Categorizes an issue or PR as relevant to SIG Usability. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Status: Triage Accepted
Development

No branches or pull requests

7 participants