ansible/ansible-kubernetes-modules

Name: ansible-kubernetes-modules

Owner: Ansible

Description: Ansible role containing pre-release K8s modules

Created: 2017-03-22 22:04:47.0

Updated: 2017-12-19 13:14:08.0

Pushed: 2018-01-15 15:23:48.0

Homepage: null

Size: 1422

Language: Python

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Build Status

ansible-kubernetes-modules

Provides access to the latest release of the K8s modules.

Include this role in a playbook, and any other plays, roles, and includes will have access to the modules.

The modules are found in the library folder. Each has full documentation for parameters and the returned data structure. However, not all modules will include examples, only those where test data has been created.

If you find an issue with a particular module, or have suggestions, please file an issue at the OpenShift Rest Client repo.

For convenience, the k8s_common.py and openshift_common.py modules are included under module_utils. It is not currenlty part of an official Ansible release, but it is part of Ansible, and lives in the devel branch. In the meantime, if you happen to find a bug, or would like to make a change, please open issues and submit pull requests at the Ansible repo.

Requirements
Installation and use

Use the Galaxy client to install the role:

sible-galaxy install ansible.kubernetes-modules

Once installed, add it to a playbook:


sts: localhost
mote_user: root
les:
- role: ansible.kubernetes-modules
  install_python_requirements: no
- role: hello-world

Because the role is referenced, the hello-world role is able to deploy an applicatoin using the K8s modules. To see contents of the actual role, check in the tests/roles folder.

Authenticating with the API

The modules interact directly with the Kubernetes or OpenShift API. It is not required that you have the kubectl or oc CLI tool installed.

Module parameters

The OpenShift rest client requires a Kubernetes config file. Use the following options to control where it looks for the file, and the context it uses to authenticate with the API:

kubeconfig

The default path to the config file is ~/.kube/config. Use to pass an alternate file path.

context

Name of the configuration context to use for authentication. If not specified, the current, active contexts is used.

Use the following parameters to ovrride the settings found in the config file:

host

Provide the URL to the API server.

ssl_ca_cert

Path to the Certificate Authority certificate file.

cert_file

Path to the server certificate file.

key_file

Path to the private key file.

api_key

API token.

verify_ssl

Set to true or false. If false, SSL verification will not be enforced.

Environment Variables

Rather than pass the authentication settings as parameters to individual modules, you can pass the information using environment variables. The name of the environment variables is K8S_AUTH_ followed by the variable name in uppercase. For example, key_file would be K8S_AUTH_KEY_FILE

Role Variables

install_python_requirements

Set to true, if you want the OpenShift Rest Client installed. Defaults to false. Will install via pip.

virtualenv

Provide the name of a virtualenv to use when installing pip packages.

License

Apache V2


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.