ここでは、ネットワーク管理に関するよくある質問について説明します。

CCM バージョンが 1.9.3.10 以前の場合、SLB インスタンスの名前を変更するにはどうすればよいですか。

Cloud Controller Manager (CCM) バージョンが 1.9.3.10 より新しい場合、タグはクラスターで作成された SLB インスタンスに自動的にアタッチされるため、SLB インスタンスの名前を簡単に変更できます。 CCM 1.9.3.10 以前のバージョンでは、SLB インスタンスにタグを手動で追加する必要があります。
  • Cloud Controller Manager のバージョンが 1.9.3.10 以前の場合のみ、SLB インスタンスにタグを追加する必要があります。
  • サービスタイプは Loadbalancer です。
  1. Kubernetes クラスターのマスターノードにログインします。 詳細については、「kubectl を利用した Kubernetes クラスターへの接続」をご参照ください。
  2. # kubectl get svc -n ${namespace} ${service} コマンドを実行し、サービスタイプとサービスの IP アドレスを表示します。サービスタイプ
    ${namespace} と ${service} は、クラスターの名前空間とサービス名に、それぞれ置き換える必要があります。
  3. 次のコマンドを実行して、SLB インスタンスのタグを生成します。
    # kubectl get svc -n ${namespace} ${service} -o jsonpath="{.metadata.uid}"|awk -F "-" '{print "kubernetes.do.not.delete: "substr("a"$1$2$3$4$5,1,32)}'
    タグ
  4. Server Load Balancer コンソールにログインし、ターゲットリージョンを選択して、ステップ 2 で取得した IP アドレスに基づいて SLB インスタンスを探します。
  5. ステップ 3 で取得したキーと値に基づいて、SLB インスタンスにタグを追加します。 詳細については、「タグの追加」をご参照ください。

Terway または Flannel のどちらのネットワークプラグインを選択すればよいですか。

ここでは、Kubernetes クラスターを作成するときに Container Service によって提供されるネットワークプラグインを紹介します。

Container Service は、ネットワークプラグイン Terway および Flannel を提供しています。
  • Flannel:シンプルで安定したコンテナネットワークインターフェイス (CNI) プラグインで、コミュニティによって開発されています。 Flannel と Alibaba Cloud VPC と組み合わせると、クラスターに高性能で安定したコンテナネットワークを提供できます。 ただし、Flannel はいくつかの簡単な機能のみを提供し、標準の Kubernetes ネットワークポリシーはサポートしていません。
  • Terway:Alibaba Cloud Container Service の一部として開発されているネットワークプラグインです。 Terway は Flannel と完全に互換性があるため、Alibaba Cloud ENI をコンテナに割り当て、標準の Kubernetes ネットワークポリシーに基づいてコンテナー間のアクセスポリシーを定義できます。 さらに、Terway はコンテナーごとの帯域幅調整もサポートしています。 ネットワークポリシーを使用する必要がない場合は、ネットワークプラグインとして Flannel を選択できます。 その他の場合は、Terway の選択を推奨します。 Terway の詳細については、「Terway ネットワークプラグイン」をご参照ください。

手動で alicloud-application-controller をインストールするにはどうすればよいですか。

Kubernetes 1.10.4 以降のクラスターには、デフォルトで alicloud-application-controller がインストールされており、カスタムリソース定義 (CRD) に基づいたバッチリリースが有効になります。

Kubernetes の最新バージョンがインストールされたクラスターには、デフォルトで alicloud-application-controller がインストールされています。 Kubernetes のバージョンが 1.9.3 以降の場合、手動で alicloud-application-controller をインストールできます。
kubectl create -f alicloud-application-controller.yml コマンドを実行し、alicloud-application-controller をインストールします。 alicloud-application-controller.yml ファイルは次のように定義されています。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: alicloud-application-controller
  labels:
    owner: aliyun
    app: alicloud-application-controller
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      owner: aliyun
      app: alicloud-application-controller
  template:
    metadata:
      labels:
        owner: aliyun
        app: alicloud-application-controller
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ''
    spec:
      tolerations:
      - effect: NoSchedule
        operator: Exists
        key: node-role.kubernetes.io/master
      - effect: NoSchedule
        operator: Exists
        key: node.cloudprovider.kubernetes.io/uninitialized
      containers:
        - name: alicloud-application-controller
          image: registry.cn-hangzhou.aliyuncs.com/acs/aliyun-app-lifecycle-manager:0.1-c8d5da8
          imagePullPolicy: IfNotPresent
      serviceAccount: admin