目录
[33.简述 Kubernetes 外部如何访问集群内的服务?](#33.简述 Kubernetes 外部如何访问集群内的服务?)
[34.简述 Kubernetes ingress ?](#34.简述 Kubernetes ingress ?)
[35.简述 Kubernetes 镜像的下载策略?](#35.简述 Kubernetes 镜像的下载策略?)
33.简述 Kubernetes 外部如何访问集群内的服务?
(1)对于 Kubernetes,集群外的客户端默认情况,无法通过 Pod 的 IP 地址或者 Service 的虚拟 IP 地址:虚拟端口号进行访问。
(2)通常可以通过以下方式进行访问 Kubernetes 集群内的服务:
① 映射 Pod 到物理机:
将 Pod 端口号映射到宿主机,即在 Pod 中采用 hostPort方式,以使客户端应用能够通过物理机访问容器应用。
② 映射 Service 到物理机:
将 Service 端口号映射到宿主机,即在 Service 中采用 nodePort 方式,以使客户端应用能够通过物理机访问容器应用。
③ 映射 Sercie 到 LoadBalancer:
通过设置 LoadBalancer 映射到云服务商提供的 LoadBalancer 地址。这种用法仅用于在公有云服务提供商的云平台上设置 Service 的场景。
34.简述 Kubernetes ingress ?
-
Kubernetes 的Ingress 资源对象 ,用于将不同 URL 的访问请求转发到后端不同的 Service ,以实现HTTP 层的业务路由机制。
-
Kubernetes 使用了Ingress 策略和 Ingress Controller,两者结合并实现了一个完整的 Ingress 负载均衡器。
-
使用 Ingress 进行负载分发时,IngressController 基于 Ingress 规则将客户端请求直接转发到 Service 对应的后端 Endpoint(Pod)上,从而跳过 kube-proxy 的转发功能,kube-proxy 不再起作用,全过程为:ingresscontroller+ingress 规则 ----> services。
-
同时当 Ingress Controller 提供的是对外服务,则实际上实现的是边缘路由器的功能。
35.简述 Kubernetes 镜像的下载策略?
K8s 的镜像下载策略有三种:Always、Never、IFNotPresent 。
(1)Always 镜像下载策略:
镜像标签为 latest 时,总是从指定的仓库中获取镜像。
(2)Never 镜像下载策略:
禁止从仓库中下载镜像,也就是说只能使用本地镜像。
(3)IfNotPresent 镜像下载策略:
-
仅当本地没有对应镜像时,才从目标仓库中下载。
-
默认的镜像下载策略是:
① 当镜像标签是 latest 时,默认策略是 Always。
② 当镜像标签是自定义时(也就是标签不是 latest),那么默认策略是 IfNotPresent。