AnsiblePilot — Master Ansible Automation

AnsiblePilot is the leading resource for learning Ansible automation, DevOps, and infrastructure as code. Browse over 1,400 tutorials covering Ansible modules, playbooks, roles, collections, and real-world examples. Whether you are a beginner or an experienced engineer, our step-by-step guides help you automate Linux, Windows, cloud, containers, and network infrastructure.

Popular Topics

About Luca Berton

Luca Berton is an Ansible automation expert, author of 8 Ansible books published by Apress and Leanpub including "Ansible for VMware by Examples" and "Ansible for Kubernetes by Example", and creator of the Ansible Pilot YouTube channel. He shares practical automation knowledge through tutorials, books, and video courses to help IT professionals and DevOps engineers master infrastructure automation.

Create Kubernetes K8s or OpenShift OCP Service - Ansible module k8s — Video Tutorial

How to automate the creation of "nginx-service" Service and "nginx" Pod in namespace "example" of Kubernetes K8s or OpenShift OCP with Ansible module k8s.

Watch on YouTube · Read the written article

Create Kubernetes K8s or OpenShift OCP Service - Ansible module k8s — Video Tutorial

How to automate the creation of "nginx-service" Service and "nginx" Pod in namespace "example" of Kubernetes K8s or OpenShift OCP with Ansible module k8s.

Watch Video

Watch "Create Kubernetes K8s or OpenShift OCP Service - Ansible module k8s" on YouTube

What You'll Learn

Full Tutorial Content

How to create Kubernetes K8s or OpenShift OCP Service with Ansible? I'm going to show you a live Playbook and some simple Ansible code. I'm Luca Berton and welcome to today's episode of Ansible Pilot. Ansible create Kubernetes or OpenShift Service - `kubernetes.core.k8s` - Manage Kubernetes (K8s) objects Let's talk about the Ansible module `k8s`. The full name is `kubernetes.core.k8s`, which means that is part of the collection of modules of Ansible to interact with Kubernetes and Red Hat OpenShift clusters. It manages Kubernetes (K8s) objects. Parameters - name _string_ /namespace _string_ - object name / namespace - api_version _string_ - "v1" - kind _string_ - object model - state _string_ - present/absent/patched - definition _string_ - YAML definition - src _path_ - path for YAML definition - template _raw_ - YAML template definition - validate _dictionary_ - validate resource definition There is a long list of parameters of the `k8s` module. Let me summarize the most used. Most of the parameters are very generic and allow you to combine them for many use-cases. The `name` and `namespace` specify object name and/or the object namespace. They are useful to create, delete, or discover an object without providing a full resource definition. The `api_version` parameter specifies the Kubernetes API version, the default is "v1" for version 1. The `kind` parameter specifies an object model. The `state` like for other modules determines if an object should be created - `present` option, patched - `patched` option, or deleted - `absent` option. The `definition` parameter allows you to provide a valid YAML definition (string, list, or dict) for an object when creating or updating. If you prefer to specify a file for the YAML definition, the `src` parameter provides a path to a file containing a valid YAML definition of an object or objects to be created or updated. You could also specify a YAML definition template with the `template` parameter. You might find useful also the `validate` parameter in order to define how to validate the resource definition against the Kubernetes schema. Please note that requires the `kubernetes-validate` python module. Links - [kubernetes.core.k8s](https://docs.ansible.com/ansible/latest/collections/kubernetes/core/k8s_module.html) - [Kubernetes Service](https://kubernetes.io/docs/concepts/services-networking/service/) - [nginx image](https://hub.docker.com/_/nginx) ## Playbook How to create Kubernetes Service with Ansible Playbook using the module `k8s`. Specifically, the following example is going to create the "nginx-service" Service and "nginx" Pod in namespace "example" of Kubernetes K8s or OpenShift OCP with Ansible. code - ansible_playbook.yml ```yaml --- - name: k8s Playbook hosts: localhost gather_facts: false connection: local vars: myproject: "example" tasks: - name: create k8s service kubernetes.core.k8s: src: myservice.yaml namespace: "{{ myproject }}"

About This Tutorial

Read the full written article: Create Kubernetes K8s or OpenShift OCP Service - Ansible module k8s

Topics Covered

Related Video Tutorials