云原生

云原生 - kubernetes(一)介绍、架构和安装部署

2024-03-19  本文已影响0人  今年五年级

一、基本介绍

1.1 kubernetes是什么

Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。K8s 这个缩写是因为 K 和 s 之间有 8 个字符的关系

kubernetes是Google 2014年开源的基于容器技术的可弹性运行分布式系统的框架,是一个大规模的容器编排系统,能够将我们所有运行的容器编排起来,Kubernetes 会满足你的扩展要求、故障转移你的应用、提供部署模式等

1.2 kubernetes可以做什么

Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。

Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。

你可以使用 Kubernetes 描述已部署容器的所需状态, 它可以以受控的速率将实际状态更改为期望状态。 例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。

你为 Kubernetes 提供许多节点组成的集群,在这个集群上运行容器化的任务。 你告诉 Kubernetes 每个容器需要多少 CPU 和内存 (RAM)。 Kubernetes 可以将这些容器按实际情况调度到你的节点上,以最佳方式利用你的资源。

Kubernetes 将重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器, 并且在准备好服务之前不将其通告给客户端。

Kubernetes 允许你存储和管理敏感信息,例如密码、OAuth 令牌和 SSH 密钥。 你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。

二、kubernetes架构

2.1 组件架构

组件架构

2.2 工作方式

三、kubernetes集群搭建

3.1 安装逻辑

假设是3节点的集群

  1. 给每个机器上分别装上docker和kubelet(必须)
  2. 给每个机器上安装kubectl和kubeadm(可选)
    一般master节点必须安装,用于给k8s发布命令,其他节点装上也装上无所谓
  3. 选择3个节点中的某个节点作为master节点,如下我们选择2号节点为主节点,则在2号节点上执行kubeadm init,该节点就变成了主节点master
  4. 然后master节点上的kubelet会自动去下载核心组件镜像如api-server,controller-manager,scheduler等,每个组件运行起来都是一个运行中的应用,就是一个容器
  5. 其他节点使用kubeadm,执行kubeadm join,加入集群
  6. 其他节点加入集群后,其他节点的kubelet,会去下载每个node所需要的组件镜像,如kube-proxy,并启动起来
安装逻辑
上一篇下一篇

猜你喜欢

热点阅读