K8S despliegue uso kubeadm (2, implementación de clúster K8S)

1, pre-condiciones kube proxy IPVS abrir el
caso, racimo Kube-proxy se desplegará en iptables kubeadm Run a modo predeterminado , hay que señalar que, cuando la versión del núcleo mayor que 4,19, eliminó módulo nf_conntrack_ipv4, Kubernetes oficial nf_conntrack recomendada en su lugar, de lo contrario un error no se puede encontrar módulo nf_conntrack_ipv4 modo de planificación modo a la moda lvs robin, solución principal kube-proxy es SVC (servicio), IPVS puede aumentar en gran medida la relación entre la programación de la vaina y su la eficacia del acceso, por lo que este enfoque es ahora esencial que tipo.

modprobe br_netfilter # cargar el módulo de filtro de red
#yum instalar -y ipset ipvsadm (IPVS instalación)
# escribir un archivo de inicio, este archivo nos guiará un montón de dependencias LVS, prestar atención a que aquí no depende de las rpm contiene también dependencias del 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
fiesta /etc/sysconfig/modules/ipvs.modules  
lsmod | grep -e -e nf_conntrack_ipv4 # ip_vs utilizar el comando lsmod para ver si estos archivos están dirigidos.

[root @ k8smaster yum] # modprobe br_netfilter
[root @ k8smaster yum] # C a> /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 -e ip_vs 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
[root @ k8smaster yum] #

2,安装ventana acoplable
依赖yum instalar yum-utils mapeador de dispositivos-persistente-datos lvm2 -y
yum eliminar yum-utils lvm2 -y
yum eliminar mapeador de dispositivos persistentes-datos -y
yum eliminan lvm2 -y

Importación de la nube Ali acoplable-ce espejo almacén
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install -y ventana acoplable-ce # 安装 ventana acoplable

Creación de directorio / etc / cargador de muelle
[! -D / etc / ventana acoplable] && mkdir / etc / cargador de muelle

Configuración del demonio
CAT> << /etc/docker/daemon.json el EOF
{
  "Exec-los TPO": [ "native.cgroupdriver = systemd"],
  "log-Conductor": "JSON-File",
  "log-los TPO": {
    "tamaño máximo": "100"
  }
}
EOF

Exec-los TPO, establezca grupo systemd el valor por defecto, hay por defecto Centos dos grupos, a fs, una gestión systemd para Unified, logramos systemd .
Log-conductor, nos dejaron guardar el modo de registro al archivo JSON en forma de
log-TPO, almacenamiento de hasta 100 Mb, por lo que podemos en una etapa posterior para encontrar la información de registro correspondiente al contenedor por la guerra / log / content /, para que pueda EFK ir a buscar la información correspondiente

#重启ventana acoplable服务
systemctl daemon-recarga && && systemctl reinicio ventana acoplable systemctl permitirá ventana acoplable

3, kubeadm de montaje (configuración maestro-esclavo)
montado kubelet, kubeadm y kubectl, kubelet Cluster se ejecuta en todos los nodos, y es responsable de iniciar recipiente Pod. kubeadm utiliza para inicializar el Cluster. kubectl es una herramienta de línea de comandos Kubernetes. Y puede ser desplegado por las aplicaciones de gestión kubectl, ver una variedad de recursos, crear, eliminar y actualizar varios componentes.

# Yum fuente añadió Ali nube
cat << EOF> /etc/yum.repos.d/kubernetes.repo
[Kubernetes]
name = Kubernetes
baseurl = HTTPS: //mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7 -x86_64
Activado 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 por key.gpg-RPM-
EOF

# instalación por defecto la versión más reciente aquí 1.15.1
yum install -y kubeadm-kubelet-1.15.1 1.15.1 1.15.1 kubectl-
systemctl permiten kubelet && systemctl inicio kubelet
porque la necesidad kubelet para hablar nuestra interfaz de contenedores para interactuar, para iniciar nuestro contenedor y nuestros K8S después de perder el conocimiento kubeadm están instalados en una vaina existe en la forma, es decir, la parte inferior del recipiente a modo de correr, así que debe ser de arranque kubelet desde el principio, de lo contrario después del reinicio del clúster K8S no se inicia.

 

4, kubectl activar comandos de finalización automática
# -Realización de instalar y configurar la fiesta
ñam la instalación de la fiesta -Y-Finalización
de eco 'Fuente / usr / share / bash-Finalización / bash_completion' >> / etc / profile
Fuente / etc / Perfil
de eco "Fuente <(kubectl Finalización del golpe)" >> ~ / .bashrc
Fuente ~ / .bashrc

5, Maestro inicialización
uso kubeadm impresión de configuración init-valores por defecto pueden imprimir cúmulo inicializar la configuración por defecto utilizado
para crear el archivo predeterminado kubeadm-config.yaml mediante el siguiente comando: # kubernetes-versión y la versión anterior instalada kubelet y kubectl consistente
kubeadm de inicio de impresión config -defaults> kubeadm-config.yaml

kubeadm.k8s.io/v1beta2: apiVersion
bootstrapTokens:
- Grupos:
  - Sistema: bootstrappers: kubeadm: default-nodo-token
  token: abcdef.0123456789abcdef
  TTL: 24h0m0s
  usos:
  - Firma
  - autenticación
tipo: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.23.100 #MASTER的ip
  bindport: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  k8smaster: nombre de
  corrupciones:
  - efecto: NoSchedule
    clave: node-role.kubernetes.io/master
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm .k8s.io / v1beta2
certificatesDir: / etc / Kubernetes / PKI
la clusterName: Kubernetes
ControllerManager: {}
DNS:
  Tipo: CoreDNS
ETCD:
  Local:
    DataDir: / var / lib / ETCD
imageRepository: # 192.168.23.100:5000 local privada repositorio de
tipo: ClusterConfiguration
kubernetesVersion: V1. instalar la versión 15.1 # K8S
redes:
  DnsDomain: cluster.local
  podSubnet: 10.244.0.0/16 # declaración de la vaina de los cuales segmento [Nota que debe agregar a este contenido] Por defecto vamos a instalar una red plug-flnode para lograr una cobertura red, sus segmentos de vaina predeterminada en la red un ejemplo, si la red es inconsistente, entonces tenemos que entrar en la vaina tarde una modificación
  serviceSubnet: 10.96.0.0/12
planificador: {}
--- # el modo de programación predeterminada IPVS modo de planificación a
apiVersion: kubeproxy.config.k8s.io/v1alpha1
tipo: KubeProxyConfiguration
featureGates:
 SupportIPVSProxyMode: cierto
modo: IPVS

 

kubeadm-config.yaml despliegue composición Descripción:
InitConfiguration: se utiliza para definir la configuración inicial, tal como la inicialización de símbolo y utiliza la dirección apiserver
ClusterConfiguration: utilizado para definir apiserver, ETCD, red, planificador, controlador-manager elementos de configuración y otros componentes relacionados maestro
KubeletConfiguration : se utiliza para definir los elementos de configuración de componentes kubelet relacionados
KubeProxyConfiguration: utilizado para definir componentes relacionados kube-proxy elementos de configuración
se puede ver en el archivo kubeadm-config.yaml predeterminada sólo InitConfiguration, ClusterConfiguration dos partes. Podemos generar operación de archivo ejemplar adicional por dos partes:

# Generadora de archivo Ejemplar KubeletConfiguration 
kubeadm config imprimir init-defaults --component- configuraciones KubeletConfiguration

# Generadora de archivo Ejemplar KubeProxyConfiguration 
kubeadm config imprimir init-defaults --component- configuraciones KubeProxyConfiguration
 

# Yaml archivo usando la instalación inicial especificada emitir automáticamente el certificado (apoyo después 1,13) toda la información que se escribe en el kubeadm-init.log en
kubeadm init = --config kubeadm-config.yaml --upload -certs | camiseta kubeadm -init.log
--experimental la carga-certs-ha sido abandonado, las recomendadas --upload-certs oficiales alternativa, el anuncio oficial: https: //v1-15.docs.kubernetes.io/docs/setup/release/notes /         

[Init] el uso de Kubernetes Versión: v1.15.1    # instalación de registro comienza a decirnos Kubernetes versión
[Comprobación preliminar] Ejecución de comprobación previa de Cheques   # detectan el entorno operativo actual
[Comprobación preliminar] Tirando ImagesRF Libres de Derechos requerido para la creación de un Cluster Kubernetes  # cluster es K8S Descargar espejo
[Comprobación preliminar] esto puede tardar un minuto o dos, dependiendo de la velocidad de su conexión a Internet
[Comprobación preliminar] por Puede también llevan a cabo la presente acción de antemano las usando 'config kubeadm Imágenes tirar'  imagen de instalación # comienzan
[kubelet-START] kubelet escritura archivo con banderas para el medio ambiente "/var/lib/kubelet/kubeadm-flags.env archivo" # en archivos /var/lib/kubelet/kubeadm-flags.env almacenan las variables de entorno kubelet
[kubelet-START] escritura kubelet configuración de archivo "/var/lib/kubelet/config.yaml"# /Var/lib/kubelet/config.yaml archivo almacenado en el archivo de configuración kubelet
[kubelet-Start] Activación de la kubelet-Service
[CERT] certificateDir el uso de la carpeta "/ etc / kubernetes / PKI"  # / etc / kubernetes / PKI directorio contiene todos los certificados usados como K8S K8S usando C http desarrollo del protocolo / S estructura, se tiene en cuenta para la seguridad que se utiliza cuando todos los componentes se comunican con https esquema de autenticación de dos vías, por lo K8S requiere una gran cantidad de certificados y claves privadas CE
[CERT] Generación "ETCD / CA" y el certificado de clave
[CERT] Generación "ETCD / Healthcheck-Cliente" y certificado de clave
[CERT] Generación "apiserver-Client-ETCD" certificado y clave
[CERT] Generación "ETCD / Use el peer" y certificado de clave
[CERT] ETCD / Sirviendo CERT está firmado uso del par de los nombres DNS [k8smaster localhost] IPs y [127.0.0.1 :: 192.168.23.100. 1]
[CERT] Generación "ETCD / servidor "certificado y la clave
[CERT] / servidor que sirve cert se firma por los nombres DNS [k8smaster localhost] y [IP 192.168.23.100 127.0.0.1 :: 1] ETCD
[CERT] Generación "ca" certificado y la clave
[CERT] Generación "apiserver" certificado y la clave
[CERT] apiserver cert servir se firma por los nombres DNS [k8smaster kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] y [IP 10.96.0.1 192.168.23.100] #配置DNS以及当前默认的域名【SVC (servicio)的默认名称】
[CERT] Generación "apiserver-kubelet-cliente" certificado y la clave  #生成K8S组件的密钥
[CERT] Generación de un certificado "front-proxy-ca" y la tecla
[CERT] Generación "frente "certificado y la clave -proxy-cliente
Generación [CERT] 'llave sa' y la clave pública
[kubeconfig] Usando kubeconfig "/ etc / kubernetes" carpeta  #文件在/ etc / kubernetes目录下生成K8S组件的配置
[kubeconfig] "admin.conf" archivo de escritura kubeconfig
[kubeconfig] Escritura "kubelet.conf" archivo kubeconfig
[kubeconfig ] "controlador-manager.conf" archivo kubeconfig Escritura
[kubeconfig] Escritura "scheduler.conf" archivo kubeconfig
[plano de control] Usando la carpeta manifiesto "/ etc / Kubernetes / manifiestos"
[plano de control] La creación estática Pod manifiesto para "kube -apiserver "
[plano de control] Creación estática Pod manifiesto para "kube-controlador-manager"
[plano de control] Creación estática Pod manifiesto para "kube-planificador"
[ETCD] Creación estática Pod manifiesto para ETCD local en"/ Etc / kubernetes / manifiestos "
[esperar plano de control] en espera para la kubelet para arrancar el plano de control como vainas estáticas desde el directorio "/ etc / Kubernetes / manifiestos". Esto puede tardar hasta 4m0s
[apiclient] Todos los componentes del plano de control son saludables después 29.006263 segundos
[upload-Config] Almacenamiento de la configuración utilizada en configMap "kubeadm-config" en el "Kube-sistema" Espacio de nombres
[kubelet] Creación de una configMap "kubelet -config-1.15" en el espacio de nombres Kube-sistema con la configuración de los kubelets en el cluster
[upload-CERT] el almacenamiento de los certificados en secreto 'kubeadm-certs' en el 'sistema' kube Espacio de nombres
[de carga-certs] el uso de certificados de clave :
7daa5684ae8ff1835af697c3b3bd017c471adcf8bb7b28eee7e521b03694ef8c
[marca-de plano de control] Marcando el k8smaster nodo como plano de control mediante la adición de la etiqueta "node-role.kubernetes.io/master= ''"
[marca-de plano de control] Marcando el k8smaster nodo como plano de control mediante la adición de las corrupciones [node-role.kubernetes.io/master:NoSchedule]
[bootstrap-token] Usando token: abcdef.0123456789abcdef
[bootstrap-token] Configuración de bootstrap tokens, cluster-info configMap, Roles RBAC #RBAC授权
[bootstrap-token] configurado RBAC reglas para permitir nodo Bootstrap fichas para publicar CSR a fin de que los nodos para obtener credenciales de certificados a largo plazo
reglas RBAC configurados [bootstrap-Token] para permitir que el controlador csrapprover aprobar automáticamente CSR desde un nodo Bootstrap Token
reglas de RBAC configurados [arranque token] para permitir la rotación certificado para todos los certificados de cliente de nodo en el cluster
[arranque token] Creación del "cluster-info" configMap en los "Kube-pública" espacio de nombres
[complementos] Aplicada complemento esencial: CoreDNS
[ complementos] Aplicada complemento esencial: Kube-proxy

El plano de control tiene Kubernetes Su inicializado correctamente!  # Inicialización exitosa

Para empezar a utilizar el clúster, debe ejecutar el siguiente como un usuario normal:

  mkdir -p $ HOME / .kube
  sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
  sudo chown $ (-u id): $ (id -g) $ HOME / .kube / config

Ahora debería desplegar una red de vaina al clúster.
Ejecutar "kubectl aplicar -f [podnetwork] .yaml" con una de las opciones que figuran en:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

A continuación, puede unirse a cualquier número de nodos de trabajo mediante la ejecución del siguiente en cada como root:

kubeadm unen 192.168.23.100:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash SHA256: dda2582a61959ec547f8156288a32fe2b1d04febeca03476ebd1b3a754244588 


命令直接初始化: kubeadm init --kubernetes-version = 1.15.1 --pod-red-cidr = 10.244.0.0 / 16 --apiserver-publicidad-address = 192.168.23.100 --ignore-pre-vuelo-errors = NumCPU --image-repositorio = 192.168.23.100: 5000

 

componente de adquisición del estado de salud
[el k8smaster root @ ~] # kubectl GET CS
ERROR Estado del MENSAJE NOMBRE
Controlador-Manager saludable OK                  
Programador saludable OK                  
ETCD-0 {saludable "salud": "true"}   
[k8smaster la raíz @ ~] # 

Ver información del nodo
[root @ k8smaster ~] # kubectl el Nodo GET
EDAD NOMBRE Estado los papeles VERSIÓN
k8smaster NotReady Maestro 10H v1.15.1
[root @ k8smaster ~] # 
Aquí el estado no está listo, porque no existe una red plug-ins, como la dirección de franela https :. / /github.com/coreos/flannel puede comprobar proyectos relacionados con la franela en github, y ejecutar el siguiente comando para instalar automáticamente franela


Ejecute los siguientes comandos, obtener el estado de todos los sistemas que operan actualmente en la vaina, Kube-sistema de espacio de nombres designados, vaina a nivel de sistema, el comando siguiente
[@ k8smaster la raíz ~] # kubectl GET VAINAS -n-Sistema Kube
NOMBRE LISTO reinicios de AGE Estado
coredns 75b6d67b6d-11H-9zznq 0/1 la Pendiente 0
coredns 75b6d67b6d-11H-r2hkz 0/1 la Pendiente 0
ETCD-k8smaster 1/1 0 10H Correr
Kube apiserver-10H-k8smaster 1/1 0 Correr
Kube-Controller-Manager correr 10H 1/1 0 -k8smaster
Kube Proxy-11H-5nrvf 1/1 0 corriendo
Kube Programador-10H-k8smaster 1/1 0 corriendo
[k8smaster la raíz @ ~] #        

Ejecute los siguientes comandos, obtener espacio de nombres actual sistema
[la raíz @ k8smaster ~] # kubectl GET NS
NOMBRE Estado de AGE
por defecto la 11H activo
Kube-Nodo-arrendamiento del 11H activo
Kube-pública la 11H activo
Kube-Sistema de la 11H activa
[la raíz @ k8smaster ~] #

6, instale la tapa de la red de franela

(1) Los archivos descargados de franela yaml
[root @ k8smaster ~] # después de wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml descarga, modificar la imagen duplicada local (de una empresa privada almacén de descarga, quay.io modificado como 192.168.23.100:5000)

(2) crear franela
kubectl Crear -f Kube-flannel.yml
[root @ k8smaster [root @ vista de franela sido desplegado con éxito en los componentes del sistema por defecto [namespace-sistema Kube], utilizando la misma ip addr puede ver franela prueba k8smaster ] # kubectl GET Kube -n-POD Sistema
NOMBRE reinicia el estado READY de edad
coredns-75b6d67b6d-9hmmd 1/1 0 Operando 131m
coredns-75b6d67b6d-rf2q5 1/1 0 Correr 131m
ETCD-k8smaster 1/1 0 Correr 130m
Kube-apiserver- correr 130m 1/1 0 k8smaster
Kube-controlador-Manager-k8smaster 1/1 0 130m corriendo
Kube-franela-DS-0 funcionando AMD64-101M kvffl 1/1
Kube-franela-ds-amd64-trjfx 1/1 Correr 105m 0
Kube-proxy-5zkhj 1/1 Correr 131m 0
Kube-proxy-h2r8g 1/1 Correr 101m 0
Kube-planificador-k8smaster 1/1 Correr 130m 0
[root @ test k8smaster] #

[Prueba de k8smaster root @] # ip addr
8: flannel.1: <difusión, multidifusión> MTU 1450 qdisc noqueue estado predeterminado grupo ABAJO 
    enlace / éter 06: 18: 40: 93: ec: ff brd FF: FF: FF: FF FF: FF:


[root @ k8smaster ~] # kubectl get nodo #nodo状态为Listo
NOMBRE FUNCIONES DE ESTADO DE EDAD VERSIÓN
k8smaster   Listo     v1.15.1 134m maestro

7, se añade el nodo hijo a las K8S K8S nodo maestro
en la máquina de nodo que ejecuta los comandos siguientes (en las operaciones de búsqueda kubeadm-init.log)
kubeadm la Únete 192.168.23.100:6443 --token abcdef.0123456789abcdef --discovery-token-CA-CERT el hash sha256: dda2582a61959ec547f8156288a32fe2b1d04febeca03476ebd1b3a754244588

[root @ k8snode01 registro] # kubeadm unirse a 192.168.23.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash SHA256: dda2582a61959ec547f8156288a32fe2b1d04febeca03476ebd1b3a754244588
[verificación previa] Ejecución de comprobaciones previas
    [SystemVerification ADVERTENCIA]: esta versión del estibador no está en la lista de las versiones validadas: 19.03.5. La última versión validada: 18.09
[verificación previa] configuración de lectura de la agrupación ...
[antes del vuelo] Para su información: Usted puede mirar en el archivo de configuración con 'kubectl -n Kube-get system-config cm kubeadm -oyaml'
[kubelet-start] Descarga configuración para el kubelet de la "kubelet-config-1.15" configMap en el espacio de nombres del sistema kube
[kubelet-START] configuración kubelet escribir en el archivo "/var/lib/kubelet/config.yaml"
[Kubelet Inicio] archivo de entorno kubelet escritura con banderas al archivo "/var/lib/kubelet/kubeadm-flags.env"
[kubelet Inicio] Activación del servicio kubelet
[kubelet Inicio] en espera para la kubelet para llevar a cabo el TLS Bootstrap ...

Este nodo se ha unido al grupo:
* Certificado de solicitud de firma fue enviado a apiserver y fue recibido respuesta.
* El Kubelet fue informado de los nuevos detalles de conexión segura.

Ejecutar 'kubectl get nodos' en el plano de control para ver este nodo unirse al clúster.

[root @ k8snode01 registro] #
[root @ k8snode01 registro] # imágenes ventana acoplable
TAG repositorio de imágenes Identificación TAMAÑO CREADO
v1.15.1 192.168.23.100:5000/kube-proxy 89a062da739d 6 meses Hace 82.4MB
192.168.23.100:5000/coreos/flannel v0 hace .11.0-amd64 ff281650a721 12 meses 52.5MB
192.168.23.100:5000/pause 3.1 da86e6ba6ca1 2 años atrás 742KB
[root @ k8snode01 de registro] # docker ps
imagen Envase identificador de comando CREADO PUERTOS DE ESTADO NOMBRES
ba9d285b313f ff281650a721 "/ opt / bin / flanneld - ..." Alrededor de un minuto atrás hasta alrededor de un minuto k8s_kube-flannel_kube-franela-ds-amd64-kvffl_kube system_f7f3aa12-fd16-41fa-a577-559156d545d0_0
677fe835f591 192.168.23.100:5000/kube- proxy "/ usr / local / bin / kube ..." Alrededor de un minuto hace alrededor de un minuto k8s_kube-proxy_kube-proxy-h2r8g_kube-system_a13b5efa-3e14-40e2-b109-7f067ba6ad82_0
/ pausa 357321f007c9 192.168.23.100:5000/pause:3.1" "Alrededor de un minuto hace alrededor de un minuto k8s_POD_kube-proxy-h2r8g_kube-system_a13b5efa-3e14-40e2-b109-7f067ba6ad82_0
01ab31239bfd 192.168.23.100:5000/pause:3.1 "/ pausa" Alrededor de un minuto atrás hasta alrededor de un minuto k8s_POD_kube-franela-ds-amd64-kvffl_kube system_f7f3aa12-fd16-41fa-a577-559156d545d0_0
[root @ k8snode01 registro] #


[root @ k8smaster ~] # kubectl get nodo #nodo已经加入集群
FUNCIONES DE ESTADO NOMBRE EDAD VERSIÓN
k8smaster Listo principal 134m v1.15.1
k8snode01 Listo <ninguno> 103m v1.15.1
[root @ k8smaster ~] # 

8, los problemas de instalación
(1) para sacar el problema espejo
tirón reflejado desde quay.io y gcr.io, red de acceso está bloqueado en el hogar. Puede ser reemplazado quay-mirror.qiniu.com y registry.aliyuncs.com, jugando etiqueta y la etiqueta de retratamiento

(2) no /var/lib/kubelet/config.yaml se encuentra el error puede ser ignorada, cuando el kubeadm init se generará automáticamente
en / var / log / registro de mensajes de error se produce lo siguiente:
En Feb. 11 05:17:44 k8smaster kubelet: F0211 05: 17: 44.750462 server.go 1547 : 198] no se pudo cargar el archivo de configuración Kubelet /var/lib/kubelet/config.yaml, el error no ha podido leer el archivo de configuración kubelet "/var/lib/kubelet/config.yaml", error: Abrir /var/lib/kubelet/config.yaml: No existe el archivo o directorio

(3) la memoria de la máquina virtual y fallo de la CPU hace que la instalación se establece demasiado pequeño
en el registro de error / var / log / mensajes de los siguientes:
En Feb. 11 05:24:44 k8smaster kubelet: E0211 05: 24: 44.762078 eviction_manager.go 2876: 247] desalojo Manager: Error de la GET para las estadísticas de resumen: Error de la GET a la información de nodo: el nodo "k8smaster" no se ha encontrado
suficiente memoria, se recomienda 2G de memoria.
 

Publicado 60 artículos originales · alabanza ganado 20 · vistas 4572

Supongo que te gusta

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