标签 Kubernetes 下的文章

Pod,它是 Kubernetes项目的原子调度单位,关于Pod最重要的一个事实是:它只是一个逻辑概念。也就是说,Kubernetes真正处理的,还是宿主机操作系统上 Linux 容器的Namespace和Cgroups,而并不存在一个所谓的 Pod 的边界或者隔离环境。

注意:

  • namespce: Linux 下资源隔离
  • cgroups: Control Groups(简称 CGroups)就是能够隔离宿主机器上的物理资源,例如 CPU、内存、磁盘 I/O 和网络带宽。每一个 CGroup 都是一组被相同的标准和参数限制的进程。

以下是关于一个pod创建的过程:

- 阅读剩余部分 -

什么是Service

将在集群中运行的应用通过同一个面向外界的端点公开出去,即使工作负载分散于多个后端也完全可行。

Kubernetes 中 Service 是 将运行在一个或一组 Pod 上的网络应用程序公开为网络服务的方法。

Kubernetes 中 Service 的一个关键目标是让你无需修改现有应用以使用某种不熟悉的服务发现机制。 你可以在 Pod 集合中运行代码,无论该代码是为云原生环境设计的,还是被容器化的老应用。 你可以使用 Service 让一组 Pod 可在网络上访问,这样客户端就能与之交互。

- 阅读剩余部分 -

注意事项:

  • 升级注意,不能跨版本升级,比如:
    1.19.x → 1.20.y——是可以的(其中y > x)
    1.19.x → 1.21.y——不可以【跨段了】(其中y > x)
    1.21.x→ 1.21.y——也可以(只要其中y > x)
    所以,如果需要跨大版本升级,必须多次逐步升级
  • 节点层面

    1、先升级master【如果有多master,需要一台一台升级】

    2、再升级worker【node】节点

  • 软件层面

    1、先升级kubeadm

    2、把节点执行drain操作

    3、升级各个组件【etcd,dns等】

    4、取消drain操作

    5、升级kubelet和kubectl

- 阅读剩余部分 -