Requirements
- Ansible (≥ 2.8.5)
- CentOS/RHEL 7
- *CoreOS (In future release)
- ISO Repo
We made kubernetes cluster installation automation with ansible. Purpose: Provide end-to-end installation with all components
Addons that can be installed with automation are as follows:
Note: Addons can be upgraded with the appopriate links or file under vars/main.yaml
Network
Serverless
Storage
Other
- Autocompletion
- Kubens
- Metric Server
- Istio
- Helm
- Cluster Dashboard
- Cluster Logging(fluentd)
- Cluster Monitoring
- Weave
- Ingress Controller
Hardware Requirements
- Cluster Logging(fluentd) addon needs ≥32GB of Ram.
- To enable Ceph, three worker nodes should be present and worker nodes should have ≥10GB disk space. (Extra disk should be added to use Ceph. However do not mount that disk. Otherwise Ceph will not work)
Before Run Ansible
yum install -y python-pip
pip install jmespath
#create keygen and copy rsa key for all server
ssh-keygen
for host in 10.10.10.10 \
10.10.10.11 \
10.10.10.12 \
10.10.10.13;\
do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \
done
Run Playbook
ansible-playbook playbook.yaml -i inventory.yaml
kubens
helps you switch between Kubernetes namespaces smoothly
you need to define ingress for all components we install
kiali-ingress.yaml example:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kiali-ingress
namespace: istio-system
spec:
rules:
- host: kiali-10-10-10-11(worker_ip_addres).nip.io
http:
paths:
- path: /
backend:
serviceName: kiali
servicePort: 20001