Skip to content

Latest commit

 

History

History
267 lines (177 loc) · 7.34 KB

doc.md

File metadata and controls

267 lines (177 loc) · 7.34 KB

k8s-cluster

One Piece of Sea: 5G Core Orchestration Lab

Bem vido a documentação de utilização do OPS-free5g-Lab.

Pré-requisitos

  • 6gb de Memória Ram
  • 25GB de espaço em disco

As ferramentas a seguir devem estar instaladas em sua máquina:

cd
wget https://download.virtualbox.org/virtualbox/6.1.42/virtualbox-6.1_6.1.42-155177~Ubuntu~jammy_amd64.deb
sudo dpkg -i virtualbox-6.1_6.1.42-155177~Ubuntu~jammy_amd64.deb
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrant
sudo apt-add-repository ppa:ansible/ansible
sudo apt update
sudo apt install ansible

Caso retorne erro de dependências desencontradas corrija com: sudo apt --fix-broken install

Implantação do Ambiente

Clone este repositório

git clone https://github.com/thiagogmta/ops-free5gc-lab.git

Iniciando o ambiente

Acesse o diretório do repositório e crie a infraestrutura com:

cd ops-free5gc-lab
vagrant up

Ao final do deploy teremos a seguinte mensagem:

PLAY RECAP *********************************************************************
k8s-node2                  : ok=16   changed=15   unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 

Três máquinas virtuais serão criadas no Virtualbox.

Vagrant Up

Você pode verificar as Máquinas criadas com:

vagrant status

Vagrant status

Acessando o Ambiente

Para acessar o ambiente basta utilizar o comando a seguir seguido do nome da VM que quer acessar.

vagrant ssh k8s-master

Será feito acesso a VM via SSH

Vagrant SSH

Verificando o cluster

Para verificar os nós do cluster utilize:

kubectl get nodes

kubectl get nodes

ou com o comando a seguir para informações mais detalhadas:

kubectl get nodes -o wide

kubectl get nodes -o wide

Verifique se o módulo gtp5g está ativo (opicional):

dmesg | grep gtp

gtp5g

Caso não esteja execute:

cd gtp5g
make clean && make
sudo make install

Deploy do Núcleo do 5G

Os comandos a seguir serão executados no Master Node.

Criando um Volume para o MongoDB

cd ~
kubectl apply -f ops-free5gc-lab/volume/persistentVolume.yaml

Deploy do Núcleo

Com o ambiente pronto iremos inserir os charts helm para o deploy do núcleo.

cd ops-free5gc-lab/charts
helm install core free5gc

Podemos verificar a criação do núcleo com o comando $ kubectl get pods. Inicialmente pode levar alguns instantes até que todos os pods estabilizem.

kubectl get pods

Acessando a Interface Web

Você pode acessar a interface web diretamente do seu host de usuário através do navegador. Para isso utilize em seu navegador o endereço IP: 192.168.50.10:30500 (esse é o endereço do Master Node que encontra-se no vagrantfile).

O usuário padrão é admin e a senha é free5gc.

webui

Vá ao menu lateral Subscribers > New Subscriber > Submit (com todos os valores padrão).

subscribers

UERANSIM

UERANSIM é um simulador de UE (User Equipment) e RAN (Radio Access Network - gNodeB) de código aberto para redes 5G. O Equipamento de Usuário (UE) e a Rede de Acesso por Rádio (RAN) podem ser comparadas a um telefone celular 5G e uma estação base, respectivamente. Esse projeto pode ser utilizado para realizar testes na infraestrutura principal da rede 5G e também para estudar o funcionamento do sistema 5G.

Implantação

cd ops-free5gc-lab/charts
helm install ran ueransim

Deploy ueransim

Após o deploy do chart helm você pode verificar a existências dos PODs referentes a GNB e UE com:

kubectl get pods

Ueransim stable

Teste de Comunicação

Após o deploy do UERANSIM podemos acessar o POD referente ao UE para executar um teste de comunicação. Para acessar o referido POD basta:

kubectl exec -it <pod-ue-name> -- bash

Monitoramento

Tratamento de Erros

Endereçamento: Caso ocorra o seguinte erro de endereçamento na criação das VM`s:

The IP addres configured for the host-only

Faça os procedimentos a seguir em seu host:

sudo su
mkdir /etc/vbox/
cd /etc/vbox/
echo '* 0.0.0.0/0 ::/0' > /etc/vbox/networks.conf
chmod 644 /etc/vbox/networks.conf

Erro ao subir o ambiente Caso ao executar o comando $ vagrant up pela primeira vez:

  • Apenas o node master seja criado ou
  • Apenas o node master e 1 worker

Execute o comando: $ vagrant halt para finalizar as VMs e volte a executar o comando $ vagrant up.

Caso continue reportando erro destrua a infra $ vagrant destroy e crie novamente $ vagrant up.

Comentários e Observações

  • A função n3iwf está desabilitada.
  • Utilizou-se para este projeto o Virtualbox na versão 6.1 (a versão 7.0 apresentou instabilidade com o Vagrant. Pode ter sido uma questão pontual, mas fica aqui registrado).
  • A partir da versão 1.20 do Kubernetes o dockershin foi descontinuado e definitivamente removido na versão 1.24.
  • Este projeto utiliza a versão 1.23 do kubernetes adotando o Containerd em detrimento do Docker.