Skip to content

Instantly share code, notes, and snippets.

@rthallisey
Last active December 11, 2017 18:58
Show Gist options
  • Save rthallisey/17d89614ace66ae841dfbdc9baf8bdd1 to your computer and use it in GitHub Desktop.
Save rthallisey/17d89614ace66ae841dfbdc9baf8bdd1 to your computer and use it in GitHub Desktop.
  1. jinja2 template the resources

  2. 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'
  1. Use kubernetes resources everywhere
- name: create deployment config
  k8s_extensions_v1beta1_deployment:
    name: mediawiki123
    namespace: '{{ namespace }}'
    labels:
      app: mediawiki123
      service: mediawiki123
    replicas: 1
  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
  1. 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment