Introduction: Instalando E Configurando Um Cluster Kubernetes Com a DragonBoard 410c

A Dragonboard 410c é uma placa muito versátil. Ela possui um processador de 1.2Ghz de quatro núcleos (32 e 64 bocados) e possui Bluetooth, Wifi e GPS um bordo, além de duas portas USB para uma saída e uma saída HDMI.

Como coleções mais integradas podem ser encontradas no site da Qualcomm (em inglês). This instructables mostra como instalar microsserviços, nesse tutorial vamos instalar um cluster de kubernetes na Dragonboard.

Kubernetes é uma plataforma de código aberto e portátil para a gestão de tarefas e serviços em contêineres (orquestração de contêineres) que facilitam a configuração declarativa e automação.

• Nó: um nó é uma máquina de trabalho não Kubernetes.Um pode ser uma máquina virtual ou física, dependendo do cluster. O primeiro contém os serviços necessários para a execução de pesquisas e é feito pelos principais componentes.

• Pod: esta é uma unidade básica no Kubernetes. Ele pode consistir em um ou mais contêineres com uma garantia de suporte na máquina hospedeira e compartilhar os recursos. Todos os contêineres implantados dentro do pod podem ver outros contêineres via host local. Cada pod existe um endereço IP exclusivo no cluster.

Supplies

Detalhes

Step 1: Instalando O Docker

Vamos realizar uma instalação do Docker

# curl -fsSL https://get.docker.com | bater

Desse modo a última versão do docker será publicado em todos os nós

Step 2: Instalando O Kubernetes

Depois do Docker já instalado, vamos adicionar a repo do Kubernete em nossos nodes:

Debian e Semelhantes:
# apt-get update e& apt-get install -y apt-transport-https

# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

# echo "deb http://apt.kubernetes.io/ kubernetes-xenial main"> /etc/apt/sources.list.d/kubernetes.list

# apt-get update

# apt-get install -y kubelet kubeadm kubectl

********************************************************************************************************************

Red Hat e Semelhantes:
# vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]

[kubernetes] nome = Kubernetes

baseurl = https: //pacotes.cloud.google.com/yum/repos/kubernetes-el7-x86_64

enabled = 1

gpgcheck = 1

repo_gpgcheck = 1

gpgkey = https: //packages.cloud.google. com / yum / doc / yum-key.gpghttps: //pacotes.cloud.google.com/yum/doc/rpm-pac ....gpg

# setenforce 0

# systemctl stop firewalld

# systemctl desativar o firewalld

# yum install -y kubelet kubeadm kubectl

# systemctl enable kubelet && systemctl start kubelet

Ainda na família do Red Hat, é importante configurar alguns parâmetros do kernel no sysctl:

# vim /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1

# sysctl --system

Agora, em ambas as distribuições, é muito importante também o driver é usado pelo usuário para fazer o mesmo para o docker, para verificar isso, execute o seguinte comando:

# docker info | grep -i cgroup Cgroup Driver: cgroupfs

# sed -i "s / cgroup-driver = systemd / cgroup-driver = cgroupfs / g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

# systemctl daemon-reload

# systemctl restart kubelet

docs: https://kubernetes.io/docs/setup/independent/inst...

****************************************************************************************************************************

Para iniciar o nosso cluster devemos desabilitar nossa swap:

# swapoff -a


E comente a entrada referente a swap em seu arquivo fstab:

# vim /etc/fstab

Step 3: Iniciando O Cluster

# kubeadm init --apiserver-advertise-address $(hostname -i)

O comando acima irá iniciar o cluster e em seguida exibirá a linha que de comando que preciso executar em meus outros nodes.


[WARNING SystemVerification]: docker version is greater than the most recently validated version. Docker version: 18.05.0-ce. Max validated version: 17.03 ...

To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ...

kubeadm join --token 39c341.a3bc3c4dd49758d5 IP_DO_MASTER:6443 --discovery-token-ca-cert-hash sha256:37092 ...

# mkdir -p $HOME/.kube

# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

# sudo chown $(id -u):$(id -g) $HOME/.kube/config

# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" serviceaccount/weave-net created

clusterrole.rbac.authorization.k8s.io/weave-net created
clusterrolebinding.rbac.authorization.k8s.io/weave-net created

role.rbac.authorization.k8s.io/weave-net created

rolebinding.rbac.authorization.k8s.io/weave-net created

daemonset.extensions/weave-net created

Vamos listar esses podnetwork:
# kubectl get pods -n kube-system

# kubeadm join --token 39c341.a3bc3c4dd49758d5 IP_DO_MASTER:6443 --discovery-token-ca-cert-hash sha256:37092

# kubectl get nodes

Step 4: Executando O Cluster

Vamos verificar se todos os nós do nosso cluster estão ok:

# kubectl obter nós

elliot-01 Ready 14s v1.11.1
elliot-02 Ready master 14m v1.11.1

elliot-03 Mestre pronto 13m v1.11.1

Vamos verificar os detalhes do nó elliot-01
# kubectl descrever nó elliot-01

Está ruim de ficar digitando? use o preenchimento automático: # source <(conclusão do kubectl bash)

Verificando os pods:

# kubectl obter pods

Verificando os pods do namespace do kubernetes, o kube-system:

# kubectl obtenha pods -n kube-system

Usando o detalhe para ver detalhes de algum pod:

# kubectl descreve pod kube-apiserver-elliot-01 -n sistema kube

Verificando os pods do namespace do kubernetes, do sistema de kube e utilizando a opção -o wide:

# kubectl obtenha pods -n kube-system -o wide

Criando o nosso primeiro deployment:

# kubectl run meu-nginx --image nginx deployment.apps / nginx criado

Verificando o deployment criado:

# kubectl obter implementações

Verificando o pod do do deployment:

# kubectl obter pods

Usando o get pod e obter implantação juntos:

# kubectl obter pod, implantações

Verificando os detalhes da nossa implantação:

# kubectl descreve a implementação do meu-nginx

Aumentando a quantidade de réplicas de nosso desenvolvimento:

# kubectl scale deployment meu-nginx --replicas = 10

Verificando os pods de todos os namespaces:

# kubectl obter pods --all-namespaces

Removendo nosso deployment:

# kubectl delete deployment meu-nginx