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