1st lesson
This commit is contained in:
parent
f9ffc53a86
commit
d5ef4add57
15
kubernetes/1/backup-cronjob.yaml
Normal file
15
kubernetes/1/backup-cronjob.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: CronJob
|
||||||
|
metadata:
|
||||||
|
name: backup-cronjob
|
||||||
|
spec:
|
||||||
|
schedule: "*/2 * * * *"
|
||||||
|
jobTemplate:
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: backup
|
||||||
|
image: docker.io/busybox:latest
|
||||||
|
command: ["/bin/sh", "-c", "echo 'Backup complete' && sleep 5"]
|
||||||
|
restartPolicy: Never
|
||||||
12
kubernetes/1/data-process-job.yaml
Normal file
12
kubernetes/1/data-process-job.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: data-process-job
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: data-process
|
||||||
|
image: docker.io/busybox:latest
|
||||||
|
command: ["/bin/sh", "-c", "echo 'Data processed' && sleep 5"]
|
||||||
|
restartPolicy: Never
|
||||||
23
kubernetes/1/fluentd-daemonset.yaml
Normal file
23
kubernetes/1/fluentd-daemonset.yaml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
name: fluentd
|
||||||
|
labels:
|
||||||
|
app: fluentd
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: fluentd
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: fluentd
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: fluentd
|
||||||
|
image: docker.io/fluent/fluentd:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: "200Mi"
|
||||||
|
requests:
|
||||||
|
memory: "100Mi"
|
||||||
26
kubernetes/1/nginx-deployment-update.yaml
Normal file
26
kubernetes/1/nginx-deployment-update.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nginx-deployment
|
||||||
|
labels:
|
||||||
|
app: nginx
|
||||||
|
spec:
|
||||||
|
replicas: 3
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: nginx
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 1
|
||||||
|
maxUnavailable: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: nginx
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: docker.io/nginx:1.23.3
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
26
kubernetes/1/nginx-deployment.yaml
Normal file
26
kubernetes/1/nginx-deployment.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nginx-deployment
|
||||||
|
labels:
|
||||||
|
app: nginx
|
||||||
|
spec:
|
||||||
|
replicas: 3
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: nginx
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 1
|
||||||
|
maxUnavailable: 1
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: nginx
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: docker.io/nginx:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
12
kubernetes/1/nginx-pod.yaml
Normal file
12
kubernetes/1/nginx-pod.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: nginx-pod
|
||||||
|
labels:
|
||||||
|
app: nginx
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: docker.io/nginx:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
24
kubernetes/1/nginx-replicaset.yaml
Normal file
24
kubernetes/1/nginx-replicaset.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: ReplicaSet
|
||||||
|
metadata:
|
||||||
|
name: nginx-replicaset
|
||||||
|
labels:
|
||||||
|
app: nginx-rs
|
||||||
|
spec:
|
||||||
|
replicas: 5
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: nginx-rs
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: nginx-rs
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: docker.io/nginx:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
env:
|
||||||
|
- name: NGINX_PORT
|
||||||
|
value: "8080"
|
||||||
12
kubernetes/1/nginx-service.yaml
Normal file
12
kubernetes/1/nginx-service.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: nginx-rs-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: nginx-rs
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 8080
|
||||||
|
targetPort: 80
|
||||||
|
type: ClusterIP
|
||||||
12
kubernetes/1/redis-service.yaml
Normal file
12
kubernetes/1/redis-service.yaml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: redis-service
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
selector:
|
||||||
|
app: redis
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 6379
|
||||||
|
targetPort: 6379
|
||||||
33
kubernetes/1/redis-statefulset.yaml
Normal file
33
kubernetes/1/redis-statefulset.yaml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: redis
|
||||||
|
labels:
|
||||||
|
app: redis
|
||||||
|
spec:
|
||||||
|
serviceName: redis-service
|
||||||
|
replicas: 3
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: redis
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: redis
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: redis
|
||||||
|
image: docker.io/redis:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 6379
|
||||||
|
volumeMounts:
|
||||||
|
- name: redis-data
|
||||||
|
mountPath: /data
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: redis-data
|
||||||
|
spec:
|
||||||
|
accessModes: ["ReadWriteOnce"]
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
107
kubernetes/1/task1.txt
Normal file
107
kubernetes/1/task1.txt
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ kubectl get nodes
|
||||||
|
NAME STATUS ROLES AGE VERSION
|
||||||
|
k8s-master0 Ready control-plane 6d23h v1.34.1
|
||||||
|
k8s-master1 Ready control-plane 6d23h v1.34.1
|
||||||
|
k8s-master2 Ready control-plane 6d23h v1.34.1
|
||||||
|
k8s-worker0 Ready <none> 6d23h v1.34.1
|
||||||
|
k8s-worker1 Ready <none> 6d23h v1.34.1
|
||||||
|
k8s-worker2 Ready <none> 6d23h v1.34.1
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ cat nginx-pod.yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: nginx-pod
|
||||||
|
labels:
|
||||||
|
app: nginx
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: docker.io/nginx:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ kubectl port-forward pod/nginx-pod 8080:80 &
|
||||||
|
[1] 617748
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ Forwarding from 127.0.0.1:8080 -> 80
|
||||||
|
curl -IL localhost:8080
|
||||||
|
Handling connection for 8080
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Server: nginx/1.29.2
|
||||||
|
Date: Thu, 09 Oct 2025 11:50:08 GMT
|
||||||
|
Content-Type: text/html
|
||||||
|
Content-Length: 615
|
||||||
|
Last-Modified: Tue, 07 Oct 2025 17:04:07 GMT
|
||||||
|
Connection: keep-alive
|
||||||
|
ETag: "68e54807-267"
|
||||||
|
Accept-Ranges: bytes
|
||||||
|
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ kubectl describe pod nginx-pod
|
||||||
|
Name: nginx-pod
|
||||||
|
Namespace: default
|
||||||
|
Priority: 0
|
||||||
|
Service Account: default
|
||||||
|
Node: k8s-worker2/192.168.88.229
|
||||||
|
Start Time: Thu, 09 Oct 2025 12:34:45 +0300
|
||||||
|
Labels: app=nginx
|
||||||
|
Annotations: <none>
|
||||||
|
Status: Running
|
||||||
|
IP: 10.244.5.5
|
||||||
|
IPs:
|
||||||
|
IP: 10.244.5.5
|
||||||
|
Containers:
|
||||||
|
nginx:
|
||||||
|
Container ID: cri-o://d4afd0e4cc9d1f475663fdccc6694b7fdd7841d212feccc5c03a435ecd729733
|
||||||
|
Image: docker.io/nginx:latest
|
||||||
|
Image ID: docker.io/library/nginx@sha256:35fabd32a7582bed5da0a40f41fd4984df7ddff32f81cd6be4614d07240ec115
|
||||||
|
Port: 80/TCP
|
||||||
|
Host Port: 0/TCP
|
||||||
|
State: Running
|
||||||
|
Started: Thu, 09 Oct 2025 12:34:55 +0300
|
||||||
|
Ready: True
|
||||||
|
Restart Count: 0
|
||||||
|
Environment: <none>
|
||||||
|
Mounts:
|
||||||
|
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-27hx7 (ro)
|
||||||
|
Conditions:
|
||||||
|
Type Status
|
||||||
|
PodReadyToStartContainers True
|
||||||
|
Initialized True
|
||||||
|
Ready True
|
||||||
|
ContainersReady True
|
||||||
|
PodScheduled True
|
||||||
|
Volumes:
|
||||||
|
kube-api-access-27hx7:
|
||||||
|
Type: Projected (a volume that contains injected data from multiple sources)
|
||||||
|
TokenExpirationSeconds: 3607
|
||||||
|
ConfigMapName: kube-root-ca.crt
|
||||||
|
Optional: false
|
||||||
|
DownwardAPI: true
|
||||||
|
QoS Class: BestEffort
|
||||||
|
Node-Selectors: <none>
|
||||||
|
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
|
||||||
|
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
|
||||||
|
Events: <none>
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ kubectl logs nginx-pod
|
||||||
|
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
|
||||||
|
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
|
||||||
|
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
|
||||||
|
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
|
||||||
|
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
|
||||||
|
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
|
||||||
|
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
|
||||||
|
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
|
||||||
|
/docker-entrypoint.sh: Configuration complete; ready for start up
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: using the "epoll" event method
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: nginx/1.29.2
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: built by gcc 14.2.0 (Debian 14.2.0-19)
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: OS: Linux 6.8.0-84-generic
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: start worker processes
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: start worker process 24
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: start worker process 25
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: start worker process 26
|
||||||
|
2025/10/09 09:34:55 [notice] 1#1: start worker process 27
|
||||||
|
127.0.0.1 - - [09/Oct/2025:09:35:17 +0000] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0" "-"
|
||||||
|
2025/10/09 09:35:17 [error] 24#24: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "127.0.0.1:8080", referrer: "http://127.0.0.1:8080/"
|
||||||
|
127.0.0.1 - - [09/Oct/2025:09:35:17 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0" "-"
|
||||||
|
127.0.0.1 - - [09/Oct/2025:11:50:08 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/8.5.0" "-"
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$
|
||||||
59
kubernetes/1/task2.txt
Normal file
59
kubernetes/1/task2.txt
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes$ kubectl apply -f nginx-deployment.yaml
|
||||||
|
deployment.apps/nginx-deployment created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get pods
|
||||||
|
NAME READY STATUS RESTARTS AGE
|
||||||
|
nginx-deployment-7964487d9f-6lx6z 1/1 Running 0 8m26s
|
||||||
|
nginx-deployment-7964487d9f-8thgv 1/1 Running 0 8m26s
|
||||||
|
nginx-deployment-7964487d9f-lh2lp 1/1 Running 0 8m26s
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get deployment nginx-deployment
|
||||||
|
NAME READY UP-TO-DATE AVAILABLE AGE
|
||||||
|
nginx-deployment 3/3 3 3 9m10s
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f nginx-deployment-update.yaml
|
||||||
|
deployment.apps/nginx-deployment configured
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl rollout status deployment/nginx-deployment
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 2 out of 3 new replicas have been updated...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 2 out of 3 new replicas have been updated...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 2 out of 3 new replicas have been updated...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 2 out of 3 new replicas have been updated...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 1 old replicas are pending termination...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 1 old replicas are pending termination...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 1 old replicas are pending termination...
|
||||||
|
Waiting for deployment "nginx-deployment" rollout to finish: 2 of 3 updated replicas are available...
|
||||||
|
deployment "nginx-deployment" successfully rolled out
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl rollout history deployment/nginx-deployment
|
||||||
|
deployment.apps/nginx-deployment
|
||||||
|
REVISION CHANGE-CAUSE
|
||||||
|
1 <none>
|
||||||
|
2 <none>
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ nano nginx-replicaset.yaml
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f nginx-replicaset.yaml
|
||||||
|
replicaset.apps/nginx-replicaset created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get replicaset nginx-replicaset
|
||||||
|
NAME DESIRED CURRENT READY AGE
|
||||||
|
nginx-replicaset 5 5 5 10s
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get pods
|
||||||
|
NAME READY STATUS RESTARTS AGE
|
||||||
|
nginx-deployment-5fd9874647-phdtg 1/1 Running 0 16m
|
||||||
|
nginx-deployment-5fd9874647-pm58m 1/1 Running 0 16m
|
||||||
|
nginx-deployment-5fd9874647-z5cnq 1/1 Running 0 16m
|
||||||
|
nginx-replicaset-44w72 1/1 Running 0 14s
|
||||||
|
nginx-replicaset-7dpqk 1/1 Running 0 14s
|
||||||
|
nginx-replicaset-jkphz 1/1 Running 0 14s
|
||||||
|
nginx-replicaset-p2fhv 1/1 Running 0 14s
|
||||||
|
nginx-replicaset-qzsxv 1/1 Running 0 14s
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ nano nginx-service.yaml
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f nginx-service.yaml
|
||||||
|
service/nginx-rs-service created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl port-forward service/nginx-rs-service 8080:8080
|
||||||
|
Forwarding from 127.0.0.1:8080 -> 80
|
||||||
|
Handling connection for 8080
|
||||||
|
grape@lonetrek:~$ curl -IL 127.0.0.1:8080
|
||||||
|
HTTP/1.1 200 OK
|
||||||
|
Server: nginx/1.29.2
|
||||||
|
Date: Sun, 12 Oct 2025 11:49:03 GMT
|
||||||
|
Content-Type: text/html
|
||||||
|
Content-Length: 615
|
||||||
|
Last-Modified: Tue, 07 Oct 2025 17:04:07 GMT
|
||||||
|
Connection: keep-alive
|
||||||
|
ETag: "68e54807-267"
|
||||||
|
Accept-Ranges: bytes
|
||||||
39
kubernetes/1/task3.txt
Normal file
39
kubernetes/1/task3.txt
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ nano fluentd-daemonset.yaml
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f fluentd-daemonset.yaml
|
||||||
|
daemonset.apps/fluentd created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get pods
|
||||||
|
NAME READY STATUS RESTARTS AGE
|
||||||
|
fluentd-f4trd 0/1 ContainerCreating 0 20s
|
||||||
|
fluentd-qzjnt 0/1 ContainerCreating 0 20s
|
||||||
|
fluentd-tpmpw 0/1 ContainerCreating 0 20s
|
||||||
|
nginx-deployment-5fd9874647-phdtg 1/1 Running 0 119m
|
||||||
|
nginx-deployment-5fd9874647-pm58m 1/1 Running 0 118m
|
||||||
|
nginx-deployment-5fd9874647-z5cnq 1/1 Running 0 119m
|
||||||
|
nginx-replicaset-44w72 1/1 Running 0 102m
|
||||||
|
nginx-replicaset-7dpqk 1/1 Running 0 102m
|
||||||
|
nginx-replicaset-jkphz 1/1 Running 0 102m
|
||||||
|
nginx-replicaset-p2fhv 1/1 Running 0 102m
|
||||||
|
nginx-replicaset-qzsxv 1/1 Running 0 102m
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ nano redis-statefulset.yaml
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f redis-statefulset.yaml
|
||||||
|
statefulset.apps/redis created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ nano data-process-job.yaml
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f data-process-job.yaml
|
||||||
|
job.batch/data-process-job created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get jobs
|
||||||
|
NAME STATUS COMPLETIONS DURATION AGE
|
||||||
|
data-process-job Complete 1/1 14s 57s
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl logs -l job-name=data-process-job
|
||||||
|
Data processed
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ nano backup-cronjob.yaml
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl apply -f backup-cronjob.yaml
|
||||||
|
cronjob.batch/backup-cronjob created
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get cronjobs
|
||||||
|
NAME SCHEDULE TIMEZONE SUSPEND ACTIVE LAST SCHEDULE AGE
|
||||||
|
backup-cronjob */2 * * * * <none> False 0 <none> 22s
|
||||||
|
grape@lonetrek:~/Documents/devops/devops/kubernetes/1$ kubectl get jobs
|
||||||
|
NAME STATUS COMPLETIONS DURATION AGE
|
||||||
|
backup-cronjob-29337938 Complete 1/1 14s 4m13s
|
||||||
|
backup-cronjob-29337940 Complete 1/1 11s 2m13s
|
||||||
|
backup-cronjob-29337942 Complete 1/1 12s 13s
|
||||||
|
data-process-job Complete 1/1 14s 7m34s
|
||||||
Loading…
x
Reference in New Issue
Block a user