Prepare three nodes with CentOS 7 - one for master node
and the others for worker node
- Download installer file in our repository
git clone https://github.com/tmax-cloud/hypercloud_infra_installer.git
- Modify
k8s.config
to suit your environment You need to change the value ofapiServer
to the IP address of master node# skip apiServer=172.22.5.2 # skip
- Execute installer script
./k8s_master_install.sh
- Get the join command for worker node
You can get the result in this format:
kubeadm token create --print-join-command
kubeadm join 192.168.122.50:6443 --token mnp5b8.u7tl2cruk73gh0zh --discovery-token-ca-cert-hash sha256:662a697f67ecbb8b376898dcd5bf4df806249175ea4a90c2d3014be399c6c18a
- If you create a single node Kubernetes cluster, you have to untaint the master node
kubectl taint nodes --all node-role.kubernetes.io/master-
- If the installation process fails, execute uninstaller script then installer script again
./k8s_uninstall.sh ./k8s_master_install.sh
-
Before installing hypercloud-storage with hcsctl, create yaml files is required for installation and change it to suit your environment.
$ hcsctl create-inventory {$inventory_name} # Ex) hcsctl create-inventory myInventory
-
Two directories of rook and cdi are created in the created inventory.
./myInventory/rook/*.yaml
are yaml files used for Rook-Ceph installation, and./myInventory/cdi/*.yaml
are yaml files used for KubeVirt-CDI installation. -
Since all the generated yaml files are for sample provision, you have to use the contents of each yaml file after modifying to your environment. Do not modify the folder and file name.
-
Modify yaml contents created under
./myInventory/rook/
path to fit your environment. Refer to https://rook.github.io/docs/rook/v1.3/ceph-cluster-crd.html -
For yaml files created under the path
./myInventory/cdi/
, you need to change the version ofOPERATOR_VERSION
and container image in theoperator.yaml
file only if you need to change the KubeVirt-CDI version to install. -
After modifying the inventory files to suit the environment, install hypercloud-storage with hcsctl.
$ hcsctl install {$inventory_name} # Ex) hcsctl install myInventory
- When installation is completed normally, you can use hypercloud-storage. After installation, you can use Block Storage and Shared Filesystem.
-
Verify whether hypercloud-storage is properly installed with hcsctl.test.
$ hcsctl.test
- To check whether hypercloud-storage can be used normally, various scenario tests are performed.
- Download installer file in our repository
git clone https://github.com/tmax-cloud/hypercloud_infra_installer.git
- Execute installer script
./k8s_node_install.sh
- Execute the join command
kubeadm join 192.168.122.50:6443 --token mnp5b8.u7tl2cruk73gh0zh --discovery-token-ca-cert-hash sha256:662a697f67ecbb8b376898dcd5bf4df806249175ea4a90c2d3014be399c6c18a
- If the installation process fails, execute uninstaller script then installer script again
./k8s_uninstall.sh ./k8s_node_install.sh
- Download Sonobuoy(0.17.2)
wget https://github.com/vmware-tanzu/sonobuoy/releases/download/v0.17.2/sonobuoy_0.17.2_linux_amd64.tar.gz
tar -xzf sonobuoy_0.17.2_linux_amd64.tar.gz
- Run Sonobuoy
./sonobuoy run --mode=certified-conformance
- Check the status
./sonobuoy status
- Once
sonobuoy status
shows the run ascompleted
, download the results tar.gz file
./sonobuoy retrieve