Kmoon Blog

面试被问到 K8s 完全不会好尴尬

约 813 字 2 min

Reference:

背景

上次面试腾讯云智暑期实习一面,面试官突然问我有没有了解过 K8s,我只好说不太熟悉,并说熟悉 docker,但是面试官并没有继续追问,显然是对不熟悉 K8s 不满意,所以这次我们补齐一下 K8s 的相关知识。

什么是 K8s

K8s 原名 Kubernetes 是一组运行容器化应用程序的计算节点或工作机,是 Google 开源的一个工具。因为单词太长,将中间 8 个字母简化后统称 K8s。K8s 其实是应用服务和服务器之间的一层中间层,定位是可以帮助我们更方便的部署和运维应用服务,可以同时协调和管理多个应用服务。

传统的应用服务部署方式,需要我们先将代码上传到不同的服务器上,再在服务器配置所需环境,再配置 nginx 网关,最后启动服务。后续不管是扩容、还是更新都需要重新手动登录到服务器操作,非常容易出错,而且非常耗时间。

K8s 架构

K8s 的整体架构如下图所示,主要包括 control panel 控制平面和工作节点 Node 两部分,其中控制平面负责控制和管理各个 Node,Node 部分才是负责真正部署运行应用服务的,就像老板和打工人一样。

控制平面内部组件包括:

Node 内部组件包括:

Pod 是 Kubernetes 中的最小调度单元,一个 Pod 可由多个容器(Container)组成,单个节点(Node)上会运行多个 Pod。一套控制面搭配若干 Node 共同构成完整的 Kubernetes 集群(Cluster)。

一般生产环境会部署多个集群,比如生产环境集群、测试环境集群。同时为里暴露集群内部的服务给外部用户使用,通常会部署一个入口控制器 ingress。

Kubectl

K8s 为我们准备的一个命令行工具,可以通过命令去调用 API Server 提供的 API 服务。

#Kubernetes #K8s