All Projects → lvthillo → ansible-centos7-kubespray

lvthillo / ansible-centos7-kubespray

Licence: MIT License
Local setup of Kubernetes using VMware Fusion, ansible and Kubespray

Projects that are alternatives of or similar to ansible-centos7-kubespray

Rocket.chat.ansible
Deploy Rocket.Chat with Ansible!
Stars: ✭ 80 (+400%)
Mutual labels:  centos, playbook
Kubeadm Playbook
Fully fledged (HA) Kubernetes Cluster using official kubeadm, ansible and helm. Tested on RHEL/CentOS/Ubuntu with support of http_proxy, dashboard installed, ingress controller, heapster - using official helm charts
Stars: ✭ 533 (+3231.25%)
Mutual labels:  centos, playbook
Ansible Elk
📊 Ansible playbook for setting up an ELK/EFK stack and clients.
Stars: ✭ 284 (+1675%)
Mutual labels:  centos, playbook
Mattermost Ansible
Ansible playbook to provide a turnkey solution for the Team Edition of Mattermost
Stars: ✭ 126 (+687.5%)
Mutual labels:  centos, playbook
katello-centos-errata-import
Imports CentOS (from http://cefs.steve-meier.de/) errata into Katello
Stars: ✭ 28 (+75%)
Mutual labels:  centos
ansible-haproxy
Ansible HAproxy role for Unified OpenStack Installer and others.
Stars: ✭ 35 (+118.75%)
Mutual labels:  playbook
ganeti-rpm
Ganeti RPM Packaging
Stars: ✭ 23 (+43.75%)
Mutual labels:  centos
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (+137.5%)
Mutual labels:  centos
execute-engine
基于Ansible API的任务执行引擎,支持adhoc和playbook两种任务的执行
Stars: ✭ 18 (+12.5%)
Mutual labels:  playbook
packer-kvm
Create VM templates with Packer for usage with Libvirt/KVM virtualization : CentOS 7, CentOS 8, CentOS 8 Stream, Alma Linux, Rocky Linux, Bionic (Ubuntu 1804), Focal (Ubuntu 2004), Debian 11 (stable), Kali Linux, Fedora 33 and Fedora 34.
Stars: ✭ 99 (+518.75%)
Mutual labels:  centos
Shell-Script
Shell Script on FreeBSD or Ubuntu
Stars: ✭ 34 (+112.5%)
Mutual labels:  centos
showme
Rapid diagnostic system status tool (performance monitoring, network scanning, mysql performance monitoring, kubectl status)
Stars: ✭ 24 (+50%)
Mutual labels:  playbook
radiusdesk-installer
RADIUSDesk Installer is an Ansible powered utility that attempts to simplify or ease the process of getting a working installation of RADIUSDesk on a vanilla/minimal installation of RHEL/CentOS 6.7/7.x and Ubuntu 14.04/16.04/17.10/18.04 servers.
Stars: ✭ 35 (+118.75%)
Mutual labels:  centos
ansible-multienv-base
Template for ansible project allowing to manage multiple environments (e.g. staging, production) and harden new hosts
Stars: ✭ 39 (+143.75%)
Mutual labels:  playbook
fedora-ansible
Ansible playbooks for Fedora
Stars: ✭ 90 (+462.5%)
Mutual labels:  playbook
wormhole
A minimalistic Ansible-like tool for configuring remote servers via ssh
Stars: ✭ 22 (+37.5%)
Mutual labels:  playbook
ansible-role-test-vms
DEPRECATED - A Vagrant configuration to test Ansible roles against a variety of Linux distributions.
Stars: ✭ 42 (+162.5%)
Mutual labels:  centos
zimbra
Ansible role to install and configure Zimbra Collaboration Open Source Edition
Stars: ✭ 33 (+106.25%)
Mutual labels:  playbook
ansible-commands
This repository is used to understand how to use ansible commands.
Stars: ✭ 24 (+50%)
Mutual labels:  playbook
ethereum-playbook
CLI tool that configures and deploys Ethereum DApp infrastructures using a static specification. 📚📖
Stars: ✭ 20 (+25%)
Mutual labels:  playbook

ansible-centos7-kubespray

Ansible playbook to configure prerequisites for Kubespray on CentOS7

Prerequisites for the CentOS7 machines:

  • SSH access using password with a user who has root permissions (centos in example)
  • A public key generated on your local machine

This playbook will:

  • Update packages
  • Install network tools
  • Install and configure ntpd
  • disable firewall
  • disable swap
  • enable passwordless sudo
  • enable passwordless SSH
  • set hostname

Add the IP's of your CentOS7 servers in the hosts.ini.

[all]
node1 ansible_host=192.168.140.101
node2 ansible_host=192.168.140.102
node3 ansible_host=192.168.140.103

Start the playbook. Define variables like root password, user, group and path to the public key.

$ ansible-playbook -i hosts.ini -u centos -k playbook.yml --extra-vars "ansible_sudo_pass=supersecret  user=centos group=centos pubkeypath=~/.ssh/id_rsa.pub"

After running the playbook you can start with Kubespray:

$ git clone https://github.com/kubernetes-incubator/kubespray
$ cd kubespray
$ git checkout v2.7.0

Follow the instructions described in the README.md

# Install dependencies from ``requirements.txt``
$ sudo pip install -r requirements.txt

# Copy inventory/sample as inventory/mycluster
$ cp -rfp inventory/sample inventory/mycluster

# Update Ansible inventory file with inventory builder
$ declare -a IPS=(192.168.140.101 192.168.140.102 192.168.140.103)
$ CONFIG_FILE=inventory/mycluster/hosts.ini python3 contrib/inventory_builder/inventory.py ${IPS[@]}

# Review and change parameters under inventory/mycluster/group_var
$ cat inventory/mycluster/group_vars/all.yml
$ cat inventory/mycluster/group_vars/k8s-cluster.yml
# Optional: modify the hosts.ini file to your needs.
$ vi inventory/mycluster/hosts.ini
[all]
node1   ansible_host=192.168.140.101 ip=192.168.140.101
node2   ansible_host=192.168.140.102 ip=192.168.140.102
node3   ansible_host=192.168.140.103 ip=192.168.140.103
# possible to add additional masters
[kube-master]
node1
[kube-node]
node2
node3
# possible to add additional etcd's
[etcd]
node1
[k8s-cluster:children]
kube-node
kube-master
[calico-rr]
[vault]
node1
node2
node3

Deploy Kubespray with Ansible Playbook.

$ ansible-playbook -u centos -b -i inventory/mycluster/hosts.ini cluster.yml

More details and configuration can be found here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].