在 Amazon Elastic Kubernetes Service 中为缓存客户端创建发现服务
在 Amazon Elastic Kubernetes Service 集群外部,所有连接和通信都是基于静态 IP 的。但在集群内部,每个部署 Pod 在运行时都会分配一个客户端应用程序不知道的动态 IP 地址。
发现服务的目的是让这些客户端应用程序访问运行 NCache Elastic Kubernetes 集群内的服务。 这些 IP 地址依次被客户端应用程序用来创建缓存句柄并开始执行缓存操作。 因此,在部署实际客户端之前,您需要在 EKS 集群中创建此发现服务。
创建发现 Amazon Elastic Kubernetes 服务 YAML 文件
为 Amazon Elastic Kubernetes Service 集群创建无头发现服务的第一步是创建 YAML 文件。该文件包含客户端应用程序连接到该服务所需的信息。我们称这个文件为 缓存发现.yaml 这是它的样子:
备注
创建准备好部署的 YAML 文件所需的参数在 查看房源 表。
kind: Service
apiVersion: v1 # depends on underlying Kubernetes version
metadata:
name: cacheserver
labels:
app: cacheserver
spec:
clusterIP: None
selector:
app: ncache # same label as provided in the ncache deployment yaml
ports:
- name: management-tcp
port: 8250
targetPort: 8250
- name: management-http
port: 8251
targetPort: 8251
- name: client-port
port: 9800
targetPort: 9800
Tips:
clusterIP
tag 在这里设置为 none,这表明该服务不会分配任何公共 IP。 这个因素使这项服务成为无头服务。
在集群内创建发现服务
创建 YAML 文件后,您需要在 EKS 集群中部署此资源。 按照下面提到的步骤设置此发现服务。
创建 Amazon Elastic Kubernetes Service 集群用于与之通信的功能齐全的发现服务 NCache 缓存集群之外的客户端,请在 AWS 命令行界面中执行以下命令。
kubectl create -f [dir]/cachediscovery.yaml
要获取所有正在运行的服务的列表和状态,请执行以下命令:
kubectl get service
在创建无头发现服务后 NCache 客户,你需要 创建访问权限 NCache 管理,在下一章中解释。
参见
创建 NCache EKS 中的资源
创建访问权限 NCache EKS 中的管理
创建 NCache EKS 中的客户端
创建 NCache EKS 中的客户端部署