如何创建静态Pod

创建静态Pod

1. 找到kubelet config 文件

## 查看配置, 找到 staticPodPath
cat /var/lib/kubelet/config.yaml

这是默认的 config.yaml文件

apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false
  webhook:
    cacheTTL: 0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s
cgroupDriver: systemd
clusterDNS:
- 10.1.0.10
clusterDomain: cluster.local
cpuManagerReconcilePeriod: 0s
evictionPressureTransitionPeriod: 0s
fileCheckFrequency: 0s
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kind: KubeletConfiguration
logging: {}
memorySwap: {}
nodeStatusReportFrequency: 0s
nodeStatusUpdateFrequency: 0s
rotateCertificates: true
runtimeRequestTimeout: 0s
shutdownGracePeriod: 0s
shutdownGracePeriodCriticalPods: 0s
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s

2. 在目录 staticPodPath 中放入一个static-web.yaml文件

apiVersion: v1
kind: Pod
metadata:
  name: static-web
  labels:
    name: static-web
spec:
  containers:
  - name: static-web
    image: nginx
    ports:
    - name: web
      containerPort: 80

3. 重启 kubelet

## 执行如下命令使新增参数生效
systemctl stop kubelet
systemctl daemon-reload
systemctl start kubelet

4. 测试

## 在当前node,查看 docker 容器是否启动
docker ps 
## 在master上查看pod是否启动
kubectl get pods 

## 在master上尝试删除这个pod
[root@master ~]# kubectl delete pod static-web-worker1
pod "static-web-worker1" deleted

## 再看看是否删除了,如果不能删除,说明这是个static pod
[root@master ~]# kubectl get pods
NAME                        READY   STATUS    RESTARTS      AGE
static-web-worker1          1/1     Running   0             12s

posted @ 2022-01-11 11:16  scogee  阅读(120)  评论(0编辑  收藏  举报