Skip to content
This repository has been archived by the owner on Dec 10, 2024. It is now read-only.

Commit

Permalink
Release BMRA 21.09
Browse files Browse the repository at this point in the history
    The following features/fixes have been updated or added in this release:

        * Support for Istio service mesh operator, Envoy, and control plane
	* Support for Telegraf telemetry collection
	* Support for additional container runtime: CRI-O
	* Updated default network plugin: Calico
	* Support Intel® device plugins operator (Intel® Data Streaming Accelerator (Intel® DSA)) for 4th Generation Intel® Xeon® Scalable processor
	* Support Intel® Speed Select Technology - Performance Profile (Intel® SST-PP)
	* Support for rendering profile config files from template
	* Updated Intel® Ethernet 700 and 800 Network Adapter firmware
	* Updated Intel® Software Guard Extensions (Intel® SGX) Software Development Kit (SDK)
	* Updated Data Plane Development Kit (DPDK) and Open vSwitch (OVS) DPDK for use of AVX-512 instruction sets
	* Updated Prometheus, Grafana, and Node Exporter telemetry packages
	* Updated Node Feature Discovery (NFD)
	* Updated Multus container network interface (CNI)
	* Updated OpenSSL toolkit
	* Updated Intel® QuickAssist Technology Engine for OpenSSL (Intel® QAT Engine for OpenSSL)
	* Updated Intel® Multi-Buffer Crypto for IPSec (intel-ipsec-mb)
	* Fixed inventory groups for inclusive terminology
	* Fixed kubelet –cpu-cfs-quota to eliminate performance throttling
	* Fixed QAT driver VF binding issue on RHEL 8.4
	* Fixed inadvertent Intel SST-CP frequency throttling with proportional settings

        Co-authored-by: Ali Shah, Syed Faraz <[email protected]>
        Co-authored-by: Gherghe, Calin <[email protected]>
        Co-authored-by: Joel A Gibson <[email protected]>
        Co-authored-by: Klimowicz, PatrykX <[email protected]>
        Co-authored-by: Krystian Młynek <[email protected]>
        Co-authored-by: Lv, Carry <[email protected]>
	Co-authored-by: Park, Seungweon <[email protected]>
        Co-authored-by: Puzikov, DmitriiX <[email protected]>
  • Loading branch information
jagibso2 committed Oct 15, 2021
1 parent 1bd9436 commit 9b9a465
Show file tree
Hide file tree
Showing 181 changed files with 46,824 additions and 2,623 deletions.
115 changes: 76 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,67 +5,103 @@ Intel Container Experience Kits Setup Scripts provide a simplified mechanism for
The software provided here is for reference only and not intended for production environments.

## Quickstart guide

1. Initialize git submodules to download Kubespray code.
```

```bash
git submodule update --init
```

1. Decide which configuration profile you want to use and optionally export environmental variable. (Note: It will be used only to ease execution of the steps listed below.)
2. Decide which configuration profile you want to use and optionally export environmental variable. (> **_NOTE:_** It will be used only to ease execution of the steps listed below.)
- For **Kubernetes Basic Infrastructure** deployment:
```
export PROFILE=basic
```

```bash
export PROFILE=basic
```

- For **Kubernetes Access Edge Infrastructure** deployment:
```
export PROFILE=access
```

```bash
export PROFILE=access
```

- For **Kubernetes Regional Data Center Infrastructure** deployment:
```
export PROFILE=regional_dc
```

```bash
export PROFILE=regional_dc
```

- For **Kubernetes Remote Forwarding Platform Infrastructure** deployment:
```
export PROFILE=remote_fp
```

```bash
export PROFILE=remote_fp
```

- For **Kubernetes Infrastructure On Customer Premises** deployment:
```
export PROFILE=on_prem
```

```bash
export PROFILE=on_prem
```

- For **Kubernetes Full NFV Infrastructure** deployment:
```
export PROFILE=full_nfv

```bash
export PROFILE=full_nfv
```

3. Install dependencies

```bash
pip3 install -r profiles/requirements.txt
```

4. Generate example host_vars, group_vars and inventory for BMRA profiles.

```bash
make bmra-profiles
```

1. Copy example inventory file to the project root dir.
> **_NOTE:_** You can provide the optional `profile` argument to automatically copy files needed for deployment. Then, you can skip both the 4th and the 6th steps.

```bash
make bmra-profiles profile=$PROFILE
```

5. Copy example inventory file to the project root dir.

```bash
cp examples/${PROFILE}/inventory.ini .
```

1. Update inventory file with your environment details.
6. Update inventory file with your environment details.

Note: at this stage you can inspect your target environment by running:
```
> **_NOTE:_** at this stage you can inspect your target environment by running:

```bash
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.

1. Copy group_vars and host_vars directories.
```
7. Copy group_vars and host_vars directories to the project root dir.

```bash
cp -r examples/${PROFILE}/group_vars examples/${PROFILE}/host_vars .
```

1. Update group and host vars to match your desired configuration. Refer to [this section](#configuration) for more details.
8. Update group and host vars to match your desired configuration. Refer to [this section](#configuration) for more details.

Note: Please pay special attention to the `http_proxy`, `https_proxy` and `additional_no_proxy` vars if you're behind proxy.
> **_NOTE:_** Please pay special attention to the `http_proxy`, `https_proxy` and `additional_no_proxy` vars if you're behind proxy.
1. RECOMMENDED: Apply bug fix patch for Kubespray submodule (Required for RHEL 8+).
```
9. RECOMMENDED: Apply bug fix patch for Kubespray submodule (Required for RHEL 8+).
```bash
ansible-playbook -i inventory.ini playbooks/k8s/patch_kubespray.yml
```
1. Execute `ansible-playbook`.
```
10. Execute `ansible-playbook`.
```bash
ansible-playbook -i inventory.ini playbooks/${PROFILE}.yml
```
Expand All @@ -76,14 +112,15 @@ Refer to the documentation linked below to see configuration details for selecte
- [SRIOV Network Device Plugin and SRIOV CNI plugin](docs/sriov.md)
## Prerequisites and Requirements
* Python present on the target servers depending on the target distribution. Python 3 is highly recommended, but Python 2 is still supported for CentOS 7.
* Ansible 2.9.20 installed on the Ansible host machine (the one you run these playbooks from).
* python-pip3 installed on the Ansible machine.
* python-netaddr 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.
* For the `RHEL`-like OSes `SELinux` must be configured prior to the BMRA deployment and required `SELinux`-related packages should be installed.
- Python present on the target servers depending on the target distribution. Python 3 is highly recommended, but Python 2 is still supported for CentOS 7.
- Ansible 2.9.20 installed on the Ansible host machine (the one you run these playbooks from).
- python-pip3 installed on the Ansible machine.
- python-netaddr 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.
- For the `RHEL`-like OSes `SELinux` must be configured prior to the BMRA deployment and required `SELinux`-related packages should be installed.
`BMRA` itself is keeping initial `SELinux` state but `SELinux`-related packages might be installed during `k8s` cluster deployment as a dependency, for `Docker` engine e.g.,
causing OS boot failure or other inconsistencies if `SELinux` is not configured properly.
Preferable `SELinux` state is `permissive`.
Expand Down
171 changes: 0 additions & 171 deletions examples/access/group_vars/all.yml

This file was deleted.

Loading

0 comments on commit 9b9a465

Please sign in to comment.