mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-03-26 21:33:02 +00:00
125 lines
3.3 KiB
YAML
125 lines
3.3 KiB
YAML
---
|
|
- block:
|
|
- name: ensure that k8s-log namespace exists
|
|
k8s:
|
|
kind: Namespace
|
|
name: k8s-log
|
|
|
|
- name: create hello-world deployment
|
|
k8s:
|
|
wait: yes
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: hello-world
|
|
namespace: k8s-log
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: hello-world
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: hello-world
|
|
spec:
|
|
containers:
|
|
- image: busybox
|
|
name: hello-world
|
|
command: ['sh']
|
|
args: ['-c', 'while true ; do echo "hello world" && sleep 10 ; done']
|
|
restartPolicy: Always
|
|
|
|
- name: retrieve the log by providing the deployment
|
|
k8s_log:
|
|
api_version: apps/v1
|
|
kind: Deployment
|
|
namespace: k8s-log
|
|
name: hello-world
|
|
register: deployment_log
|
|
|
|
- name: verify that the log can be retrieved via the deployment
|
|
assert:
|
|
that:
|
|
- "'hello world' in deployment_log.log"
|
|
- item == 'hello world' or item == ''
|
|
with_items: '{{ deployment_log.log_lines }}'
|
|
|
|
- name: retrieve the log with a label selector
|
|
k8s_log:
|
|
namespace: k8s-log
|
|
label_selectors:
|
|
- 'app=hello-world'
|
|
register: label_selector_log
|
|
|
|
- name: verify that the log can be retrieved via the label
|
|
assert:
|
|
that:
|
|
- "'hello world' in label_selector_log.log"
|
|
- item == 'hello world' or item == ''
|
|
with_items: '{{ label_selector_log.log_lines }}'
|
|
|
|
- name: get the hello-world pod
|
|
k8s_info:
|
|
kind: Pod
|
|
namespace: k8s-log
|
|
label_selectors:
|
|
- 'app=hello-world'
|
|
register: k8s_log_pods
|
|
|
|
- name: retrieve the log directly with the pod name
|
|
k8s_log:
|
|
namespace: k8s-log
|
|
name: '{{ k8s_log_pods.resources.0.metadata.name }}'
|
|
register: pod_log
|
|
|
|
- name: verify that the log can be retrieved via the pod name
|
|
assert:
|
|
that:
|
|
- "'hello world' in pod_log.log"
|
|
- item == 'hello world' or item == ''
|
|
with_items: '{{ pod_log.log_lines }}'
|
|
|
|
- name: Create a job that calculates 7
|
|
k8s:
|
|
state: present
|
|
wait: yes
|
|
wait_timeout: 120
|
|
wait_condition:
|
|
type: Complete
|
|
status: 'True'
|
|
definition:
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: int-log
|
|
namespace: k8s-log
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: busybox
|
|
image: busybox
|
|
command: ["echo", "7"]
|
|
restartPolicy: Never
|
|
backoffLimit: 4
|
|
|
|
- name: retrieve logs from the job
|
|
k8s_log:
|
|
api_version: batch/v1
|
|
kind: Job
|
|
namespace: k8s-log
|
|
name: int-log
|
|
register: job_logs
|
|
|
|
- name: verify the log was successfully retrieved
|
|
assert:
|
|
that: job_logs.log_lines[0] == "7"
|
|
|
|
always:
|
|
- name: ensure that namespace is removed
|
|
k8s:
|
|
kind: Namespace
|
|
name: k8s-log
|
|
state: absent
|