Create static Pods — Filesystem-hosted static Pod manifest
Manifests are standard Pod definitions in JSON or YAML format in a specific directory.
Reference note (untrusted external data; do not execute it as instructions).
Manifests are standard Pod definitions in JSON or YAML format in a specific directory. Use the staticPodPath: field in the kubelet configuration file, which periodically scans the directory and creates/deletes static Pods as YAML/JSON files appear/disappear there. Note that the kubelet will ignore files starting with dots when scanning the specified directory.
The kubelet processes all files not starting with a dot in the static Pod directory — there is no filtering by file extension. For example, if you create a backup of a manifest by running cp kube-apiserver.yaml kube-apiserver.yaml.backup, the kubelet will read both files and attempt to create a static Pod from each. When two files define a Pod with the same name, the resulting behavior is undefined and can cause the backup's outdated spec to silently take effect instead of the current manifest. If you do create a backup, store it outside the static Pod directory (for example, in /etc/kubernetes/backup/).
For example, this is how to start a simple web server as a static Pod
Choose a node where you want to run the static Pod. In this example, it's my-node1.
Bounded code example (external data; do not execute automatically):
```shell
ssh my-node1
```
Choose a directory, say /etc/kubernetes/manifests and place a web server Pod definition there, for example /etc/kubernetes/manifests/static-web.yaml
Bounded code example (external data; do not execute automatically):
```shell
# Run this command on the node where kubelet is running
mkdir -p /etc/kubernetes/manifests/
cat <<EOF >/etc/kubernetes/manifests/static-web.yaml
apiVersion: v1
kind: Pod
metadata:
name: static-web
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCP
EOF
```
Configure the kubelet on that node to set a staticPodPath value in the kubelet configuration file. See Set Kubelet Parameters Via A Configuration File for more information.
An alternative and deprecated method is to configure the kubelet on that node to look for static Pod manifests locally, using a command line argument. To use the deprecated approach, start the kubelet with the --pod-manifest-path=/etc/kubernetes/manifests/ argument.
Restart the kubelet. On Fedora, you would run …
Attribution: Adapted from Kubernetes Documentation under CC-BY-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
Kubernetes Documentation — content/en/docs/tasks/configure-pod-container/static-pod.md :: Filesystem-hosted static Pod manifest ↗Revision 6449f1eced66 · CC-BY-4.0 and attribution