Skip to content

Conversation

lmktfy
Copy link
Contributor

@lmktfy lmktfy commented Aug 12, 2025

The motivation for this PR was to be able to explain KEP-3721: Support for env files. After PR #51415 merged I wanted to also help readers discover that the new support exists.

However, to add that section, I needed a page to have around it. Hence:

  • this PR
  • my (intentional) choice of base branch: dev-1.34

Current page, vs preview

@k8s-ci-robot k8s-ci-robot added this to the 1.34 milestone Aug 12, 2025
Copy link

netlify bot commented Aug 12, 2025

👷 Deploy Preview for kubernetes-io-vnext-staging processing.

Name Link
🔨 Latest commit d775ae7
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-vnext-staging/deploys/68ae21421182d10008f6a7b2

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language labels Aug 12, 2025
@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Aug 12, 2025
Copy link

netlify bot commented Aug 12, 2025

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit aa8b486
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/68cbbad8a2e5340008050491
😎 Deploy Preview https://deploy-preview-51899--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 project configuration.

weight: 80
description: >
Resources that Kubernetes provides for configuring Pods.
Configuration mechanisms within Kubernetes.
Copy link
Contributor

Choose a reason for hiding this comment

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

The original text is much clearer than the revised version.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

See #51899 (comment) and also #51899 (comment) (feedback on the feedback).

This is still the description I recommend using.

Copy link
Member

@reylejano reylejano Sep 17, 2025

Choose a reason for hiding this comment

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

As workload configuration in Kubernetes matures, end users have gone beyond using Kubernetes objects / resources to configure Pods. Including init and sidecar containers, I've also seen external storage mounted via CSI driver/mounted PVs used to configure Pods.
The original description scoped the configuration to Pods but the page includes cluster configuration aspects. Imo, generalizing the description for configuration is more accurate to the page

Copy link
Contributor

Choose a reason for hiding this comment

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

The intent of this page, as I see it, is to provide end users an overview for configuring their workloads. In many scenarios, for stability or security reasons, an end user is not permitted to configure the cluster. In other words, the cluster configuration topic is for cluster admins. We are not supposed to compile everything into this page simply because a topic is about "configuration".

It is perfectly okay to add a note at the beginning of the page, pointing users to admin-specific topics if that is what they are looking for.

Comment on lines +19 to +20
If you wanted to learn about configuring the `kubectl` command line tool,
read [configure access to multiple clusters](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/).
Copy link
Contributor

Choose a reason for hiding this comment

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

This sentence is irrelevant.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@tengqm, here's the problem:

We can signpost them to where they want to be. Signposts aren't for people who know where they are going; they are for the otherwise lost.


Secrets are similar to {{< glossary_tooltip text="ConfigMaps" term_id="configmap" >}}
but are specifically intended to hold confidential data. Read the page about Secrets
to learn about the benefits (and limitations) around information security and Secrets.
Copy link
Contributor

Choose a reason for hiding this comment

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

Either remove the last sentence, or provide a link.

configuration or security keys or other information that your containers must
use, and that shouldn't be stored in container images.

### Sidecar container helper {#config-helper-sidecar}
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a misunderstanding of sidecar.
What you want to explain here is the ImageVolume feature.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I understand sidecars. In fact, given I'm employed to be a Kubernetes expert, I am confident I understand sidecars.

We could add a mention of ImageVolume, but a sidecar configuration helper is absolutely a thing, and it provides benefits that image volume does not (notable: real time updating).

Copy link
Member

Choose a reason for hiding this comment

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

Sidecar's are meant to better the main application container and providing configuration is one way to better app containers.
The 2015 blog from Brendan Burns that talked about sidecars describes a sidecar that synchronizes the filesystem with git and git is often used to store app configuration

#### Configuration via the filesystem {#init-container-shared-volume}

With this option, the init container fetches configuration and writes the configuration to
a file, or several files, within a Pod-local volume.
Copy link
Contributor

Choose a reason for hiding this comment

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

This doesn't have to be Pod-local.

Comment on lines +117 to +129
* [Cluster Administration](/docs/concepts/cluster-administration/)
* [API server authentication configuration](/docs/reference/access-authn-authz/authentication/#using-authentication-configuration)
* [API server authorization configuration](/docs/reference/access-authn-authz/authorization/#using-configuration-file-for-authorization)
* [Configure Certificate Rotation for the Kubelet](/docs/tasks/tls/certificate-rotation/)
* [Reconfiguring a `kubeadm` Cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure/)
* [Configuring a CGroup Driver](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)
* [Create Static Pods](/docs/tasks/configure-pod-container/static-pod/), relevant to
control plane configuration
* [Configure the Aggregation Layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/)
Copy link
Contributor

Choose a reason for hiding this comment

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

These have nothing to do with the so said "configuration".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I can't find a good way to resolve our difference on this one. For me, the link between "configuration" and "API server authorization configuration" is straightforward to make.

@divya-mohan0209
Copy link
Contributor

@tengqm Thank you for taking time out time to provide your feedback on the PR. Gentle reminder to please consider providing actionable items in a neutral voice since asynchronous & text-based feedback can be misconstrued even if you don't intend for them to be that way.

@tengqm
Copy link
Contributor

tengqm commented Aug 21, 2025

@tengqm Thank you for taking time out time to provide your feedback on the PR. Gentle reminder to please consider providing actionable items in a neutral voice since asynchronous & text-based feedback can be misconstrued even if you don't intend for them to be that way.

Which comments are you referring to, @divya-mohan0209 ? I just rechecked all feedbacks I provided and I failed to see anything inappropriate.

@divya-mohan0209
Copy link
Contributor

@tengqm The feedback wasn't inappropriate, some of it wasn't actionable/constructive for the submitter.

As aforementioned, that mustn't have been your intention and we fully understand that. However, it'd be valuable to state what is expected of the submitter while reviewing their PR instead of being dismissive and/or providing commentary like you've done here, here, and here. Trust that clarifies what you're looking for?

@tengqm
Copy link
Contributor

tengqm commented Aug 21, 2025

@tengqm The feedback wasn't inappropriate, some of it wasn't actionable/constructive for the submitter.

As aforementioned, that mustn't have been your intention and we fully understand that. However, it'd be valuable to state what is expected of the submitter while reviewing their PR instead of being dismissive and/or providing commentary like you've done here, here, and here. Trust that clarifies what you're looking for?

For new text added in a PR, when we say they are irrelevant, it is pretty clear that my suggestion is to remove them or add them somewhere else. Right?

For text that are technically inaccurate, for example, "This doesn't have to be Pod-local.".
I mean that an init container doesn't have to share data with an app container using Pod-local volumes. Data can be saved by an init container to any place that the app container can access. For example, the shared storage can be a CSI drive, a GIT repo, a HTTP server etc. Do you mean I have to write a verbose version for the submitter to understand?

As for these have nothing to do with the so said "configuration". It is clear that this page is about ways to provide configuration data for a cloud native application. Most people working in this domain are aware of the 12-factors principle. The submitter is making the page confusing to readers. Configurations related to applications (designed for application owners) are mixed to configurations related to the cluster (designed for cluster admins). Am I making it clear now?

@lmktfy
Copy link
Contributor Author

lmktfy commented Aug 26, 2025

I had a look at https://kubernetes.io/docs/concepts/configuration/

Here are the topics:

Although three of the pages are definitely about app configuration, they're actually in the minority.

We should fix that, though not in this PR. Until we do, the way I've written it is better (I assert) than to say that the content in this section is purely about how to configure your app.

@lmktfy
Copy link
Contributor Author

lmktfy commented Aug 26, 2025

I'm confident that making this change makes the docs better.

Here's a thought experiment: if this were merged, would we accept a PR to delete that content, leaving this (the content at time of writing)?

Screenshot

@lmktfy
Copy link
Contributor Author

lmktfy commented Aug 26, 2025

For text that are technically inaccurate, for example, "This doesn't have to be Pod-local.". I mean that an init container doesn't have to share data with an app container using Pod-local volumes. Data can be saved by an init container to any place that the app container can access. For example, the shared storage can be a CSI drive, a GIT repo, a HTTP server etc. Do you mean I have to write a verbose version for the submitter to understand?

For this specific aspect, I can push an update (and have done).

@lmktfy lmktfy force-pushed the 20250812_add_configuration_overview branch from 08a3c33 to d775ae7 Compare August 26, 2025 21:04
@reylejano
Copy link
Member

@lmktfy , with dev-1.34 branch merged to main yesterday, can you change the target of this PR to main

@lmktfy lmktfy force-pushed the 20250812_add_configuration_overview branch from d775ae7 to ea75080 Compare August 28, 2025 22:46
@k8s-ci-robot k8s-ci-robot added area/blog Issues or PRs related to the Kubernetes Blog subproject area/localization General issues or PRs related to localization area/release-eng Issues or PRs related to the Release Engineering subproject language/bn Issues or PRs related to Bengali language language/hi Issues or PRs related to Hindi language language/id Issues or PRs related to Indonesian language language/ja Issues or PRs related to Japanese language language/ko Issues or PRs related to Korean language language/pl Issues or PRs related to Polish language labels Aug 28, 2025
@lmktfy
Copy link
Contributor Author

lmktfy commented Aug 28, 2025

/remove-area blog
/remove-area release-eng
/remove-language ko pl pt ru zh

@k8s-ci-robot k8s-ci-robot removed area/blog Issues or PRs related to the Kubernetes Blog subproject area/release-eng Issues or PRs related to the Release Engineering subproject language/ko Issues or PRs related to Korean language language/pl Issues or PRs related to Polish language language/pt Issues or PRs related to Portuguese language language/ru Issues or PRs related to Russian language language/zh Issues or PRs related to Chinese language labels Aug 28, 2025
@lmktfy
Copy link
Contributor Author

lmktfy commented Aug 28, 2025

@lmktfy , with dev-1.34 branch merged to main yesterday, can you change the target of this PR to main

done

@lmktfy lmktfy force-pushed the 20250812_add_configuration_overview branch from ea75080 to bb0d273 Compare September 1, 2025 17:27
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign katcosgrove for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@lmktfy lmktfy force-pushed the 20250812_add_configuration_overview branch from bb0d273 to 646df8f Compare September 1, 2025 17:29
@jayeshmahajan
Copy link
Member

/remove-language hi

@k8s-ci-robot k8s-ci-robot removed the language/hi Issues or PRs related to Hindi language label Sep 7, 2025
@lmktfy
Copy link
Contributor Author

lmktfy commented Sep 7, 2025

/remove-label language/bn
/remove-label language/hi
/remove-label language/id
/remove-label language/ja
/remove-area localization

@k8s-ci-robot k8s-ci-robot removed the area/localization General issues or PRs related to localization label Sep 7, 2025
@k8s-ci-robot
Copy link
Contributor

@lmktfy: The label(s) /remove-label language/bn , /remove-label language/hi , /remove-label language/id , /remove-label language/ja cannot be applied. These labels are supported: api-review, tide/merge-method-merge, tide/merge-method-rebase, tide/merge-method-squash, team/katacoda, refactor, ci-short, ci-extended, ci-full. Is this label configured under labels -> additional_labels or labels -> restricted_labels in plugin.yaml?

In response to this:

/remove-label language/bn
/remove-label language/hi
/remove-label language/id
/remove-label language/ja
/remove-area localization

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-sigs/prow repository.

@lmktfy
Copy link
Contributor Author

lmktfy commented Sep 9, 2025

/remove-language bn
/remove-language id
/remove-language ja

@k8s-ci-robot k8s-ci-robot removed language/bn Issues or PRs related to Bengali language language/id Issues or PRs related to Indonesian language language/ja Issues or PRs related to Japanese language labels Sep 9, 2025
@lmktfy
Copy link
Contributor Author

lmktfy commented Sep 9, 2025

/remove-sig release

@k8s-ci-robot k8s-ci-robot removed the sig/release Categorizes an issue or PR as relevant to SIG Release. label Sep 9, 2025
@lmktfy lmktfy requested a review from tengqm September 9, 2025 19:31
@lmktfy lmktfy removed this from the 1.34 milestone Sep 17, 2025
@lmktfy lmktfy force-pushed the 20250812_add_configuration_overview branch from 646df8f to ca951d7 Compare September 17, 2025 20:40
Co-authored-by: Rey Lejano <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. 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