Distributed Cloud コネクテッドのトラブルシューティング

Google は、Google Distributed Cloud に接続されたハードウェアをリモートでモニタリングし、メンテナンスします。このため、Google エンジニアは Distributed Cloud 接続ハードウェアへの Secure Shell(SSH)アクセス権を持っています。Google が問題を検出すると、Google のエンジニアからお客様に連絡して、トラブルシューティングと解決を行います。問題をご自身で特定した場合は、直ちに Google サポートにお問い合わせのうえ、診断と解決を依頼してください。

ネットワーク接続の切断

Distributed Cloud コネクテッド ハードウェアがGoogle Cloud との接続を失い、120 秒間接続が切断されたままになると、Distributed Cloud コネクテッド コントロール プレーンは影響を受ける Pod を「Not Ready」とマークし、Pod の強制排除を開始します。

これを軽減するには、Distributed Cloud 接続構成を計画し、選択した可用性レベルに合わせてワークロードを設計する必要があります。詳細については、可用性に関するベスト プラクティスをご覧ください。

VPN 接続で使用される Cloud Router リソースの BGP セッションが破損している

Distributed Cloud VPN 接続は、対応する Cloud Router リソースによって確立および管理される BGP セッションに依存して、Distributed Cloud 接続クラスタと Google Cloud間のルートをアドバタイズします。Distributed Cloud VPN 接続に関連付けられた Cloud Router リソースの構成を変更すると、その接続が機能しなくなる可能性があります。

影響を受ける Cloud Router で破損した BGP セッション構成を復元するには、次の操作を行います。

  1. Google Cloud コンソールで、破損した BGP セッションの名前を取得します。次に例を示します。

    INTERFACE=anthos-mcc-34987234
    
  2. 破損した BGP セッションのピア BGP と Cloud Router BGP の IP アドレス、および影響を受ける Distributed Cloud VPN 接続で使用されるピア ASN を取得します。次に例を示します。

    GDCE_BGP_IP=168.254.208.74
    CLOUD_ROUTER_BGP_IP=168.254.208.73
    PEER_ASN=65506
    

    BGP セッションを削除した場合は、代わりに Distributed Cloud 接続クラスタからこの情報を取得します。

    1. クラスタの認証情報を取得します。

      gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
        --location REGION \
        --project PROJECT_ID
      

      次のように置き換えます。

      • CLUSTER_ID: 対象とするクラスタの名前。
      • REGION: ターゲット クラスタが作成される Google Cloud リージョン。
      • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
    2. MultiClusterConnectivityConfig リソースの構成を取得します。

      kubectl get multiclusterconnectivityconfig -A
      

      このコマンドでは、次のような出力が返されます。

       NAMESPACE     NAME                   LOCAL ASN              PEER ASN
       kube-system   MultiClusterConfig1    65505                   65506
       ```
      
    3. ピアの BGP IP アドレス、Cloud Router の IP アドレス、BGP セッションの ASN を取得します。

      kubectl describe multiclusterconnectivityconfig -n kube-system MCC_CONFIG_NAME   
      

      MCC_CONFIG_NAME は、前の手順で取得した MultiClusterConfigResource の名前に置き換えます。

      このコマンドでは、次のような出力が返されます。

       ​​Spec:
       Asns:
         Peer:  65505
         Self:  65506 # GDCE ASN
       Tunnels:
         Ike Key:
           Name:       MCC_CONFIG_NAME-0
           Namespace:  kube-system
         Peer:
           Bgp IP:      169.254.208.73 # Cloud Router BGP IP
           Private IP:  34.157.98.148
           Public IP:   34.157.98.148
         Self:
           Bgp IP:      169.254.208.74 # GDCE BGP IP
           Private IP:  10.100.29.49
           Public IP:   208.117.254.68
       ```
      
  3. Google Cloud コンソールで、破損した VPN トンネルの名前、リージョン、Google Cloud プロジェクト名を取得します。次に例を示します。

    VPN_TUNNEL=VPNTunnel1
    REGION=US-East1
    VPC_PROJECT_ID=VPC-Project-1
    
  4. 破損した BGP セッションを Cloud Router の構成から削除します。

  5. 新しい Cloud Router インターフェースを作成します。

    gcloud compute routers add-interface --interface-name=INTERFACE_NAME \
       --vpn-tunnel=TUNNEL_NAME \ 
       --ip-address=ROUTER_BGP_IP \
       --project=VPC_PROJECT_ID \
       --region=REGION \      
       --mask-length=30
    

    次のように置き換えます。

    • INTERFACE_NAME: このインターフェースを一意に識別するわかりやすい名前。
    • TUNNEL_NAME: 前の手順で取得した VPN トンネルの名前。
    • ROUTER_BGP_IP: この手順の前半で取得した Cloud Router の BGP IP アドレス。
    • VPC_PROJECT_ID: ターゲット VPCGoogle Cloud プロジェクトの ID。
    • REGION: ターゲット VPC Google Cloud プロジェクトが作成された Google Cloud リージョン。
  6. BGP ピアを作成します。

    gcloud compute routers add-bgp-peer --interface=INTERFACE_NAME \
       --peer-name=TUNNEL_NAME \
       --region REGION \
       --project=VPC_PROJECT_ID \
       --peer-ip-address=GDCE_BGP_IP \
       --peer-asn=GDCE_BGP_ASN \
       --advertised-route-priority=100 \
       --advertisement-mode=DEFAULT
    

    次のように置き換えます。

    • INTERFACE_NAME: 前の手順で作成したインターフェースの名前。
    • TUNNEL_NAME: 前の手順でインターフェースの作成に使用した VPN トンネルの名前。
    • REGION: ターゲット VPC Google Cloud プロジェクトが作成される Google Cloud リージョン。
    • VPC_PROJECT_ID: ターゲット VPCGoogle Cloud プロジェクトの ID。
    • GDCE_BGP_IP: この手順で取得した Distributed Cloud ピアの BGP IP アドレス。
    • GDCE_BGP_ASN: この手順で先ほど取得した Distributed Cloud ピアの BGP ASN。

この時点で、BGP セッションが復元され、運用可能になります。

ノードが Ready,SchedulingDisabled 状態のままになる

NodeSystemConfigUpdate リソースまたは SriovNetworkNodePolicy リソースを適用または削除すると、ターゲット ノードが再起動する可能性があります。ノードが再起動すると、ステータスが NotReady または Scheduling Disabled に変わります。ノードが 30 分以上 Ready,SchedulingDisabled 状態のままになっている場合は、次の操作を行います。

  1. 対応する NodeSystemConfigUpdate リソースまたは SriovNetworkNodePolicy リソースの構成とステータスを確認します。SriovNetworkNodePolicy リソースが存在しない場合、ノードは SR-IOV をサポートしていません。

  2. リソース ステータスが Succeeded の場合は、次のコマンドを使用してノードでスケジューリングを有効にします。

    kubectl uncordon NODE_NAME.
    

    NODE_NAME は、ターゲット ノードの名前に置き換えます。

  3. 問題が解決しない場合は、Google サポートにお問い合わせください。