Verbindung zu einer Memcache-Instanz herstellen

Auf dieser Seite wird erläutert, wie Sie eine Verbindung zu einer Memorystore for Memcached-Instanz herstellen. Sie können von Compute Engine-VM-Instanzen, Google Kubernetes Engine-Clustern, Cloud Functions, der flexiblen App Engine-Umgebung und der App Engine-Standardumgebung aus eine Verbindung zu Memcache-Instanzen herstellen.

Bevor Sie mit Cloud Functions auf Memorystore zugreifen können, müssen Sie die Einrichtungsanleitung unter Verbindung zu internen Ressourcen in einem VPC-Netzwerk herstellen ausführen.

Bevor Sie mit der App Engine-Standardumgebung auf Memorystore zugreifen können, müssen Sie außerdem der Einrichtungsanleitung unter Verbindung zu internen Ressourcen in einem VPC-Netzwerk herstellen folgen.

Verbindung zu einer Memcached-Instanz über eine Compute Engine-VM herstellen

Um eine Verbindung zu einer Memcached-Instanz herzustellen, muss sich eine Compute Engine VM-Instanz innerhalb desselben Projekts und derselben Region befinden und außerdem mit demselben Netzwerk oder VPC-Netzwerk wie die Memcached-Instanz verbunden sein.

  1. Verbindung zu einer Linux-VM herstellen: Eine Anleitung zum Herstellen einer Verbindung mit einer Linux-VM finden Sie unter Kurzanleitung: Linux-VM verwenden. Wenn Sie ein Debian-basiertes Image zum Erstellen Ihrer VM-Instanz wie in der Kurzanleitung beschrieben verwendet haben, installieren Sie telnet mit apt-get:

    sudo apt-get install telnet
    
  2. Stellen Sie über das Terminal eine Telnet-Verbindung zur IP-Adresse eines der Memcache-Knoten her und ersetzen Sie variables durch die entsprechenden Werte.

    telnet node-ip-address 11211
    

    Wenn es korrekt funktioniert, sollten Sie die folgende Ausgabe sehen, wobei [bracketed-variables] durch die Variablen Ihres Projekts ersetzt wird:

    Trying [node-ip-address]
    Connected to [node-ip-address]
    
  3. Geben Sie in der Telnet-Sitzung einige Memcache-Befehle ein:

    Geben Sie dazu Folgendes ein:

    get greeting
    

    Result:

    END
    

    Geben Sie dazu Folgendes ein:

    set greeting 1 0 11
    hello world
    

    Result:

    STORED
    

    Geben Sie dazu Folgendes ein:

    get greeting
    

    Result:

    VALUE greeting 1 11
    hello world
    END
    

Memorystore for Memcached unterstützt standardmäßige Open-Source-Memcache-Bibliotheken.

Verbindung zu einer Memcached-Instanz über einen Google Kubernetes Engine-Cluster herstellen

Sie können eine Verbindung zu Ihren Memcache-Instanzen mithilfe von GKE-Clustern herstellen, die sich in derselben Region befinden und mit demselben Netzwerk wie Ihre Instanz verbunden sind.

  1. Öffnen Sie in der GCP Console die Seite "Google Kubernetes Engine".
    Google Kubernetes Engine

  2. Klicken Sie auf den GKE-Cluster, über den Sie eine Verbindung herstellen möchten. Wenn Sie noch keinen Cluster haben, erstellen Sie einen in derselben Zone und Region wie Ihre Memcache-Instanz mit aktivierten IP-Aliassen. Eine Anleitung zum Erstellen eines Clusters mit aktivierten IP-Aliassen finden Sie unter VPC-native Cluster erstellen.

  3. Klicken Sie rechts neben dem Namen des Clusters auf die Schaltfläche Verbinden und dann auf In Cloud Shell ausführen.

  4. Konfigurieren Sie den Zugriff auf die kubectl-Befehlszeile mit dem folgenden Befehl:

    gcloud beta container clusters get-credentials cluster-name --zone=cluster-zone --project=project-id
    
    • cluster-name ist der Name des Clusters.

    • cluster-zone ist die Zone, in der sich der Cluster befindet. Dies muss auch die Zone sein, in der sich Ihre Memcache-Instanz befindet.

    • project-id ist das Projekt, in dem sich der Cluster und die Memcache-Instanz befinden.

    Wenn der Befehl erfolgreich ist, sollten Sie die folgende Nachricht erhalten:

    kubeconfig generated for cluster-name
    

    Wenn Sie diese Nachricht nicht erhalten, prüfen Sie, ob Sie die richtigen Clusterinformationen in den Befehl eingegeben haben.

  5. Wenn die Cluster-Version 1.8 oder höher ist und IP-Aliasse aktiviert sind, überspringen Sie diesen Schritt. Wenn Sie einen Cluster der Version 1.7 oder niedriger haben oder für Ihren Cluster der Version 1.8 oder höher keine IP-Aliasse aktiviert sind, führen Sie die folgenden Umgehungsschritte aus. Daraufhin können Sie versuchen, eine Verbindung zu Ihrer Instanz herzustellen.

    Problemumgehung

    Führen Sie die folgenden drei Befehle aus. Ersetzen Sie dabei reserved-ip-range durch den reservierten IP-Bereich der Instanz:

    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
    

    Weitere Informationen zu IP-Aliassen und zum Erstellen eines Clusters mit dieser Einstellung finden Sie unter VPC-nativen Cluster erstellen.

  6. Verwenden Sie den folgenden Befehl, um eine Verbindung zu einer Bash-Shell herzustellen:

    kubectl run -i --tty busybox --image=busybox -- sh
    
  7. Stellen Sie eine Telnet-Verbindung zu Ihrer Memacache-Instanz her, indem Sie eine der IP-Adressen Ihres Knotens und die Portnummer Ihrer Instanz verwenden:

    telnet node-ip-address 11211
    
  8. Geben Sie in der Telnet-Sitzung einige Memcache-Befehle ein:

    Geben Sie dazu Folgendes ein:

    get greeting
    

    Result:

    END
    

    Geben Sie dazu Folgendes ein:

    set greeting 1 0 11
    hello world
    

    Result:

    STORED
    

    Geben Sie dazu Folgendes ein:

    get greeting
    

    Result:

    VALUE greeting 1 11
    hello world
    END
    

Memorystore for Memcached unterstützt standardmäßige Open-Source-Memcache-Bibliotheken.

Nächste Schritte