一、查看host文件

1
vim /etc/hosts

找到原本的服务器ip

二、更改网卡配置文件

centos、ubumtu、kali网卡配置文件不同,按不同方式配置即可。方法在其他笔记中

虚拟机网络调成仅主机后配置网络

三、启动kubelet服务

1
2
3
systemctl restart docker

systemctl restart kubelet

四、获得nodes信息

1
2
3
4
5
6
[root@master1 ~]# kubectl get nodes -o wide

NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master1 Ready master 150d v1.18.0 222.1.1.10 <none> CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://18.6.1
node1 Ready <none> 150d v1.18.0 222.1.1.11 <none> CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://18.6.1
node2 NotReady <none> 150d v1.18.0 222.1.1.12 <none> CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://18.6.1

五、kubelet简述

1. Pod:

  • 定义: Pod 是 Kubernetes 中最小的可部署单元。它可以包含一个或多个容器,这些容器共享网络、存储和命名空间。可以将 Pod 视为一个逻辑主机,其中的容器紧密耦合,共同完成一项任务。
  • 与 Kubelet 的关系: Kubelet 负责在节点上创建、启动、停止和监控 Pod。它接收 Pod 的规范 (PodSpec) 并确保 Pod 中的容器按预期运行。
  • 重要特性:
    • 共享网络: Pod 中的所有容器共享相同的 IP 地址和端口空间,可以互相直接通信。
    • 共享存储: Pod 可以定义 Volume,这些 Volume 可以被 Pod 中的所有容器共享。
    • 共同调度: Pod 中的所有容器总是在同一个节点上运行。
    • 短暂性: Pod 通常被设计为短暂的,可以根据需要创建和销毁。

2. Container:

  • 定义: 容器是 Pod 的组成部分,包含运行应用程序所需的代码、库、配置文件等。
  • 与 Kubelet 的关系: Kubelet 使用容器运行时 (CRI) 来管理容器的生命周期,例如 Docker、containerd 或 CRI-O。
  • 重要特性:
    • 隔离: 容器在一定程度上与其他容器和主机操作系统隔离。
    • 轻量级: 容器比虚拟机更轻量级,占用更少的资源。
    • 可移植性: 容器可以在不同的环境中运行,只要支持相同的容器运行时。

3. PodSpec:

  • 定义: PodSpec 是 YAML 或 JSON 格式的配置文件,定义了 Pod 的期望状态,包括要运行的容器、所需的资源、卷、网络设置等。
  • 与 Kubelet 的关系: Kubelet 从 API 服务器接收 PodSpec,并根据其中的定义创建和管理 Pod。

4. Container Runtime Interface (CRI):

  • 定义: CRI 是 Kubernetes 定义的一组 API,允许 Kubelet 与不同的容器运行时进行交互。
  • 与 Kubelet 的关系: Kubelet 使用 CRI 来管理容器,而无需关心底层使用的是哪个容器运行时。

5. cAdvisor:

  • 定义: cAdvisor 是一个用于收集容器资源使用情况和性能指标的工具。
  • 与 Kubelet 的关系: Kubelet 内置了 cAdvisor,用于监控容器的资源使用情况,并将这些信息报告给 API 服务器。

6. 静态 Pod (Static Pod):

  • 定义: 静态 Pod 是由 Kubelet 直接管理的 Pod,不通过 API 服务器。
  • 与 Kubelet 的关系: Kubelet 监控特定目录下的静态 Pod 配置文件,并负责它们的创建和管理。

7. node:

  • 定义:Node(节点)扮演着至关重要的角色。它们是 Kubernetes 集群中的工作机器,负责运行 Pod 和容器化应用。