...
Code Block |
---|
sudo snap install microk8s --classic --channel=1.18/stable
sudo snap refresh microk8s --classic --channel=1.19/stable
Or (when the master node bug will be fixed on 1.19 kubernetes snap install)
sudo snap install microk8s --classic --channel=1.19/stable |
You may need to change your firewall configuration to allow pod to pod communication and pod to internet communication :
...
Storage addon : we will enable the default Host storage class, this allows local volume storage that are used by some pods to exchange folders between containers.
Code Block |
---|
sudo microk8s enable dns storage |
...
As Helm is self contained, it's pretty straightforward to install/upgrade
I recommend putting helm in local bin folder as a softlink, this way it's easy to switch between versions if you need to
...
, we can also use snap to install the right version
Code Block |
---|
sudo snap install helm --classic --channel=3.5/stable
|
Note: You may encounter some log issues when installing helm with snap
Normally the helm logs are available in "~/.local/share/helm/plugins/deploy/cache/onap/logs", if you notice that the log files are all equal to 0, you can uninstall the helm with snap and reinstall it manually
Code Block |
---|
wget https://get.helm.sh/helm-v3.5.24-linux-amd64.tar.gz |
Code Block |
---|
tar -zxvfxvfz helm-v3.5.24-linux-amd64.tar.gz |
Code Block |
---|
sudo mv linux-amd64/helm /usr/local/bin/helm-v3.5.2 sudo ln -s /usr/local/bin/helm-v3.5.2 /usr/local/bin/helm |
3) Tweak Microk8s
...
A) Increase the max number of podsof pods & Add priviledged config
As ONAP may deploy a significant amount of pods, we need to inform kubelet to allow more than the basic configuration (as we plan an all in box setup), if you only plan to run a limited number of components, this is not needneeded
to change the max number of pods, we need to add a parameter to the startup line of kubelet.edit
1. Edit the file located at :
Code Block |
---|
sudo nano /var/snap/microk8s/current/args/kubelet |
...
Code Block |
---|
sudo service snap.microk8s.daemon-kubelet restart |
2. Edit the file located at :
Code Block |
---|
sudo nano /var/snap/microk8s/current/args/kube-apiserver |
add the following line at the end :
Code Block |
---|
--allow-privileged=true |
save the file and restart kubelet to apply the change :
Code Block |
---|
sudo service snap.microk8s.daemon-apiserver restart |
B) run a local copy of kubectl
Microk8s comes bundled with kubectl, you can interact with it by doing:
Code Block |
---|
sudo microk8s kubectl describe node |
...
We need kubectl 1.19 to match the cluster we have installed
Code Block |
---|
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.19.7/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl |
If you want to use a the same link trick as for helm (see above) this could allow you to switch between kubectl versions if needed, let's again use snap to quickly choose and install the one we need
Code Block |
---|
sudo snap install kubectl --classic --channel=1.19/stable |
Now we need to provide our local kubectl client with a proper config file so that it can access the cluster, microk8s allows to retrieve the cluster config very easily
Simply create a .kube folder in your home directory and dump the config there
Code Block |
---|
cd mkdir .kubecdkube cd .kube sudo microk8s.config > config chmod 700 config |
...
the example below pulls the latest version from master, it's probably wiser to select the right version (honolulu branch or a specific review you want to test)
Code Block |
---|
cd
git clone --recursive "https://gerrit.onap.org/r/oom" |
...
Code Block |
---|
helm plugin install --version v0.9.0 https://github.com/chartmuseum/helm-push.git |
Once all plugins are installed, you should see them as available helm commands when doing :
Code Block |
---|
helm --help |
6) Install the
...
chartmuseum repository
To align with how the previous release were deployed, we will setup a local chart repository.
...
unless you already have docker, in which case you can skip this part altogether.
Or use snap:
Code Block |
---|
sudo snap install docker |
8) Build all oom charts and store them in the chart repo
You should be ready to build all helm charts, go into the oom/kubernetes folder and run a full make
Ensure you have "make" installed:
Code Block |
---|
sudo apt install make |
Then build OOM
Code Block |
---|
cd ~/oom/kubernetes make all |
...
Code Block |
---|
# for myVM ONAP 127.0.0.1 portal.api.simpledemo.onap.orgaaf-gui 127.0.0.1 sdcaai.apiui.simpledemo.onap.org 127.0.0.1 sdcappc.api.fe.simpledemo.onap.org 127.0.0.1 sdccds.workflow.pluginapi.simpledemo.onap.org 127.0.0.1 vidcdt.api.simpledemo.onap.org 127.0.0.1 policyclamp.api.simpledemo.onap.org 127.0.0.1 aainbi.uiapi.simpledemo.onap.org 127.0.0.1 nbipolicy.api.simpledemo.onap.org 127.0.0.1 clampportal.api.simpledemo.onap.org 127.0.0.1 so-monitoring 127.0.0.1 robot-onap.onap.org 127.0.0.1 aaf-gui 127.0.0.1 robot-onapsdc.api.fe.simpledemo.onap.org 127.0.0.1 cdtsdc.api.simpledemo.onap.org 127.0.0.1 appcsdc.workflow.apiplugin.simpledemo.onap.org 127.0.0.1 cdsso-monitoring 127.0.0.1 vid.api.simpledemo.onap.org |
You can then access the portal UI by opening your browser to :
https://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/login.htm
user/pass is cs0008/demo123456!
...