k8s问答题(二)
1.ca-certificates, gnupg, lsb-release三个包的解释。
答:ca-certificates是受信任的证书集合,用于验证连接的安全性; gnupg是开源的加密软件,对文件、邮件等内容进行加密;lsb-release是用于标识 Linux 系统的发行版信息提供发行版名称、版本号等;
2.docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin作用。
答:docker-ce是Docker 的核心,负责容器的创建、运行、管理等核心功能; docker-ce-cli提供用户与 Docker 引擎交互的命令行工具,在用户使用命令操作容器时,其会将命令转换为API请求发送给docker-ce执行;containerd.io负责容器的实际创建和运行,是 Docker 内核与操作系统之间的中间层;docker-compose-plugin是Docker的docker-compose插件,通过配置文件定义和管理多容器应用。
3.K8s在1.2之后就不再支持docker,请解释对错。
答:这句话不正确,Kubernetes 在1.2版本中移除了内置的dockershim组件(Docker 与 K8s 的直接适配层),但这并不意味着完全不支持 Docker,其通过cri-dockerd等第三方适配工具,Docker 仍可作为容器运行时与 K8s 协同工作。例如在集群部署中,可配置criSocket: unix:///run/cri-dockerd.sock实现Docker与K8s的集成。
4. 举例说明创建容器以及以交互方式访问容器的命令?
答:docker run [选项] 镜像 [命令] [参数],例如基于busybox镜像创建一个名为container1的容器,后台运行并执行休眠命令
docker run -d --name container1 busybox sh -c "sleep 3600"
docker exec -it 容器名称或ID shell命令,使用docker exec -it命令进入运行中的容器,与容器进行交互,例如进入container1容器:docker exec -it container1 /bin/sh
5. 部署安装K8s为什么要关闭swap分区?
在虚拟内存管理系统中,尽管 swap 可以在磁盘上增加系统的可用内存量,但在磁盘虚拟页面和内存页面交换过程中会带来额外的磁盘 I/O 负载,加之容器运行环境自身对磁盘的吞吐量有很高的需求,因此,swap 分区的使用会在高负载情况下导致 K8s 系统的整体性能下降并有可能导致应用程序的崩溃。
6.解释br_netfilter。
答:br_netfilter 是 Linux 内核的一个重要模块,使 iptables 规则能够在 Linux Bridges 上生效,它将桥接的流量转发至 iptables 链,实现网络层的过滤和转发功能。同时保障容器网络通信。
7. 解释kubeadm, kubectl, kubelet。
答:kubeadm是 Kubernetes 集群的初始化和管理工具,用于集群的搭建与维护;kubectl是 Kubernetes 的命令行工具,作为用户与集群交互的主要接口。通过 kubectl 可向集群 API 服务器发送指令,实现对集群资源的全生命周期管理;kubelet是运行在每个集群节点上的代理程序,负责维护节点上容器的生命周期。
