1. ca-certificates, gnupg, lsb-release三个包的解释。

ca-certificates:包含系统信任的根证书集合,用于验证 SSL/TLS 连接的安全性,确保网络通信中证书的合法性

gnupg:GNU 隐私卫士工具包,提供加密、数字签名和密钥管理功能,常用于验证软件包签名等安全操作

查看gpg版本

导入密匙并查寻

lsb-release:用于识别 Linux 系统发行版信息(如版本、名称)的工具,帮助软件适配不同 Linux 发行版环境

查看版本

生成docker软件源配置

查看生成的配置

2. docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin作用。

docker-ce:Docker 社区版引擎,核心组件,负责容器的创建、运行、管理等基础功能。

docker-ce-cli:Docker 命令行工具,提供用户与 Docker 引擎交互的命令接口(如docker run、docker ps)

containerd.io:容器运行时,负责容器的生命周期管理(如镜像拉取、容器启停),是 Docker 引擎的底层依赖。

docker-compose-plugin:Docker Compose 插件,支持通过 YAML 文件定义和管理多容器应用的部署与运行。

  3. K8s在1.2之后就不再支持docker,请解释对错。

错误。Kubernetes 1.24 及之后版本移除了对 Docker Engine 的直接支持,dockershim 组件移除

  4. 举例说明创建容器以及以交互方式访问容器的命令?

创建容器

交互方式访问容器

  5. 部署安装K8s为什么要关闭swap分区?

提高性能,保证节点资源调度的准确性,

  6. 解释br_netfilter。

是 Linux 内核模块,作用是

启用桥接网络中数据包的 iptables 过滤规则,确保容器网络通过桥接时,主机的防火墙规则能对容器流量生效。

是 Kubernetes 网络插件正常工作的必要依赖,保障网络策略和流量控制功能。

  7. 解释kubeadm, kubectl, kubelet。

kubeadm:Kubernetes 集群部署工具,用于快速初始化集群、添加节点、升级集群等操作,简化集群搭建流程。

kubectl:Kubernetes 命令行工具,用于与集群 API 服务器交互,实现资源创建、查看、管理等操作

kubelet:运行在每个节点的代理组件,负责维护容器生命周期,确保 Pod 按规格运行

  8. 详细说明K8s集群的创建过程。          

环境准备:所有节点关闭 swap、配置静态 IP、设置主机名与 hosts 解析、同步时间。

安装依赖:安装容器运行时(如 Containerd)、配置内核参数(开启 br_netfilter 等)。

安装组件:在所有节点安装 kubeadm、kubelet、kubectl。

初始化控制平面:在主节点执行kubeadm init,生成集群配置和加入命令。

配置网络插件:部署 Calico/Flannel 等网络插件,确保节点间网络互通。

添加工作节点:在工作节点执行主节点生成的kubeadm join命令,加入集群。

验证集群:通过kubectl get nodes确认所有节点状态为 Ready

  9. Calico网络插件在K8s集群的作用。

网络互通:为 Pod 分配唯一 IP,实现跨节点 Pod 间的网络通信。

网络策略:支持定义 Pod 间的访问控制规则,增强集群安全性。

BGP 路由:通过 BGP 协议动态分发路由信息,优化网络转发效率

  10. kube-apiserver, etcd, kube-controller-manager, kube-scheduler的作用。

kube-apiserver:集群统一入口,处理所有 API 请求,实现各组件间通信,是集群的 “大脑”。

etcd:分布式键值存储,保存集群所有资源的状态数据,为集群提供数据一致性保障。

kube-controller-manager:运行各类控制器进程,确保集群状态与期望一致。

kube-scheduler:负责 Pod 调度决策,根据节点资源、亲和性等规则,选择最优节点运行 Pod。

  11. kubelet, kube-proxy作用。

kubelet:运行在每个节点,监控 Pod 规格(通过 API 服务器),管理容器生命周期(启动、停止、重启),并向 API 服务器汇报节点和 Pod 状态。

kube-proxy:运行在每个节点的网络代理,维护节点上的网络规则(如 Service 转发规则),实现 Pod 与 Service 间的通信、负载均衡和外部访问

  12. 什么是K8s的namespace?

Namespace 是 Kubernetes 的资源隔离机制,用于在同一集群中划分多个虚拟 “子集群”,实现:

资源隔离:不同 Namespace 的资源(如 Pod、Service)逻辑隔离,避免命名冲突。

权限控制:可针对 Namespace 设置 RBAC 权限,限制用户操作范围。

资源配额:为 Namespace 分配 CPU、内存等资源配额,防止资源滥用

  13. 系统默认创建了哪几个namespace?

Kubernetes 默认创建 4 个 Namespace:

default:未指定 Namespace 时的默认命名空间。

kube-system:系统组件(如 kube-apiserver、etcd)所在的命名空间。

kube-public:公共资源所在命名空间,所有用户可访问(通常用于存储集群信息)。

kube-node-lease:用于节点租约(Lease)对象,实现节点心跳检测

  14. 请解释Pod是什么?

Pod 是 Kubernetes 的最小部署单元

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐