Step 2: Install Intel® Smart Edge Open, Tailored for EI for AMR
The following steps install Intel® Smart Edge Open on the server.
Clone the open-developer-experience-kits repository to Machine A:
git clone -b smart-edge-open-21.12 https://github.com/smart-edge-open/open-developer-experience-kits.git ~/dek cd ~/dek git checkout 1848a355586d2c40420b6e5576efeac9396150de
Get the IPs from Machine A, Machine B, and Machine C and save them for later:
ifconfig
Machine A: Edit the ~/dek/inventory.yml file by providing information about the cluster nodes and the intended deployment flavor.
For Multi-Node Deployment: Set the single_node_deployment value to false.
For Single-Node Deployment: Set the single_node_deployment value to true. In the following example, the controller and node must be the same machine (Machine A).
Example:
# SPDX-License-Identifier: Apache-2.0 # Copyright (c) 2021 Intel Corporation --- all: vars: cluster_name: dek_test # NOTE: Use `_` instead of spaces. deployment: dek # NOTE: Available deployment type: Developer experience kits (dek). single_node_deployment: false # Request single node deployment (true/false). limit: # Limit ansible deployment to certain inventory group or hosts controller_group: hosts: controller: ansible_host: <ip_from_Machine_A> ansible_user: root edgenode_group: hosts: node01: ansible_host: <ip_from_Machine_B> ansible_user: root node02: ansible_host: <ip_from_Machine_C> ansible_user: root
NOTE:Do not forget to change the ansible_user from smartedge-open to root as shown in the above example.Machine A: If a proxy is required to connect to the Internet, edit the proxy variables in the ~/dek/inventory/default/group_vars/all/10-default.yml file.
Example:
# SPDX-License-Identifier: Apache-2.0 # Copyright (c) 2019-2021 Intel Corporation --- # This file contains variables intended to be configured by user. # It allows feature enabling and configuration. # Per-host variables should be places in `inventory/default/host_vars` directory. # Features should not be configured by changing roles' defaults (i.e. role/defaults/main.yml) ################################################## ##### User settings ### Proxy settings proxy_env: # Proxy URLs to be used for HTTP, HTTPS and FTP http_proxy: "http://proxy.example.org:3128" https_proxy: "http://proxy.example.org:3129" ftp_proxy: "http://proxy.example.org:3128" # No proxy setting contains addresses and networks that should not be accessed using proxy (e.g. local network, Kubernetes CNI networks) no_proxy: "127.0.0.1/32"
The following changes are needed to avoid multiple errors:
Machine A: Update the ~/dek/inventory/default/group_vars/all/10-default.yml file with:
sriov_network_operator_enable: false ## SR-IOV Network Operator configuration sriov_network_operator_configure_enable: false ### Software Guard Extensions # SGX requires kernel 5.11+, SGX enabled in BIOS and access to PCC service sgx_enabled: false # Install isecl attestation components (TA, ihub, isecl k8s controller and scheduler extension) platform_attestation_node: false install_hwe_kernel_enable: false
Machine A: Update the ~/dek/roles/telemetry/grafana/templates/prometheus-tls-datasource.yml file. Open the file and replace indentfirst with first, or run the following command:
sed -i "s/indent(width=13, indentfirst=False)/indent(width=13, first=False)/g" ~/dek/roles/telemetry/grafana/templates/prometheus-tls-datasource.yml
Machine A: Start deployment by executing the following script:
./deploy.sh
The script reboots the target. After the reboot, re-execute the script.
Example of a successful result:
kubernetes/harbor_registry/controlplane ------------------------------- 566.66s infrastructure/docker -------------------------------------------------- 54.81s infrastructure/install_dependencies ------------------------------------ 43.46s baseline_ansible/infrastructure/install_packages ----------------------- 15.76s infrastructure/os_setup ------------------------------------------------ 13.75s kubernetes/install ------------------------------------------------------ 7.69s kubernetes/cni/calico/controlplane -------------------------------------- 6.60s gather_facts ------------------------------------------------------------ 5.45s baseline_ansible/infrastructure/os_requirements/disable_swap ------------ 5.18s kubernetes/harbor_registry/node ----------------------------------------- 4.97s infrastructure/firewall_open_ports -------------------------------------- 4.95s telemetry/grafana ------------------------------------------------------- 3.36s baseline_ansible/infrastructure/os_requirements/dns_stub_listener ------- 3.06s telemetry/collectd/node ------------------------------------------------- 2.60s infrastructure/conditional_reboot --------------------------------------- 2.30s telemetry/certs --------------------------------------------------------- 2.27s baseline_ansible/infrastructure/configure_udev -------------------------- 2.08s kubernetes/cni ---------------------------------------------------------- 1.91s telemetry/prometheus ---------------------------------------------------- 1.79s baseline_ansible/infrastructure/build_nic_drivers ----------------------- 1.75s infrastructure/git_repo ------------------------------------------------- 1.75s baseline_ansible/infrastructure/install_openssl ------------------------- 1.62s kubernetes/default_netpol ----------------------------------------------- 1.18s kubernetes/helm --------------------------------------------------------- 0.99s telemetry/statsd-exporter ----------------------------------------------- 0.99s kubernetes/nfd ---------------------------------------------------------- 0.97s infrastructure/build_noproxy -------------------------------------------- 0.88s baseline_ansible/infrastructure/os_proxy -------------------------------- 0.87s kubernetes/custom_namespace --------------------------------------------- 0.78s kubernetes/customize_kubelet -------------------------------------------- 0.78s kubernetes/controlplane ------------------------------------------------- 0.73s telemetry/collectd/controlplane ----------------------------------------- 0.69s fail -------------------------------------------------------------------- 0.64s baseline_ansible/infrastructure/os_requirements/enable_ipv4_forwarding --- 0.53s shell ------------------------------------------------------------------- 0.52s telemetry/cadvisor ------------------------------------------------------ 0.46s baseline_ansible/infrastructure/install_golang -------------------------- 0.42s baseline_ansible/kubernetes/operator/sriov_network_operator/install ----- 0.36s infrastructure/grub ----------------------------------------------------- 0.29s baseline_ansible/kubernetes/operator/sriov_network_operator/configure --- 0.26s include_tasks ----------------------------------------------------------- 0.24s debug ------------------------------------------------------------------- 0.22s baseline_ansible/infrastructure/selinux --------------------------------- 0.21s infrastructure/e810_driver_update --------------------------------------- 0.20s set_fact ---------------------------------------------------------------- 0.16s baseline_ansible/infrastructure/disable_fingerprint_authentication ------ 0.16s baseline_ansible/infrastructure/time_setup_ntp -------------------------- 0.15s baseline_ansible/kubernetes/operator/sriov_network_operator/prepare_node --- 0.09s infrastructure/setup_baseline_ansible ----------------------------------- 0.08s include_vars ------------------------------------------------------------ 0.07s kubernetes/create_namespaces -------------------------------------------- 0.04s infrastructure/setup_offline -------------------------------------------- 0.04s stat -------------------------------------------------------------------- 0.03s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ total ----------------------------------------------------------------- 767.77s 2021-11-05 22:45:45.898 INFO: dek_test single_node_network_edge.yml: succeed. 2021-11-05 22:45:46.899 INFO: ==================== 2021-11-05 22:45:46.900 INFO: DEPLOYMENT RECAP: 2021-11-05 22:45:46.900 INFO: ==================== 2021-11-05 22:45:46.900 INFO: DEPLOYMENT COUNT: 1 2021-11-05 22:45:46.900 INFO: SUCCESSFUL DEPLOYMENTS: 1 2021-11-05 22:45:46.901 INFO: FAILED DEPLOYMENTS: 0 2021-11-05 22:45:46.901 INFO: DEPLOYMENT "dek_test": SUCCESSFUL 2021-11-05 22:45:46.901 INFO: ====================
If you encounter errors, see Troubleshooting.