K8S implantação uso kubeadm (2, implantação de cluster K8S)

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.
 

Publicado 60 artigos originais · Louvor obteve 20 · vista 4572

Acho que você gosta

Origin blog.csdn.net/zhaikaiyun/article/details/104261106
Recomendado
Clasificación