-
jinja2 template the resources -
Abstract different resource calls behind an ansible module
- name: scale deployment down
cluster_deployment:
name: postgresql
namespace: '{{ namespace }}'
replicas: 0
state: present
selector:
app: rhscl-postgresql-apb
service: postgresql
when: state == 'absent'
- Use kubernetes resources everywhere
- name: create deployment config
k8s_extensions_v1beta1_deployment:
name: mediawiki123
namespace: '{{ namespace }}'
labels:
app: mediawiki123
service: mediawiki123
replicas: 1
- Use seperate playbooks
├── kubernetes
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ ├── deprovision.yml
│ ├── main.yml
│ ├── provision.yml
│ ├── update.yml
│ └── verify.yml
└── openshift
├── defaults
│ └── main.yml
└── tasks
├── deprovision.yml
├── main.yml
├── provision.yml
├── update.yml
└── verify.yml
- When statements in ansible
- name: create deployment
k8s_extensions_v1beta1_deployment:
name: mediawiki123
namespace: '{{ namespace }}'
labels:
...
when: cluster==kubernetes
- name: create deployment config
openshift_v1_deployment_config:
name: mediawiki123
namespace: '{{ namespace }}'
labels:
...
when: cluster==openshift
└── mediawiki
├── defaults
│ └── main.yml
└── tasks
├── deprovision.yml
├── main.yml
├── provision.yml
├── update.yml
└── verify.yml