连接到 Memcached 实例

本页介绍了如何连接到 Memorystore for Memcached 实例。您可以从 Compute Engine 虚拟机实例、Google Kubernetes Engine 集群、Cloud Functions 函数、App Engine 柔性环境和 App Engine 标准环境连接到 Memcached 实例。

在通过 Cloud Functions 访问 Memorystore 之前,您需要按照连接到 VPC 网络中的内部资源中的设置说明操作。

同样,使用 App Engine 标准环境访问 Memorystore 之前,您需要按照连接到 VPC 网络中的内部资源中的设置说明进行操作。

从 Compute Engine 虚拟机连接到 Memcached 实例

为了连接到 Memcached 实例,Compute Engine 虚拟机实例必须与 Memcached 实例位于同一项目和区域中,且必须连接到相同的网络或 VPC 网络。

  1. 连接到 Linux 虚拟机。如需了解连接到 Linux 虚拟机的步骤,请参阅快速入门:使用 Linux 虚拟机。如果您按照快速入门中的说明使用了基于 Debian 的映像创建虚拟机实例,请使用 apt-get 安装 telnet

    sudo apt-get install telnet
    
  2. 在终端窗口中,使用 telnet 命令建立其中一个 Memcached 节点的 IP 地址,并将 variables 替换为适当的值。

    telnet node-ip-address 11211
    

    如果它正常运行,您应该会看到以下输出,其中 [bracketed-variables] 已替换为您项目的变量:

    Trying [node-ip-address]
    Connected to [node-ip-address]
    
  3. 在 telnet 会话中,输入一些 Memcached 命令:

    输入:

    get greeting
    

    Result:

    END
    

    输入:

    set greeting 1 0 11
    hello world
    

    Result:

    STORED
    

    输入:

    get greeting
    

    Result:

    VALUE greeting 1 11
    hello world
    END
    

Memorystore for Memcached 支持标准开源 Memcached 库。

从 Google Kubernetes Engine 集群连接到 Memcached 实例

要连接到 Memcached 实例,您可以使用与实例位于同一区域并且连接到同一网络的 GKE 集群。

  1. 转到 GCP Console 中的 Google Kubernetes Engine 页面。
    Google Kubernetes Engine

  2. 点击要从其建立连接的 GKE 集群。如果您尚不具备集群,请在 Memcached 实例所在的地区和区域中创建启用了 IP 别名的集群。如需了解如何创建启用了 IP 别名的集群,请参阅创建 VPC 原生集群

  3. 点击集群名称右侧的连接按钮,然后点击所显示的窗口中的在 Cloud Shell 中运行按钮。

  4. 通过运行以下命令来配置 kubectl 命令行访问权限:

    gcloud beta container clusters get-credentials cluster-name --zone=cluster-zone --project=project-id
    
    • cluster-name 是集群的名称。

    • cluster-zone 是集群所在的地区。它还必须是 Memcached 实例所在的地区。

    • project-id 是您的集群和 Memcached 实例所在的项目。

    如果命令成功,您应该会收到以下消息:

    kubeconfig generated for cluster-name
    

    如果您没有收到此消息,请确保在命令中输入了正确的集群信息。

  5. 如果您的集群是版本 1.8 或更高版本启用了 IP 别名,请跳过此步骤。如果您的集群是版本 1.7 或更低版本,或者集群为版本 1.8 或更高版本但未启用 IP 别名,请在尝试连接到实例之前,按照以下解决方法步骤操作:

    解决方法

    运行以下三个命令,将 reserved-ip-range 替换为实例的预留 IP 范围:

    git clone https://github.com/bowei/k8s-custom-iptables.git
    
    cd k8s-custom-iptables/
    
    TARGETS="reserved-ip-range" ./install.sh
    
    gcloud beta memcache instances describe instance-id --region=region
    

    如需详细了解 IP 别名(包括如何创建启用了此设置的集群),请参阅创建 VPC 原生集群

  6. 使用以下命令连接到 bash shell:

    kubectl run -i --tty busybox --image=busybox -- sh
    
  7. 使用 telnet 通过某个节点的 IP 地址和实例的端口号连接到 Memacached 实例:

    telnet node-ip-address 11211
    
  8. 在 telnet 会话中,输入一些 Memcached 命令:

    输入:

    get greeting
    

    Result:

    END
    

    输入:

    set greeting 1 0 11
    hello world
    

    Result:

    STORED
    

    输入:

    get greeting
    

    Result:

    VALUE greeting 1 11
    hello world
    END
    

Memorystore for Memcached 支持标准开源 Memcached 库。

后续步骤