GithubHelp home page GithubHelp logo

osgiliathenterprise / ansible-orchestration Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 235 KB

Configures orchestration engine for the platform

License: Other

Python 64.87% Jinja 35.13%
ansible kubernetes ansible-role

ansible-orchestration's Introduction

Orchestration

  • Galaxy: Ansible Galaxy
  • Lint & requirements: Molecule
  • Tests: Build Status
  • Chat: Join the chat at https://gitter.im/OsgiliathEnterprise/platform

Combines Firewalld, hostname, kubevirt-csi, docker, helm, istio configuration and geerlinguy.kubernetes roles to configure a kubernetes with good security and reasonable defaults (firewall storage and network rules).

Basically, it will configure X master nodes and Y workers. You can transform this Kube into a stateful one with the help of the tcharl.ansible_volume role:you'll just have to mount the same NFS mounpoint on all your node and configure the kubevirt-csi driver to get kube storage.

mountpoints:
  - remote: /var/shared/csi
    local: /net
    csi_mount: Yes

This role will also generate a Kubernetes cluster admin client certificate keypair available on the master's '/home/kubecreds' machine folder

Requirements

If you are on VMs, these ones should be in a 'Bridge' network mode, NAT or HostOnly will not work (BGP policies will consider IPs to come from the host, which leads to buggy behavior). If you really need NAT, consider tweaking calico BGPPeer configuration (and please contribute back to this role if you find a smart way to do so).

Bridge configuration is subnetworked/28 by default: the ip adresses of your node should ideally follow each other

Role Variables

As an example, see the Molecule test vars and the default variables

Example of attributes for a node part of the kube_master role

kubernetes_allow_pods_on_master: False
hostname: "master.{{ company_domain }}"
hostname_reboot: false
kube_firewall_zone: 'public'
kube_cluster_subnet: <overrode node subnet here if master_node_ip.0/24 is not expected>
kube_alt_names:
  - "kubeadm.osgiliath.net"

Example of attributes for a node part of the kube_node role

hostname: "node.{{ company_domain }}
hostname_reboot: false
kube_firewall_zone: 'public'

Dependencies

Example Playbook

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

- hosts:
   - kube_master
  roles:
     - { role: tcharl.ansible_orchestration }
- hosts:
   - kube_node
  roles:
     - { role: tcharl.ansible_orchestration }

License

Apache-2

Author Information

ansible-orchestration's People

Contributors

tcharl avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.