关于go:高频必考DockerK8S面试题和答案

4次阅读

共计 2332 个字符,预计需要花费 6 分钟才能阅读完成。

先送福利:Go 如何主动解压缩包?| 文末送书

Docker

如何在 Docker 容器外部拜访主机上的服务?

能够通过设置主机网络模式,应用 –net=host 参数来拜访主机上的服务。这样,容器和主机将共享一个网络命名空间,容器将能够间接拜访主机上的服务。

如何在 Docker 容器中运行多个过程?

Docker 举荐每个容器只运行一个过程。如果须要在容器中运行多个过程,能够应用 supervisord 等过程管理工具来治理多个过程。

如何在 Docker 容器中应用环境变量?

能够通过在 Dockerfile 中应用 ENV 指令定义环境变量,或者应用 docker run 命令的 - e 选项来设置环境变量。在容器外部,能够应用 $ENV_NAME 的形式来援用环境变量。

如何在 Docker 容器中共享数据?

能够应用 Docker 数据卷来共享数据。数据卷是一个能够被容器内外拜访的非凡目录,能够在 docker run 命令中应用 - v 选项来创立和挂载数据卷。

如何在 Docker 容器中装置和应用 ssh 服务?

能够在 Dockerfile 中装置 openssh-server,而后启动 sshd 服务。同时,须要在 docker run 命令中应用 - p 选项将容器外部的 22 端口映射到主机上的一个端口,以便能够通过 ssh 连贯到容器。

如何在 Docker 容器中应用多个镜像?

能够应用 Docker Compose 来组合多个镜像。在 Docker Compose 配置文件中,能够定义多个服务,每个服务对应一个镜像,而后应用 docker-compose up 命令来启动多个容器。

如何在 Docker 容器中运行 GUI 利用?

能够在 Dockerfile 中装置图形界面相干的软件包,而后应用 docker run 命令的 –env DISPLAY 选项来设置显示环境变量,再应用 –volume 选项将主机上的 X11 套接字文件挂载到容器外部。这样,就能够在容器中运行 GUI 利用了。

如何在 Docker 容器中限度 CPU 和内存应用?

能够应用 docker run 命令的 –cpu-shares 和 –memory 选项来限度 CPU 和内存应用。–cpu-shares 选项能够设置 CPU 工夫片的权重,–memory 选项能够设置容器可能应用的内存大小。

如何在 Docker 容器中设置时区?

能够在 Dockerfile 中装置 tzdata 软件包,而后应用 docker run 命令的 - e 选项设置 TZ 环境变量为所需时区,或者应用 –volume 选项将主机上的 /etc/localtime 文件挂载到容器外部的相应地位。

如何在 Docker 容器中实现容器间通信?

能够应用 Docker 网络来实现容器间通信。Docker 提供了多种网络模式,如默认的 bridge 网络、host 网络、overlay 网络等。能够应用 docker network 命令来创立和管理网络,并应用 –network 选项指定容器所属的网络。在同一个网络中的容器能够间接通过容器名或 IP 地址互相拜访。

kubernetes

什么是 Kubernetes?

Kubernetes 是一个用于主动部署、扩大和治理容器化应用程序的开源平台。它提供了一个可扩大的、高可用的集群,并蕴含了自动化部署、负载平衡、存储管理、自我修复、主动扩容等性能。

Kubernetes 中的 Pod 是什么?

Pod 是 Kubernetes 中最小的部署单元,它蕴含一个或多个严密耦合的容器和共享的存储 / 网络资源。Pod 提供了一种形象层,使得容器能够在同一个主机上共享文件系统、网络命名空间等资源。

Kubernetes 中的 ReplicaSet 是什么?

ReplicaSet 是一个用于治理 Pod 正本数量的控制器。它能够依据用户定义的正本数量,主动调整 Pod 的数量,以保障应用程序的高可用性。

Kubernetes 中的 Service 是什么?

Service 是 Kubernetes 中一个形象的逻辑概念,用于裸露 Pod 的网络服务。Service 能够将 Pod 的 IP 地址和端口映射到一个虚构的 IP 地址和端口上,从而实现了 Pod 的负载平衡和服务发现性能。

Kubernetes 中的 Deployment 是什么?

Deployment 是一个用于治理 Pod 部署的控制器。它能够主动创立和更新 Pod,以便放弃应用程序的可用性和可伸缩性。

Kubernetes 中的 ConfigMap 和 Secret 是什么?

ConfigMap 是一个用于存储应用程序配置信息的对象,能够通过环境变量、命令行参数等形式应用。Secret 是一个用于存储敏感信息(如明码、密钥等)的对象,能够加密存储。

Kubernetes 中的 DaemonSet 是什么?

DaemonSet 是一个用于在每个节点上运行一个 Pod 的控制器。它能够用于运行一些须要在每个节点上运行的零碎级别的服务,如日志收集、监控等。

Kubernetes 中的 StatefulSet 是什么?

StatefulSet 是一个用于治理有状态应用程序的控制器。它能够保障 Pod 的唯一性和有序性,从而实现有状态应用程序的可靠性。

Kubernetes 中的 HorizontalPodAutoscaler 是什么?

HorizontalPodAutoscaler 是一个用于主动扩大 Pod 数量的控制器。它能够依据应用程序的负载状况,主动调整 Pod 数量,以保障应用程序的性能和可用性。

Kubernetes 中的 CSI 是什么?

CSI(Container Storage Interface)是一个用于存储管理的标准接口,它能够让存储提供商为 Kubernetes 提供自定义的存储解决方案。CSI 能够让 Kubernetes 与不同的存储提供商进行集成,从而实现高度可定制化的存储管理。

一起学习

欢送大家关注我,点赞、留言、转发。

你的反对,是我更文的最大能源!

正文完
 0