Intel Container Environment Setup Sctipts provide a simplified mechanism for installing and configuring Kubernetes on Intel Architecture using Ansible.
- Initialize git submodules to download Kubespray code.
git submodule update --init
- Copy example inventory file to the project root dir.
cp examples/inventory.ini .
- Update inventory file with your environment details.
Note: at this stage you can inspect your target environment by running:
ansible -i inventory.ini -m setup all > all_system_facts.txt
In all_system_facts.txt
file you will find details about your hardware, operating system and network interfaces, which will help to properly configure Ansible variables in the next steps.
- Copy group_vars and host_vars directories.
cp -r examples/group_vars examples/host_vars .
- Update group and host vars to match your desired configuration. Refer to this section for more details.
Note: Please pay special attention to the http_proxy
, https_proxy
and additional_no_proxy
vars if you're behind proxy.
- Execute
ansible-playbook
.
ansible-playbook -i inventory.ini playbooks/cluster.yml
Refer to the documentation linked below to see configuration details for selected components:
- Python 2 present on the target servers.
- Ansible 2.7.12 installed on the Ansible machine (the one you run these playbooks from).
- pip==9.0.3 installed on the Ansible machine.
- SSH keys copied to all Kubernetes cluster nodes (
ssh-copy-id <user>@<host>
command can be used for that). - Internet access on all target servers is mandatory. Proxy is supported.
- At least 8GB of RAM on the target servers/VMs for minimal number of functions (some Docker image builds are memory-hungry and may cause OOM kills of Docker registry - observed with 4GB of RAM), more if you plan to run heavy workloads such as NFV applications.