【K8s】K8s控制器——Deamonset、Statefulset、Job与CronJob

发布于:2025-08-13 ⋅ 阅读:(22) ⋅ 点赞:(0)

1、Deamonset

2、Statefulset

3、Job与CronJob

一次性作业与周期性作业

#- 8.6 #

cat > daemonset.yml <<EOF
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: test-demonset
  labels:
    daemonset: test
spec:
  selector:
    matchLabels:
      name: testpod
  template:
    metadata:
      labels:
        name: testpod
    spec:
      containers:
      - name: hello
        image: busybox
        imagePullPolicy: IfNotPresent
        command: ['sh', '-c', 'sleep 3600']
EOF
kubectl create -f daemonset.yml
kubectl get daemonsets.apps
kubeclet get pod -w

kubectl delete -f daemonset.yml


#- 8.7 #

cat > statefulset.yml <<EOF
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: "nginx"
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
      volumes:
         - name: www
           emptyDir: {}
EOF

kubectl create -f statefulset.yml
kubectl get pods -w

kubectl delete -f statefulset.yml


#- 8.8 #

cat > job.yml <<EOF
apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: busybox
        imagePullPolicy: IfNotPresent
        command: ["sh",  "-c", "while true; do echo CKA JOB!; done"]
      restartPolicy: Never
  backoffLimit: 4
EOF

kubectl create -f job.yml
kubectl get jobs,pods
kubectl logs pi-l4kdj
kubectl delete -f job.yml

-----------

cat > crobjob.yml <<EOF
apiVersion: batch/v1
kind: CronJob
metadata:
  name: cronjobtest
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            imagePullPolicy: IfNotPresent
            command:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster.
          restartPolicy: OnFailure
EOF

kubectl create -f crobjob.yml 
kubectl get cronjobs,pods 
kubectl logs cronjobtest-28030327-zrdsj 
kubectl delete -f crobjob.yml 
 


网站公告

今日签到

点亮在社区的每一天
去签到