Editado 4 meses atrás por ExtremeHow Equipe Editorial
FedoraKubernetesOrquestração de contêineresInstalaçãoSoftwareDesenvolvimentoLinha de comandoTerminalAdministração de SistemasComputadores
Tradução atualizada 4 meses atrás
Kubernetes, frequentemente abreviado como K8s, é uma plataforma de código aberto usada para gerenciar cargas de trabalho e serviços em contêiner. Ele ajuda a automatizar a implantação, escalonamento e operação de contêineres de aplicativos em um cluster de hosts. Instalar o Kubernetes no Fedora pode ser uma experiência gratificante, especialmente para desenvolvedores que desejam experimentar a orquestração de contêineres em seus sistemas locais. A seguir, orientaremos você passo a passo por um processo detalhado de instalação do Kubernetes em um sistema Fedora, com exemplos e explicações para garantir uma configuração sem problemas.
Antes de entrarmos no processo de instalação, há alguns pré-requisitos e pontos a considerar:
O primeiro passo é atualizar seu sistema Fedora para garantir que todos os pacotes e dependências estejam atualizados. Use o seguinte comando:
sudo dnf update -y
Este comando baixará e instalará as atualizações mais recentes, garantindo que seu sistema esteja pronto para o Kubernetes.
O Kubernetes requer um tempo de execução de contêiner, e o Docker é uma das opções mais comumente usadas. Para instalar o Docker no Fedora, siga estas etapas:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker sudo systemctl enable docker
Quando o Docker estiver instalado, verifique a instalação verificando seu status com sudo systemctl status docker
.
O Security-Enhanced Linux (SELinux) é um recurso de segurança do kernel Linux que fornece um mecanismo para suportar políticas de segurança de controle de acesso. O Kubernetes e os tempos de execução dos contêineres às vezes têm problemas com o SELinux, por isso é recomendável configurá-lo para o modo permissivo.
sudo setenforce 0
Torne essa alteração permanente editando o arquivo de configuração do SELinux:
sudo vi /etc/selinux/config
Altere a linha SELINUX=enforcing
para SELINUX=permissive
. Salve e saia do editor.
Agora, você precisa adicionar o repositório do Kubernetes a partir do qual instalará os pacotes necessários. Use as seguintes etapas:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg https://packages.cloud.google.com/yum/doc/yum-key.gpg EOF
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable kubelet
Estes são os principais componentes do Kubernetes. kubelet
é o agente que executa em cada nó. kubeadm
é uma ferramenta para inicializar o cluster. kubectl
é a ferramenta de linha de comando para interagir com o cluster.
Modifique as configurações do sistema para o networking do Kubernetes. Abra o arquivo de configuração sysctl e ajuste as configurações:
sudo vi /etc/sysctl.d/k8s.conf
Para garantir que seus pacotes de rede para tráfego ponte sejam processados corretamente, adicione as seguintes linhas:
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
Aplique essas alterações:
sudo sysctl --system
A memória Swap deve ser desabilitada para que o Kubernetes funcione de forma otimizada. Desative swap temporariamente e permanentemente com o seguinte comando:
Desabilitar temporariamente o swap:
sudo swapoff -a
Desabilitar swap permanentemente: Edite o arquivo /etc/fstab
e comente todas as linhas que se referem a partições de swap. Use:
sudo vi /etc/fstab
Encontre a linha contendo a entrada de swap e adicione #
na frente para comentá-la.
Você usará o kubeadm para inicializar seu nó mestre do Kubernetes. Esta etapa também configura o plano de controle necessário. Realize a inicialização com:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
O argumento --pod-network-cidr
especifica a faixa de IPs para a rede do pod. Isso pode variar dependendo da solução de rede que você usa.
Após a inicialização bem-sucedida, o comando retornará um comando kubeadm "join". Salve isso para mais tarde se você quiser adicionar nós adicionais ao seu cluster.
Para que a ferramenta kubectl funcione corretamente como um usuário sem privilégios de root, configure um arquivo kubeconfig local:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Esses comandos criam um diretório de configuração e copiam as credenciais de administração para que você possa usar o kubectl sem precisar usar sudo toda vez.
O Kubernetes requer o complemento de rede Pod. A opção mais popular é o Flannel. Implante o Flannel em seu cluster com:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Isso configurará seus nós Kubernetes para se comunicarem uns com os outros através da rede virtual do Flannel.
Depois que tudo estiver configurado, verifique o status dos nós do seu cluster utilizando o seguinte:
kubectl get nodes
Você deve ver seu sistema listado com o status "Ready". Além disso, verifique todos os pods do sistema com o seguinte:
kubectl get pods --all-namespaces
Parabéns, você instalou com sucesso o Kubernetes no Fedora. Uma vez que seu cluster esteja em operação, você pode começar a implantar aplicativos e gerenciar efetivamente cargas de trabalho em contêiner. Este processo de instalação, embora detalhado, cobre todas as etapas necessárias para configurar seu ambiente para fins de aprendizado e desenvolvimento. A administração futura pode incluir o gerenciamento de permissões, escalonamento e manutenção da saúde do cluster, garantindo que você construa uma forte compreensão do Kubernetes em sistemas Fedora.
Lembre-se de que o Kubernetes é um sistema poderoso que pode levar tempo para aprender. No entanto, ao trabalhar na instalação e configuração manual, como mencionado acima, você adquire uma experiência prática inestimável e aprofunda sua compreensão da orquestração de contêineres em cenários do mundo real.
Se você encontrar algo errado com o conteúdo do artigo, você pode