Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
linux_faq:kubernetes_using_single_node_as_master_and_worker [2022/04/06 12:29] – [Cert manager] adminlinux_faq:kubernetes_using_single_node_as_master_and_worker [2022/04/28 10:22] – [Single node Kubernetes setup - Ubuntu 18.04] admin
Line 8: Line 8:
      
   echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' | sudo tee /etc/apt/sources.list.d/kubernetes.list   echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' | sudo tee /etc/apt/sources.list.d/kubernetes.list
-  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add +  ######### curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add 
-  +  gpg_key_url="https://packages.cloud.google.com/apt/doc/apt-key.gpg" 
 +  gpg_keyring_path="/etc/apt/trusted.gpg.d/kubernetes.gpg" 
 +  curl -fsSL "${gpg_key_url}" | gpg --dearmor | sudo tee -a ${gpg_keyring_path} 
 +   
   sudo apt-get update   sudo apt-get update
-  sudo apt-get install -y docker.io kubeadm kubelet+  #sudo apt-get install -y docker.io kubeadm kubelet 
 +  sudo apt-get install -y containerd kubeadm kubelet
      
-  # Setup Docker daemon. +  sudo mkdir -p /etc/containerd 
-  cat > /etc/docker/daemon.json <<EOF +  containerd config default | sudo tee /etc/containerd/config.toml 
-  { + 
-    "exec-opts": ["native.cgroupdriver=systemd"], +  ## Setup Docker daemon. 
-    "log-driver": "json-file", +  #cat > /etc/docker/daemon.json <<EOF 
-    "log-opts":+  #
-      "max-size": "100m" +  #  "exec-opts": ["native.cgroupdriver=systemd"], 
-    }, +  #  "log-driver": "json-file", 
-    "storage-driver": "overlay2" +  #  "log-opts":
-  } +  #    "max-size": "100m" 
-  EOF +  #  }, 
-   +  #  "storage-driver": "overlay2" 
-  sudo mkdir -p /etc/systemd/system/docker.service.d+  #
 +  #EOF
      
 +  #sudo mkdir -p /etc/systemd/system/docker.service.d
 +   
   # Enable services and restart docker.   # Enable services and restart docker.
-  sudo systemctl daemon-reload +  #sudo systemctl daemon-reload 
-  sudo systemctl enable docker +  #sudo systemctl enable docker 
-  sudo systemctl restart docker +  #sudo systemctl restart docker 
-  sudo systemctl enable kubelet.service+  #sudo systemctl enable kubelet.service
      
-  sudo usermod -a -G docker $USER+  #sudo usermod -a -G docker $USER
      
   # To ensure that kubelet starts only after docker:   # To ensure that kubelet starts only after docker:
 +  #cat << EOF | sudo tee /etc/systemd/system/kubelet.service.d/12-after-docker.conf
 +  #[Unit]
 +  #After=docker.service
 +  #EOF
 +   
   cat << EOF | sudo tee /etc/systemd/system/kubelet.service.d/12-after-docker.conf   cat << EOF | sudo tee /etc/systemd/system/kubelet.service.d/12-after-docker.conf
   [Unit]   [Unit]
-  After=docker.service+  After=containerd.service
   EOF   EOF
-    
   # Kubernetes Cluster Init    # Kubernetes Cluster Init 
   sudo kubeadm init --pod-network-cidr=10.244.0.0/16   sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Line 148: Line 159:
 Проверяем возможность апгрейда: Проверяем возможность апгрейда:
   sudo kubeadm upgrade plan   sudo kubeadm upgrade plan
-Если у нас хост с **containerd** (без **docker**), то нужно учесть, что **kubeadm** понадобится **docker** для получения **images**. Поэтому временно ставим его: +Если у нас хост с **containerd** (без **docker**), то нужно проверить, что параметр **kubeadm.alpha.kubernetes.io/cri-socket** указывает не на **docker-shim**, а на сокет **containerd**. У меня так: 
-  sudo apt-get install docker.io+  kubeadm.alpha.kubernetes.io/cri-socket: /run/containerd/containerd.sock 
 +если этого не сделать - будет ошибка, поскольку **kubeadm** возьмет эту запись и будет пытаться работать через docker, которого нет
 +  error execution phase preflight: docker is required for container runtime: exec: "docker": executable file not found in $PATH
 Обновляем: Обновляем:
   sudo kubeadm upgrade apply v1.20.9   sudo kubeadm upgrade apply v1.20.9
Line 377: Line 390:
     # Let's Encrypt will use this to contact you about expiring     # Let's Encrypt will use this to contact you about expiring
     # certificates, and issues related to your account.     # certificates, and issues related to your account.
-    email: m.usik@sdventures.com+    email: mike@autosys.tk
     server: https://acme-staging-v02.api.letsencrypt.org/directory     server: https://acme-staging-v02.api.letsencrypt.org/directory
     privateKeySecretRef:     privateKeySecretRef:
  • linux_faq/kubernetes_using_single_node_as_master_and_worker.txt
  • Last modified: 2024/04/22 12:38
  • by admin