1, a pré-condições Kube-de proxy ipvs abrir o
caso, o grupo Kube-proxy irá ser implantado no iptables kubeadm funcionamento para o modo padrão , deve-se notar que, quando a versão do kernel maior do que 4,19, removido módulo nf_conntrack_ipv4, Kubernetes oficial nf_conntrack recomendado no lugar, caso contrário, um erro não pode ser encontrada módulo nf_conntrack_ipv4 modo a moda lvs robin, principal solução kube-proxy é SVC (serviço), IPVS modo de programação pode aumentar significativamente a relação de programação entre o pod e sua a eficiência de acesso, pelo que esta abordagem é agora essencial que tipo.
modprobe br_netfilter # carregar o netfilter módulo
#yum instalar -y ipset ipvsadm (ipvs instalação)
# escreve um arquivo de inicialização, este arquivo nos guiará cargas de dependências lvs, preste atenção para aqui não é dependente rpm contém também dependências de módulo
CAT> /etc/sysconfig/modules/ipvs.modules << EOF
#! / bin / bash!
modprobe - ip_vs
modprobe - ip_vs_rr
modprobe - ip_vs_wrr
modprobe - ip_vs_sh
modprobe - nf_conntrack
EOF
755 /etc/sysconfig/modules/ipvs.modules chmod
festa /etc/sysconfig/modules/ipvs.modules
lsmod | grep -e -e nf_conntrack_ipv4 # ip_vs usar o comando lsmod para ver se esses arquivos são direcionados.
[root @ k8smaster yum] # modprobe br_netfilter
[root @ k8smaster yum] # c at> /etc/sysconfig/modules/ipvs.modules << EOF
> #! / bin / bash!
> modprobe - ip_vs
> modprobe - ip_vs_rr
> modprobe - ip_vs_wrr
> modprobe - ip_vs_sh
> modprobe - nf_conntrack
> EOF
[root @ k8smaster yum] # chmod 755 /etc/sysconfig/modules/ipvs.modules
[root @ k8smaster yum] # bash / etc / sysconfig / modules / ipvs.modules
[root @ k8smaster yum] # lsmod | grep -e ip_vs -e nf_conntrack_ipv4
ip_vs_sh 16384 0
ip_vs_wrr 16384 0
ip_vs_rr 16384 0
ip_vs 147456 6 ip_vs_rr, ip_vs_sh, ip_vs_wrr
nf_conntrack_ipv4 20480 0
nf_defrag_ipv4 16384 1 nf_conntrack_ipv4
nf_conntrack 114688 3 ip_vs, xt_conntrack, nf_conntrack_ipv4
libcrc32c 16384 2 XFS, ip_vs
[raiz @ k8smaster yum] #
2,安装janela de encaixe
依赖yum instalar yum-utils dispositivo de mapeador de dados persistente-lvm2 -y
yum remover yum-utils lvm2 -y
yum remover dispositivo de mapeador de persistentes-dados -Y
yum remover lvm2 -y
Importando Ali nuvem Docker-ce espelhado armazém
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y estivador-ce # 安装 docker
Criando diretório / etc / janela de encaixe
[! -D / etc / janela de encaixe] && mkdir / etc / janela de encaixe
Configuração do daemon
CAT> << /etc/docker/daemon.json o EOF
{
"Exec-os opta": [ "native.cgroupdriver = systemd"],
"log-Driver": "JSON-File",
"log-os opta": {
"max-size": "100m"
}
}
o EOF
Exec-os opta, definir o grupo o padrão systemd, existem padrão Centos dois grupos, um fs, uma gestão systemd para unificadas, conseguimos systemd .
log-piloto, vamos armazenar o modo de log em arquivo json na forma de
log-opta, de armazenamento de até 100 Mb, para que possamos, numa fase posterior para encontrar as informações de log correspondente ao recipiente pela guerra / log / content /, de modo que você pode EFK ir procurar as informações correspondentes
#重启janela de encaixe服务
systemctl daemon-reload && systemctl restart janela de encaixe && systemctl permitir docker
3, kubeadm montagem (configuração mestre-escravo)
montado kubelet, kubeadm e kubectl, kubelet Cluster rodando em todos os nós, e é responsável por iniciar recipiente vagem. kubeadm usado para inicializar o cluster. kubectl é Kubernetes ferramenta de linha de comando. E pode ser implantado por aplicativos de gerenciamento kubectl, ver uma variedade de recursos, criar, apagar e atualizar vários componentes.
# Yum fonte acrescentou Ali nuvem
CAT << EOF> /etc/yum.repos.d/kubernetes.repo
[Kubernetes]
name = Kubernetes
baseurl = HTTPS: //mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7 -x86_64
Activo 1 =.
gpgcheck = 0
repo_gpgcheck = 0
gpgkey = HTTPS: //mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/ Package Multa para-key.gpg-RPM
EOF
# default instalar a última versão aqui 1.15.1
yum install -y kubeadm-kubelet-1.15.1 1.15.1 1.15.1 kubectl-
systemctl permitir kubelet && systemctl Iniciar kubelet
porque necessidade kubelet to-talk nossa interface recipiente para interagir, para começar o nosso recipiente e nossos K8S após desmaiar kubeadm são instalados em um pod existe no caminho, isto é, o fundo do recipiente por meio de execução, por isso deve ser inicialização kubelet desde o início, caso contrário, após conjunto o reinício K8S não começar.
4, kubectl ativar o preenchimento automático de comando
# -Completion instalar e configurar a festa
yum a instalar a festa-Y-Conclusão
echo 'Fonte / usr / share / o bash-conclusão / bash_completion' >> / etc / profile
Fonte / etc / profile
echo "Fonte <(kubectl Conclusão do bash)" >> ~ / .bashrc
Fonte ~ / .bashrc
5, inicialização mestre
uso kubeadm configuração de impressão init-defaults pode imprimir aglomerado inicializar a configuração padrão usado
para criar o arquivo padrão kubeadm-config.yaml pelo seguinte comando: # Kubernetes-versão e a versão instalada kubelet anterior e kubectl consistente
kubeadm configuração de impressão de inicialização -defaults> kubeadm-config.yaml
kubeadm.k8s.io/v1beta2: apiVersion
bootstrapTokens:
- grupos:
- Sistema: bootstrappers: kubeadm: default-nó-token de
token: abcdef.0123456789abcdef
TTL: 24h0m0s
usos:
- assinatura
- autenticação
tipo: InitConfiguration
localAPIEndpoint:
advertiseAddress: 192.168.23.100 #master的ip
bindport: 6443
nodeRegistration:
criSocket: /var/run/dockershim.sock
k8smaster: nome
impurezas:
- efeito: NoSchedule
chave: node-role.kubernetes.io/master
---
apiServer:
timeoutForControlPlane: 4m0s
apiVersion: kubeadm .k8s.io / v1beta2
certificatesDir: / etc / Kubernetes / PKI
do clusterName: Kubernetes
ControllerManager: {}
DNS:
Tipo: CoreDNS
ETCD:
local:
DataDir: / var / lib / ETCD
imageRepository: # 192.168.23.100:5000 locais repositório privado
tipo: ClusterConfiguration
kubernetesVersion: V1. instalar a versão 15.1 # K8S
Networking:
DNSDomain: cluster.local
podSubnet: 10.244.0.0/16 # declaração pod de qual segmento [Nota que você deve acrescentar a este conteúdo] por padrão, vamos instalar uma rede plug-flnode para atingir a cobertura rede, seus segmentos pod padrão sobre essa rede um, se a rede é inconsistente, então precisamos entrar no pod tarde uma modificação
serviceSubnet: 10.96.0.0/12
planejador: {}
--- # o modo de agendamento padrão ipvs modo de planejamento para
apiVersion: kubeproxy.config.k8s.io/v1alpha1
tipo: KubeProxyConfiguration
featureGates:
SupportIPVSProxyMode: true
modo: ipvs
kubeadm-config.yaml implantação composição Descrição:
InitConfiguration: utilizado para definir a configuração inicial, tal como a inicialização token e usados endereço apiserver
ClusterConfiguration: utilizado para definir apiserver, ETCD, rede, escalonador, controlador de gestor de itens de configuração e outros componentes relacionados mestre
KubeletConfiguration : usado para definir os itens de configuração de componentes kubelet relacionados
KubeProxyConfiguration: usado para definir componentes kube-proxy-relacionados itens de configuração
podem ser vistos no arquivo kubeadm-config.yaml padrão apenas InitConfiguration, ClusterConfiguration duas partes. Podemos gerar operação de arquivo exemplar adicional por duas partes:
# Geradora de arquivo Exemplar KubeletConfiguration
kubeadm configuração imprimir init-defaults --component- configs KubeletConfiguration
# Geradora de arquivo Exemplar KubeProxyConfiguration
kubeadm configuração imprimir init-defaults --component- configs KubeProxyConfiguration
# Arquivo YAML utilizando a instalação inicial especificada emitir automaticamente o certificado (suporte pós 1.13) toda a informação é gravada no kubeadm-init.log em
kubeadm inicialização --config = kubeadm-config.yaml --upload -certs | tee kubeadm -init.log
--experimental os upload-certs-tem sido abandonados, os oficiais recomendadas --upload-certs alternativa, o anúncio oficial: https: //v1-15.docs.kubernetes.io/docs/setup/release/notes /
[Init] o Usando Kubernetes Versão: v1.15.1 logging # instalação começando a nos dizer Kubernetes versão
[Comprovação] Correndo Comprovação Verificações # detectar o ambiente operacional atual
[Comprovação] Puxando ImagesRF Royalty Free necessário para a criação de um Kubernetes Cluster # cluster é K8S Baixar espelho
[Comprovação] isso pode levar um minuto ou dois, dependendo da velocidade de sua conexão com a Internet
[Comprovação] por você também pode executar a presente acção no antemão os usando 'kubeadm configuração Imagens puxar' # imagem de instalação começam
[kubelet-start] Escrita kubelet arquivo com bandeiras a meio ambiente arquivo "/var/lib/kubelet/kubeadm-flags.env" # em arquivos /var/lib/kubelet/kubeadm-flags.env armazenar variáveis de ambiente kubelet
[kubelet-start] Escrita kubelet configuração para arquivo "/var/lib/kubelet/config.yaml"# Arquivo /Var/lib/kubelet/config.yaml armazenadas no arquivo de configuração kubelet
[kubelet-Start] Ativando O kubelet-Serviços
[certificados] certificateDir o Usando pasta "/ etc / Kubernetes / PKI" # em / etc / Kubernetes / PKI diretório mantém todos os certificados K8S usados como K8S usando C http desenvolvimento de protocolo / S estrutura, que leva em conta para segurança utilizado quando todos os componentes comunicar com https esquema de autenticação de duas vias, de modo K8S requer um monte de certificados e chaves CE privado
[certificados] Generating "ETCD / CA" e certificado de chave
[certificados] Generating "ETCD / Healthcheck-client" e certificado de chave
[certificados] Generating "apiserver-client-ETCD" certificado e -chave
[certs] Generating "ETCD / uso do peer" e certificado de chave
[certificados] ETCD / Servindo CERT é assinado Use o peer para os nomes DNS [k8smaster localhost] IPs e [127.0.0.1 :: 192.168.23.100. 1]
[certificados] Generating "ETCD / servidor "certificado ea chave
[certificados] / [k8smaster localhost] e IPs [192.168.23.100 127.0.0.1 :: 1] ETCD servidor servindo cert é assinado por nomes DNS
[certificados] Gerando certificado de "ca" e chave
[certificados] Gerando certificado "apiserver" e chave
[certificados] apiserver servindo cert é assinado por nomes DNS [k8smaster Kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] e IPs [10.96.0.1 192.168.23.100] #配置DNS以及当前默认的域名【SVC (serviço)的默认名称】
[certificados] Gerando certificado "apiserver-kubelet-client" e chave #生成K8S组件的密钥
[certificados] Gerando certificado de "front-proxy-ca" e chave
[certificados] Generating "front "certificado ea chave -proxy-cliente
[certificados] Generating 'chave sa' ea chave pública
[kubeconfig] Usando kubeconfig "/ etc / Kubernetes" pasta #在/ etc / Kubernetes目录下生成K8S组件的配置文件
[kubeconfig] "admin.conf" file kubeconfig Escrita
[kubeconfig] Writing "kubelet.conf" file kubeconfig
[kubeconfig ] Writing "controlador de manager.conf" file kubeconfig
[kubeconfig] Writing "scheduler.conf" file kubeconfig
[controle de plano] Usando pasta manifesto "/ etc / Kubernetes / manifestos"
[controle de plano] Criando estática Pod manifesto para "kube -apiserver "
[controle de plano] Criando estática Pod manifesto para "kube-controller-manager"
[controle de plano] Criando estática Pod manifesto para "kube-scheduler"
[ETCD] Criando estática Pod manifesto para ETCD local"/ Etc / Kubernetes / Manifestos "
[espera-control-plane] Esperando a kubelet para arrancar o plano de controle como Pods estáticos do diretório "/ etc / Kubernetes / manifesta". Isso pode levar até 4m0s
[apiclient] Todos os componentes de plano de controle são saudáveis após 29.006263 segundos
[upload-Config] armazenar a configuração usada em configMap "kubeadm-config" no "sistema kube" Namespace
[kubelet] Criando um configMap "kubelet -config-1.15" no namespace kube-sistema com a configuração para os kubelets no cluster
[upload-certs] Guardar os certificados no Secret "kubeadm-certs" no "do sistema kube" namespace
[Carregar-certs] Usando a chave do certificado :
7daa5684ae8ff1835af697c3b3bd017c471adcf8bb7b28eee7e521b03694ef8c
[marcação do plano de controlo] Marcação a k8smaster nó como do plano de controlo por adição do rótulo "node-role.kubernetes.io/master= ''"
[marcação do plano de controlo] Marcação a k8smaster nó como do plano de controlo adicionando as impurezas [node-role.kubernetes.io/master:NoSchedule]
[de bootstrap em token] Usando o símbolo: abcdef.0123456789abcdef
[de bootstrap em token] Configuração de bootstrap fichas, agrupar-Informação configMap, funções RBAC #RBAC授权
[de bootstrap em token] configurado RBAC regras para permitir Nó Bootstrap fichas para postar CSRs para que nós para obter credenciais de certificado de longo prazo
regras RBAC configurados [de bootstrap em token] para permitir que o controlador csrapprover aprovar automaticamente CSRs de um nó Bootstrap token
regras RBAC configurados [de bootstrap em token] para permitir a rotação certificado para todos os certificados de cliente nó no cluster
[inicialização token] Criando o "cluster de info" configMap nas "Kube-pública" namespace
[complementos] Aplicada complemento essencial: CoreDNS
[ complementos] Aplicada complemento essencial: kube-proxy
Controle-Plane tem Kubernetes Seu inicializado com sucesso! # Inicialização bem sucedida
Para começar a utilizar o cluster, você precisa executar o seguinte como um usuário regular:
mkdir -p $ HOME / .kube
sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
sudo chown $ (-u id): $ (id -g) $ HOME / .kube / config
Agora você deve implantar uma rede pod ao cluster.
Execute "kubectl aplicar -f [podnetwork] .yaml" com uma das opções listadas em:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Então você pode participar de qualquer número de nós de trabalho executando o seguinte em cada como root:
kubeadm juntar 192.168.23.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-de hash sha256: dda2582a61959ec547f8156288a32fe2b1d04febeca03476ebd1b3a754244588
命令直接初始化: kubeadm inicialização --kubernetes-version = 1.15.1 --pod-network-cidr = 10.244.0.0 / 16 --apiserver-anunciar-address = 192.168.23.100 --ignore-pré-vôo-errors = NumCPU --image-repositório = 192.168.23.100: 5000
componente aquisição estado de saúde
[o k8smaster root @ ~] # kubectl GET CS
NAME ERROR o STATUS da MENSAGEM
Controlador-Manager Saudável OK
Scheduler Saudável OK
ETCD-0 {Saudável "Saúde": "a verdade"}
[k8smaster o root @ ~] #
Exibir informações do nó
[root @ k8smaster ~] # kubectl Nó GET
AGE NOME STATUS os papéis VERSÃO
k8smaster NotReady Mestre 10H v1.15.1
[root @ k8smaster ~] #
Aqui status não está pronto, porque não há nenhum plug-ins de rede, como endereço de flanela https :. / /github.com/coreos/flannel pode verificar projetos relacionados flanela no github, e execute o seguinte comando para instalar automaticamente flanela
Execute os seguintes comandos, obtenha o status de todos os sistemas operacionais atualmente no pod, kube sistema namespace designado, pod em nível de sistema, o comando seguinte
[@ k8smaster a raiz ~] # kubectl GET PODS -n-System Kube
NOME READY reinicia de idade, o STATUS
coredns 0/1 o Pendente 0 75b6d67b6d-11H-9zznq
coredns 75b6d67b6d-11H-r2hkz 0/1 o Pendente 0
ETCD-k8smaster 1/1 0 Funcionamento 10H
Kube apiserver-10H-k8smaster 1/1 0 Funcionamento
Kube-Controller-Manager correndo 10H 1/1 0 -k8smaster
Kube Proxy-11H 5nrvf 1/1 0 Funcionamento
Kube Scheduler-10H-k8smaster 1/1 correndo 0
[k8smaster o root @ ~] #
Execute os seguintes comandos, obter namespace atual sistema
[o root @ k8smaster ~] # kubectl GET NS
NOME o status da AGE
padrão 11H Ativo
Kube-Node-Lease Active 11H
Kube-públicas ativo 11H
Kube-System da 11H Activa
[o root @ k8smaster ~] #
6, instalar o plug rede de flanela
(1) arquivos baixados flanela yaml
[root @ k8smaster ~] # após wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml download, modificar a imagem de espelho local (a partir de um privado armazém download, quay.io alterado do 192.168.23.100:5000)
(2) criar flanela
kubectl Criar -f Kube-flannel.yml
flanela vista foi implantado com sucesso nos componentes do sistema padrão [namespace do sistema kube], usando o mesmo endereço IP pode ver flanela [root @ k8smaster [root @ teste k8smaster ] # kubectl GET Kube -n-POD Sistema
NOME reinicia o status Pronto de idade
coredns-75b6d67b6d-9hmmd 1/1 0 Funcionamento 131m
coredns-75b6d67b6d-rf2q5 1/1 0 Funcionamento 131m
ETCD-k8smaster 1/1 0 Funcionamento 130m
Kube-apiserver- correndo 130m 1/1 0 k8smaster
Kube-Controller-Manager-k8smaster 1/1 0 Funcionamento 130m
Kube-flanela-DS-0 correndo AMD64-101M kvffl 1/1
kube-flanela-ds-amd64-trjfx 1/1 Correndo 0 105m
kube-proxy-5zkhj 1/1 Correndo 0 131m
kube-proxy-h2r8g 1/1 Correndo 0 101m
kube-scheduler-k8smaster 1/1 Correndo 0 130m
[root @ test k8smaster] #
[root @ test k8smaster] # ip addr
8: flannel.1: <broadcast, multicast> mtu 1450 qdisc noqueue estado padrão grupo BAIXO
link / éter 06: 18: 40: 93: EC: ff brd ff: ff: ff: ff : ff: ff
[root @ k8smaster ~] # kubectl get nó #node状态为Pronto
nome de estado PAPÉIS AGE VERSÃO
k8smaster Pronto v1.15.1 mestre 134m
7, o nó filho é adicionado aos K8S K8S nó mestre
na máquina nó executando os seguintes comandos (em pesquisa kubeadm-init.log)
kubeadm o Junte 192.168.23.100:6443 --token abcdef.0123456789abcdef --discovery-token-CA-Cert o hash- sha256: dda2582a61959ec547f8156288a32fe2b1d04febeca03476ebd1b3a754244588
[root @ k8snode01 log] # kubeadm juntar 192.168.23.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-de hash sha256: dda2582a61959ec547f8156288a32fe2b1d04febeca03476ebd1b3a754244588
[pré-impressão] Executando verificações de comprovação
[AVISO SystemVerification]: esta versão Docker não está na lista de versões validadas: 19.03.5. Última versão validada: 18.09
[comprovação] configuração Leitura do cluster ...
[comprovação] FYI: Você pode olhar para este arquivo de configuração com 'kubectl -n kube sistema get cm kubeadm-config -oyaml'
[kubelet-start] download configuração para o kubelet do "kubelet-config-1.15" configMap no espaço de nomes do sistema kube
[kubelet-start] configuração kubelet escrita para arquivo "/var/lib/kubelet/config.yaml"
[Kubelet começar] Escrita arquivo de ambiente kubelet com bandeiras de arquivo "/var/lib/kubelet/kubeadm-flags.env"
[kubelet começar] Ativando o kubelet serviço
[kubelet começar] Esperando a kubelet para executar a TLS Bootstrap ...
Este nó juntou-se ao cluster:
* Certificado solicitação de assinatura foi enviado para apiserver e uma resposta foi recebida.
* O Kubelet foi informado sobre os novos detalhes de conexão segura.
Run 'kubectl get nós' no controle plano para ver esse nó aderir ao cluster.
[root @ k8snode01 log] #
[root @ k8snode01 log] # imagens docker
TAG repositório de imagens ID TAMANHO CRIADO
v1.15.1 192.168.23.100:5000/kube-proxy 89a062da739d 6 meses atrás 82.4MB
192.168.23.100:5000/coreos/flannel v0 .11.0-amd64 ff281650a721 12 meses atrás 52.5MB
192.168.23.100:5000/pause 3.1 da86e6ba6ca1 2 anos 742kB
[root @ k8snode01 log] # docker ps
CONTAINER ID da imagem comando criou PORTOS DE STATUS NOMES
ba9d285b313f ff281650a721 "/ opt / bin / flanneld - ..." Cerca de um minuto atrás Up cerca de um minuto k8s_kube-flannel_kube-flanela-ds-amd64-kvffl_kube-system_f7f3aa12-fd16-41fa-a577-559156d545d0_0
677fe835f591 192.168.23.100:5000/kube- proxy "/ usr / local / bin / kube ..." Cerca de um minuto atrás Up Cerca de um minuto k8s_kube-proxy_kube-proxy-h2r8g_kube-system_a13b5efa 3e14-40e2-b109-7f067ba6ad82_0
357321f007c9 192.168.23.100:5000/pause:3.1 "/ pause "Cerca de um minuto atrás Up Cerca de um minuto k8s_POD_kube-proxy-h2r8g_kube-system_a13b5efa-3e14-40e2-b109-7f067ba6ad82_0
01ab31239bfd 192.168.23.100:5000/pause:3.1 "/ pause" Cerca de um minuto atrás Up cerca de um minuto k8s_POD_kube-flanela-ds-amd64-kvffl_kube-system_f7f3aa12-fd16-41fa a577-559156d545d0_0
[root @ k8snode01 log] #
[root @ k8smaster ~] # kubectl get nó #node已经加入集群
PAPÉIS nome de estado AGE VERSÃO
k8smaster Pronto mestre 134m v1.15.1
k8snode01 Pronto <nenhum> 103m v1.15.1
[root @ k8smaster ~] #
8, os problemas de instalação
(1) para puxar o problema espelho
puxar espelhado de quay.io e gcr.io, rede de acesso em casa é bloqueado no. Ele pode ser substituído quay-mirror.qiniu.com e registry.aliyuncs.com, jogando tag e etiqueta re-tratamento
(2) não /var/lib/kubelet/config.yaml encontrou o erro pode ser ignorado, quando o kubeadm inicialização será gerada automaticamente
em / var / log / log mensagens de erro ocorre seguintes:
Em 11 de fevereiro 05:17:44 k8smaster kubelet: F0211 05: 17: 44,750462 1547 server.go : 198] não conseguiu carga kubelet arquivo de configuração /var/lib/kubelet/config.yaml, o erro não conseguiu ler o arquivo de configuração kubelet "/var/lib/kubelet/config.yaml", erro: Open /var/lib/kubelet/config.yaml: Nenhum tal lima ou diretório
(3) a memória da máquina virtual e insuficiência cpu faz com que a instalação for muito pequeno
no log de erro / var / log / messages a partir do seguinte:
Em 11 fev 05:24:44 k8smaster kubelet: E0211 05: 24: 44,762078 eviction_manager.go 2876: 247] despejo Representante: falhou o GET com as estatísticas Resumo: falhou o GET às informações do nó: o Nó "k8smaster" não encontrado
memória suficiente, 2G de memória é recomendado.