Skip to content

Laboratorio: Instalación Rancher Kubernetes Engine (RKE)

Descripción

RKE se ejecuta en casi cualquier sistema operativo Linux con Docker instalado, el siguiente laboratorio aborda la instalación de Rancher Kubernetes Engine para cluster de aplicaciones de usuarios.

Objetivos

  • Realizar la instalación Rancher Kubernetes Engine (RKE)

Antes de comenzar

  • Contar con el acceso al ambiente de laboratorio
  • Haber realizado los laboratorios de Proceso de Instalación Rancher Kubernetes Engine (RKE) y Instalación Rancher Server
  • Dirección IP de los servidores student-#-master y student-#-worker
  • Usuario de Instalación, para este laboratorio se esta utilizando el usuario llamado rke

Inicio del Laboratorio

  1. Generar el archivo de instalación y configuración del cluster de Rancher Kubernetes Engine (RKE) en servidor student-#-aio
    mkdir -p ~/rke-cluster-users
    cd ~/rke-cluster-users/
    vi cluster.yml
    
    Puede revisar el siguiente ejemplo para generar su propio archivo:
    ssh_key_path: ~/.ssh/id_rsa
    nodes:
    - address: student-X-master
      port: 22
      internal_address: xxx.xxx.x.x
      role:
      - controlplane
      - etcd
      hostname_override: ""
      user: rke
      labels: {}
      taints: []
    - address: student-X-worker
      port: 22
      internal_address: xxx.xxx.x.x
      role:
      - worker
      hostname_override: ""
      user: rke
      labels:
        app: ingress
      taints: []
    services:
      kube-api:
        service_cluster_ip_range: 10.100.0.0/16
        secrets_encryption_config:
          enabled: true
        event_rate_limit:
          enabled: true
        always_pull_images: true
        extra_args:
          enable-admission-plugins: NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTol                                                                                                                                 erationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,NodeRestriction,Priority,Ta                                                                                                                                 intNodesByCondition,PersistentVolumeClaimResize,EventRateLimit
      kube-controller:
        cluster_cidr: 10.200.0.0/14
        service_cluster_ip_range: 10.100.0.0/16
      kubelet:
        cluster_domain: cluster.local
        cluster_dns_server: 10.100.0.10
        fail_swap_on: true
        generate_serving_certificate: true
        extra_args:
          system-reserved: "cpu=200m,memory=256Mi,ephemeral-storage=3Gi"
          kube-reserved: "cpu=200m,memory=256Mi,ephemeral-storage=3Gi"
          eviction-hard: "memory.available<256Mi,nodefs.available<3%"
    network:
      plugin: canal
      mtu: 0
      update_strategy: null
    authentication:
      strategy: x509
      sans: []
      webhook: null
    authorization:
      mode: rbac
      options: {}
    ignore_docker_version: false
    kubernetes_version: v1.26.8-rancher1-1
    cluster_name: srvcluster
    enable_cri_dockerd: true
    monitoring:
      provider: ""
      options: {}
      node_selector: {}
      update_strategy: null
      replicas: null
    restore:
      restore: false
      snapshot_name: ""
    dns: null
    ingress:
       provider: nginx
    
  2. Creación del cluster de Rancher Kubernetes Engine (RKE)
    rke up
    
  3. Verificar que la instalación finalice satisfactoriamente INFO[0000] Building Kubernetes cluster INFO[0000] [dialer] Setup tunnel for host [10.0.0.1] INFO[0000] [network] Deploying port listener containers INFO[0000] [network] Pulling image [alpine:latest] on host [10.0.0.1] ... INFO[0101] Finished building Kubernetes cluster successfully

  4. Revisar los archivos generados posterior a una instalación satisfactoria

    ls -ltr ~/rke-cluster-users/
    cat ~/rke-cluster-users/cluster.yml
    cat ~/rke-cluster-users/kube_config_cluster.yml
    cat ~/rke-cluster-users/cluster.rkestate
    

  5. Ingresar y revisar el cluster de Kubernetes utilizando el archivo kubeconfig
    export KUBECONFIG=~/rke-cluster-users/kube_config_cluster.yml
    
  6. Verifique que todos los servidores estan ejecutándose correctamente
    kubectl get nodes
    
  7. Verifique que todos los pods estan ejecutándose correctamente
    kubectl get pods -A