k8s-hard-way-ansible

🐄 Provisioning of Kubernetes the hard way with Ansible

https://github.com/geekopsua/k8s-hard-way-ansible

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

🐄 Provisioning of Kubernetes the hard way with Ansible

Basic Info
  • Host: GitHub
  • Owner: GeekOpsUA
  • License: apache-2.0
  • Language: Shell
  • Default Branch: main
  • Homepage:
  • Size: 405 KB
Statistics
  • Stars: 0
  • Watchers: 6
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Created about 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security

README.md

Provisioning of Kubernetes the hard way with Ansible

Created Repo size OpenSSF best practices badge openssf scorecards Quality Gate Status

Description

This educational project is a comprehensive toolkit designed to automate and simplify the process of provisioning a Kubernetes cluster "the hard way". It combines the use of Vagrant, Ansible, and Taskfile to create a streamlined workflow for setting up and managing Kubernetes clusters.

The project includes a Vagrantfile for setting up the necessary virtual machines, a directory full of Ansible playbooks and tasks for installing and managing Kubernetes, and a Taskfile for orchestrating these processes. The Ansible playbooks are based on the Kubernetes setup guides by Kelsey Hightower and Mumshad Mannambeth, but have been adapted and expanded upon for this project.

This toolkit is particularly useful for developers or system administrators who are learning about Kubernetes and want a hands-on approach, or who frequently need to set up Kubernetes clusters for testing or deployment purposes.

Credits

This project is based on these two repositories:

But for a better understanding of the material, I decided to redo everything in my own way.

Prerequisites

Tools

Working with Taskfile

```bash

List all tasks

task --list

Describe a task

task --summary ```

All tasks have a short description of what they do. And long summaries are available with the --summary flag.

Working with uv

```bash

Install all python dependencies

task install

To run the playbook you can use the following command

task play -- ansible/connection.yml

It's using venv inside the script, so you don't need to activate it

To run another ansible command you need to activate the venv and run the command

source .venv/bin/activate

For example

ansible-inventory --list all | bat -l json ```

Owner

  • Name: DevOps Geeks UA
  • Login: GeekOpsUA
  • Kind: organization
  • Location: Ukraine

Ukrainian DevOps Geeks Community

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: 'k8s the hard way with ansible '
message: 'Provisioning of Kubernetes the hard way with Ansible '
type: software
authors:
  - given-names: Sergij
    family-names: Boremchuk
    email: searge@duck.com
repository-code: 'https://github.com/Searge/k8s-hard-way-ansible'
repository: 'https://github.com/mmumshad/kubernetes-the-hard-way'
abstract: >-
  This repository contains an Ansible playbook to provision
  a Kubernetes cluster the hard way.

  The hard way is a manual way to provision a Kubernetes
  cluster, as described by Kelsey Hightower in his
  repository.
keywords:
  - ansible
  - kubernetes
  - debian
  - vagrant
license: BSD-3-Clause
commit: 6e2e71f
version: v0.1.0
date-released: '2024-03-03'

GitHub Events

Total
  • Delete event: 45
  • Issue comment event: 137
  • Push event: 123
  • Pull request review event: 1
  • Pull request event: 93
  • Fork event: 1
  • Create event: 50
Last Year
  • Delete event: 45
  • Issue comment event: 137
  • Push event: 123
  • Pull request review event: 1
  • Pull request event: 93
  • Fork event: 1
  • Create event: 50

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 19
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.84
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 0
  • Pull requests: 19
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.84
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 17
Top Authors
Issue Authors
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (122)
  • Searge (19)
Top Labels
Issue Labels
dependencies (1) python (1)
Pull Request Labels
python (123) dependencies (122)

Dependencies

.github/workflows/lint-md.yml actions
  • actions/checkout v4 composite
  • nosborn/github-action-markdown-cli v3.3.0 composite
poetry.lock pypi
  • ansible 9.3.0
  • ansible-compat 4.1.11
  • ansible-core 2.16.4
  • ansible-lint 6.22.2
  • attrs 23.2.0
  • black 23.12.1
  • bracex 2.4
  • cffi 1.16.0
  • cfgv 3.4.0
  • click 8.1.7
  • colorama 0.4.6
  • cryptography 41.0.7
  • distlib 0.3.8
  • filelock 3.13.1
  • identify 2.5.35
  • jinja2 3.1.3
  • jsonschema 4.21.1
  • jsonschema-specifications 2023.12.1
  • markdown-it-py 3.0.0
  • markupsafe 2.1.5
  • mdurl 0.1.2
  • mypy-extensions 1.0.0
  • nodeenv 1.8.0
  • packaging 23.2
  • passlib 1.7.4
  • pathspec 0.12.1
  • platformdirs 4.2.0
  • pre-commit 3.6.2
  • pycparser 2.21
  • pygments 2.17.2
  • pyyaml 6.0.1
  • referencing 0.33.0
  • resolvelib 1.0.1
  • rich 13.7.1
  • rpds-py 0.18.0
  • ruamel-yaml 0.18.6
  • ruamel-yaml-clib 0.2.8
  • setuptools 69.1.1
  • subprocess-tee 0.4.1
  • virtualenv 20.25.1
  • wcmatch 8.5.1
  • yamllint 1.35.1
pyproject.toml pypi
  • ansible-lint ^6.17.0 develop
  • black ^23.7.0 develop
  • pre-commit ^3.3.3 develop
  • yamllint ^1.32.0 develop
  • ansible *
  • ansible-core ^2.15
  • cryptography ^41.0
  • passlib ^1.7.4
  • python ^3.11