k8s-conformance/v1.26/whitemist
Sebastian Rojas 17fdc14678 Conformance results for v1.26/whitemist (#2826)
Signed-off-by: Sebastian-RG <srojas@whitestack.com>
Co-authored-by: Sebastian-RG <srojas@whitestack.com>
2023-09-12 10:50:23 -07:00
..
PRODUCT.yaml Conformance results for v1.26/whitemist (#2826) 2023-09-12 10:50:23 -07:00
README.md Conformance results for v1.26/whitemist (#2826) 2023-09-12 10:50:23 -07:00
e2e.log Conformance results for v1.26/whitemist (#2826) 2023-09-12 10:50:23 -07:00
junit_01.xml Conformance results for v1.26/whitemist (#2826) 2023-09-12 10:50:23 -07:00

README.md

Whitemist

Prepare your installer environment

  1. Ensure port security is disabled among the nodes. Also ensure the right security groups are specified (for instance two SG's might be in conflict).
  2. Create the directory where WhiteMist configuration will reside, usually /etc/whitemist.
sudo mkdir /etc/whitemist
  1. Prepare the following environment variables to customize your deployment, make sure you persist them on your .bashrc file. Basically, you need to define the “/etc/whitemist” folder as the target for WhiteMist.
export WHITEMIST_CONFIG_DIR=/etc/whitemist
  1. Gather the IP addresses of your you K8s hosts and VIP (for WhiteMist Dashboard). The VIP should be a new IP available for assignment. In an Openstack environment, this can be a floating IP or a new "port" within the same network as the host nodes, available for This IP will be used by MetalLB for exposing the Metal LoadBalancer.
  2. Create and populate the WhiteMist configuration file in ${WHITEMIST_CONFIG_DIR}/cluster_configuration.yml
# Metal Load Balancing
metallb_enabled: true

# Kubernetes ingress controller
ingress_nginx_enabled: true

# VIP address for your ingress controller
vip_ingress: 10.100.32.168 # Virtual IP for your WhiteMist ingress controller

supplementary_addresses_in_ssl_keys:
  - 10.100.32.198 # Virtual IP for your WhiteMist VIP API access

# Install Prometheus Exporters to monitor this cluster
install_kubeprometheus: true

# Kube-proxy proxyMode configuration.
# Can be ipvs, iptables
kube_proxy_mode: ipvs

# configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface
# must be set to true for MetalLB to work
kube_proxy_strict_arp: true

# Metrics Server options
metrics_server_enabled: true
metrics_server_kubelet_insecure_tls: true
metrics_server_metric_resolution: 60s
metrics_server_kubelet_preferred_address_types: "InternalIP"

# You can set MTU value here. If left undefined or empty, it will
# not be specified in calico CNI config, so Calico will use built-in
# defaults. The value should be a number, not a string.
# If Whitemist is being deployed in openstack instances
# must be set to 1400, otherwise comment it out
calico_mtu: 1400

  1. Select a Storage Provider To install OpenEBS, which is a fast storage provider for local volumes, you should add the following lines to your cluster_configuration.yml file:
install_openebs: true
# If you want to use Jiva, it needs ISCSI tools in order to work
install_iscsi: true

If instead you want to install Longhorn, use these settings below:

install_longhorn: true
install_iscsi: true # obligatory for LongHorn
  1. Prepare the following inventory file in ${WHITEMIST_CONFIG_DIR}/inventory.yml

The ansible_host variables refer to the IP addresses of the host nodes (see step 4), each taking up a master or (worker) node role. Here you can also define which nodes will serve as K8S master (must be an odd number!) and which will be plain worker nodes. Master and worker roles can co-live in one physical node.

all:
 hosts:
   node-0:
     ansible_user: ubuntu
     ansible_host: 10.100.32.138
   node-1:
     ansible_user: ubuntu
     ansible_host: 10.100.35.216
   node-2:
     ansible_user: ubuntu
     ansible_host: 10.100.32.29
   node-3:
     ansible_user: ubuntu
     ansible_host: 10.100.32.192
   node-4:
     ansible_user: ubuntu
     ansible_host: 10.100.33.6

 children:
   k8s_masters: # 3 master nodes
     hosts:
       node-0: {}
       node-1: {}
       node-2: {}

   k8s_nodes: # 2 worker nodes
     hosts:
       node-3: {}
       node-4: {}
  1. Download the WhiteMist deployer file (this is for Kubernetes v1.21):
wget --no-check-certificate https://storage.whitestack.com/whitemist/whitemist-deployer-jetstream.sh
  1. Apply executable permissions on the downloaded deployer and run it:
wget --no-check-certificate https://storage.whitestack.com/whitemist/whitemist-deployer-jetstream.sh
chmod +x whitemist-deployer-jetstream.sh
./whitemist-deployer-jetstream.sh \
[--configdir ${WHITEMIST_CONFIG_DIR}] [--tag ${TAG}]

Run conformance tests

  1. Follow the test instructions to run the conformance tests.
sonobuoy run --mode=certified-conformance