Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 2.42 KB

ClusterSetup.md

File metadata and controls

49 lines (36 loc) · 2.42 KB

Kubernetes Cluster Setup

This is the second step in the setup process for this project. A kubernetes cluster is required to deploy a hyperledger fabric network

Automation tool used: kubespray

  • Kubespray is a kubernetes SIG project. It automates the deployment of production ready kubernetes cluster.

  • It uses ansible as the automation tool.

  • It supports kubeadm deployment.

  • This customised version of kubespray is used in this project: Official version v2.6.0 is customised for ubuntu xenial.

Installed versions

  • Kubernetes: v1.11.3
  • Kubeadm: v1.11.3
  • ETCD cluster: v3.2.24
  • Weave CNI plugin: 2.4.1
  • Docker: 18.09.2

Code location:

Create Cluster

Ansible Playbook: cluster_setup.yaml

Command: ansible-playbook -i inventory/cluster/hosts.ini -v cluster_setup.yaml

Variables:

How it works ?

This command will call cluster_setup.yaml playbook, which will perform 3 steps:

  1. Prepare openstack instances for deployment: playbooks/setup_instances.yaml
    • Install python on all instances
    • Setup bind9 DNS server on instance k8s_lb_instance as created in InfrastructureSetup
    • Setup Haproxy Load-balancer on instance k8s_lb_instance as created in InfrastructureSetup
    • Setup NFS server on instance k8s_nfs_instance as created in InfrastructureSetup
    • Point DNS to created DNS server on all instances including CLI
    • Install NFS client on all instances
  2. Create k8s cluster using kubespray: kubespray/cluster.yml
  3. Create k8s admin user and print access details to kubernetes dashboard: playbooks/cluster_admin.yaml