kubernetes: recuerde usar kubeadm para crear un clúster de kubernetes v1.9.0
Objetivo: utilizar kubeadm para crear un clúster de kubernetes v1.9.0
Sistema operativo: Ubuntu 16.04.3
Ubuntu-001: 192.168.1.110
ubuntu-002: 192.168.1.106
Resumen de pasos:
1. Instalar Docker CE
2. Instalar kubeadm, kubectl, kubelet
3. Utilice kubeadm init para inicializar el clúster de kubernetes
4. Utilice kubeadm join para agregar nodos al clúster
Pasos específicos:
Instalar en Ubuntu 16.04 Docker CE (use apt-get para instalar)
#?paso?1:?¿Instalar algunas herramientas necesarias del sistema?
sudo?apt-get?update ?
sudo?apt-get?-y?install?apt-transport-mon?
#?step?2:?¿Instalar certificado GPG?
curl?-fsSL/ docker-ce/linux/ubuntu/gpg?|?sudo?apt-key?add?-?
#?Paso?3:?¿Escribir información de origen del software?
sudo ?add-apt-repository?"deb?[arch=amd64]?/docker-ce/linux/ubuntu?$(lsb_release?-cs)stable"?
#?Step? 4:?Actualizar e instalar ?Docker-CE?
sudo?apt-get?-y?update?
sudo?apt-get?-y?install?docker-ce ?
#?Instalar la versión especificada de Docker-CE:?
#?Paso?1:?Buscar la versión de Docker-CE:?
#?apt-cache? madison?docker-ce?
#docker-ce?|?17.03.1~ce-0~ubuntu-xenial?|?/docker-ce/linux/ubuntu?xenial /stable?amd64?Packages ?
#docker-ce?|?17.03.0~ce-0~ubuntu-xenial?|?/docker-ce/linux/ubuntu?xenial/stable?amd64? ¿Paquetes?
#?Paso?2: Instalar la versión especificada de Docker-CE: (¿VERSIÓN?Por ejemplo, 17.03.1~ce-0~ubuntu-xenial arriba).
#?sudo? apt-get?-y?install?docker-ce=[VERSIÓN]?
Instalar kubelet kubeadm y kubectl
Dado que Google está bloqueado en China, es imposible seguir la documentación oficial. Ahora agregue la fuente de aliyun para instalar kubelet kubeadm y kubectl con éxito.
#?paso?1: ¿Instalar algunas herramientas necesarias del sistema?
apt-get?update?amp;amp;?apt-get?install?-y?apt-transport - /kubernetes/apt/doc/apt-key.gpg?|?apt-key?add?-?
#?step?3: ¿Actualizar la información de origen del software?
cat ? lt;lt;?EOF?gt;/etc/apt/sources.list.d/kubernetes.list?
deb?/kubernetes/apt/?kubernetes-xenial?main?
EOF?
#?paso?4: ¿Actualizar e instalar kubelet?kubeadm?kubectl?
apt-get?update?
apt-get ? install?-y?kubelet?kubeadm?kubectl?
#?O instalar la versión especificada kubelet?kubeadm?kubectl?
apt-get?install?-y?kubelet=1.9 .6-00?kubeadm=1.9.6-00?kubectl=1.9.6-00?
#?step?5: ¿Configurar kubelet para que se inicie automáticamente e iniciar kubelet?
systemctl?enable?kubelet?amp;amp;?systemctl?start?kubelet?
Utilice kubeadm para inicializar el clúster de kubernetes
Si está en China, debe preparar cada imagen de Kubernetes por adelantado, específicamente Referencia: ¿Cómo obtener hábilmente imágenes de Kubernetes en China?
root@Ubuntu-001: ~#?kubeadm?init?--kubernetes-version=v1.9.0?--pod-network-cidr=10.244.0.0/16?
[init]?Usando?Kubernetesversión:?v1.9.0?
[init]?Usando?Modos de autorización:?[Nodo?RBAC]?
[verificación previa]?Ejecución de verificación previa ?verificaciones.?
?[ADVERTENCIA?Verificación del sistema]: ?la?versión?de?docker?es?mayor?que?la?versión?validadada?más?reciente.?Versión?de?Docker: ?17.12.0-ce.? ¿Max?versiónvalidada:?17.03?
?[ADVERTENCIA?FileExisting-crictl]:?crictl?¿no?encontrado?en?la ruta del sistema?
[verificación previa]?¿Iniciando?elkubelet? ¿servicio?
[certificados]?¿certificado?ca?y?clave.?
[certificados]?servidor?generado?y?clave.?
[certificados]?apiserverserving?cert?está?firmado?para?DNS?nombres?[ubuntu-001?kubernetes?kubernetes.defaultkubernetes.default.svc?kubernetes.default.svc.cluster.local]?e?IP?[10.96 .0.1192.168.1.110]?
[certificados]?Generatedapiserver-kubelet-client?certificado?y?clave.?
[certificados]?Generado?sakey?y?público ?clave.?
[certificados]?Generatedfront-proxy-ca?certificado?y?clave.?
[certificados]?Generatedfront-proxy-client?certificado?y?clave .?
[certificados]?Certificados y?claves válidos?ahora?exist?en?"/etc/kubernetes/pki"?
[kubeconfig]?Escribió?KubeConfigfile?to ?disk:?"admin.conf"?
[kubeconfig]?Wrote?KubeConfigfile?to?disk:?"kubelet.conf"?
[kubeconfig]?Wrote?KubeConfigfile ?al?disco:?"controller-manager.conf"?
[kubeconfig]?Escribió?KubeConfigfile?to?disk:?"scheduler.conf"?
[plano de control] ?Escribió?StaticPod?manifest?for?component?kube-apiserver?to"/etc/kubernetes/manifests/kube-apiserver.yaml"?
[plano de control]?Escribió?StaticPod?manifest?for? componente?kube-controller-manager?to?"/etc/kubernetes/manifests/kube-controller-manager.yaml"?
[plano de control]?Escribió?StaticPod?manifest?for?component?kube- Scheduler?to"/etc/kubernetes/manifests/kube-scheduler.yaml"?
[etcd]?Wrote?Static?Podmanifest?for?a?local?etcd?instance?to?"/etc /kubernetes/manifests/etcd.yaml"?
[init]?¿Esperando?que?elkubelet?arranque?el?control?pl
¿un?como?Pods?estáticos?del?directorio"/etc/kubernetes/manifests".?
[init]?Esto?podría?tomar?un?minuto?o?más?si?el?control? ¿Las?imágenes?del?avión?deben?ser?extraídas.?
[apiclient]?Todos?los?componentes?del?plano?de?control?están?en buen estado?después?38.006067?segundos?
[uploadconfig] ¿Almacenar la configuración utilizada en ConfigMap? kubeadm-config en el espacio de nombres del sistema kube.
[markmaster] ?agregando?una?etiqueta?y?una?corrección?
[markmaster]?Masterubuntu-001?corriente?y?etiquetada?con?clave/valor:node-role.kubernetes.io/ master=""?
¿[bootstraptoken]?Usando?token:3ef896.6fe4c166c546aa89?
¿[bootstraptoken]?Reglas RBAC configuradas?para?permitir?Node?Bootstrap?tokens?tokens? ¿Publicar CSR en orden para que los nodos obtengan credenciales de certificado a largo plazo?
¿[bootstratoken]?reglas RBAC configuradas para permitir que el controlador csrapprover automáticamente?
¿[bootstratoken]? ¿Creando? el "cluster-info"? ConfigMap? en? el? "kube-public"? espacio de nombres?
[complementos]?Applied?essentialaddon:?kube -dns?
[complementos]?Aplicado?essentialaddon:?kube-proxy?
¿Tu?Kubernetes?master?¿se ha inicializado?con éxito?
¿Para? comenzar?a?usar?su?clúster,?necesita?ejecutar?lo?siguiente?como?un?usuario?normal:?
?mkdir?-p?$HOME/.kube? p>
?sudo
?cp?-i?/etc/kubernetes/admin.conf$HOME/.kube/config?
?sudo?chown?$(id?-u):$(id?-g)$ HOME/.kube/config?
¿Deberías?ahora?implementar?una?podnetwork?en?el?clúster.?
¿Ejecutar?"kubectl?apply?-f[ podnetwork].yaml"?con?una?de?las?opciones?enumeradas?en:?
?/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml?
Una vez que la red pod se haya instalado correctamente, puede ejecutar:
kubectl?get?pods?--all-namespaces?-o?wide?
Utilice kubeadm join para unir el nodo Ubuntu-002 al clúster
Docker, kubeadm, kubectl y kubelet están instalados en el nodo Ubuntu-002 y la imagen de Kubernetes se ha extraído localmente.
De acuerdo con el comando kubeadm join finalmente generado por kubeadm init para unirse al clúster, agregue el nodo Ubuntu-002 al clúster para convertirse en un nodo
root@Ubuntu-002: ~#?kubeadm?join? --token?6aefa6.a55aba3998eda615?192.168.1.110:6443--discovery-token-ca-cert-hashsha256:87c51fa417666a61195d7540c965a164f1e504fe0339fc7c107e3 6b0b26e31a7 ?
[verificación previa]?¿Ejecutando comprobaciones previas al vuelo? .?
?[ADVERTENCIA?Verificación del sistema]: ?la?versión?de?docker?es?mayor?que?la?versión?validadada?más?reciente?.?Versión?de?docker:?17.12.0-ce.?Max? ¿Versión validada:?17.03? p>
?[ADVERTENCIA?FileExisting-crictl]:?crictl?¿no?encontrado?en?ruta del sistema?
[descubrimiento]?Intentando?conectarse ?API?Server?"192.168.1.110 :6443"?
[discovery]?Createdcluster-info?discovery?client,?solicitando?info?from"es/admin.conf?.?
kubectl?--kubeconfig ?./admin.conf?get?nodes?
Por ejemplo:
De lo contrario aparecerá
¿Eliminar? nodo ubuntu-002 del clúster
p>1. kubectl?drain?ubuntu-002?--delete-local-data?--force--ignore-daemonsets?--kubeconfig?./admin .conf?
2 , kubectl?delete?node?ubuntu-002?--kubeconfig?admin.conf?
3. kubeadm?reset?