面试题答案
一键面试1. 环境准备
- 要点:确保服务器或本地开发环境安装好 Docker 和 Kubernetes,且版本兼容。确认网络设置正确,能正常拉取镜像和进行容器间通信。例如,Kubernetes 集群各节点网络需互通,Docker 配置正确的镜像源以加速镜像下载。
2. 配置中心代码开发与构建
- 编写 Spring Cloud Config 代码:
- 要点:配置好
bootstrap.properties
或bootstrap.yml
文件,指定配置仓库地址等关键配置。如配置 Git 仓库地址,确保访问权限正确,若仓库需认证,配置好用户名和密码或 SSH 密钥。
- 要点:配置好
- 构建镜像:
- 要点:编写合适的 Dockerfile。基础镜像选择合适版本,如基于 OpenJDK 镜像。设置好工作目录,将打包好的 Spring Cloud Config 项目文件复制到镜像中,并指定启动命令,如
java -jar your - app.jar
。
- 要点:编写合适的 Dockerfile。基础镜像选择合适版本,如基于 OpenJDK 镜像。设置好工作目录,将打包好的 Spring Cloud Config 项目文件复制到镜像中,并指定启动命令,如
3. 镜像推送
- 要点:登录镜像仓库,确保权限足够。选择合适的镜像标签,遵循镜像仓库命名规范。如 Docker Hub 上,标签通常遵循语义化版本号规则,推送过程中注意网络稳定性,避免推送中断。
4. 在 Kubernetes 中部署配置中心
- 编写 Kubernetes 部署文件(Deployment):
- 要点:设置好副本数,根据实际负载需求调整。指定镜像拉取策略,若镜像经常更新可设为
Always
,若不常更新可设为IfNotPresent
。配置资源限制和请求,如 CPU 和内存,防止资源过度使用或不足。
- 要点:设置好副本数,根据实际负载需求调整。指定镜像拉取策略,若镜像经常更新可设为
- 创建 Kubernetes 服务(Service):
- 要点:选择合适的服务类型,如
ClusterIP
用于集群内部通信,若需外部访问可选择NodePort
或LoadBalancer
。配置正确的端口映射,确保配置中心服务端口能被正确访问。
- 要点:选择合适的服务类型,如
5. 配置仓库设置与关联
- 要点:将 Spring Cloud Config 与配置仓库(如 Git)关联,确保连接信息准确。对于多环境配置,注意配置文件的命名规范和环境映射关系,如
application - {profile}.properties
,并保证仓库中配置文件权限设置正确,能被配置中心顺利读取。
6. 验证与监控
- 验证配置中心功能:
- 要点:通过客户端连接配置中心,检查是否能正确获取配置信息。测试不同环境配置切换,确保配置实时生效。
- 监控配置中心:
- 要点:利用 Kubernetes 的监控工具,如 Prometheus + Grafana,监控配置中心的资源使用情况、请求响应时间等指标。设置好告警规则,及时发现配置中心的性能问题或故障。