2016-05-17 9 views
0

Kubernetes ServiceAccountプラグインを使用して、自動的にca.crtとトークンをポッドに注入します。これは、APIサーバーにアクセスする必要があるkube2skyなどのアプリケーションに役立ちます。KubernetesのいくつかのポッドでServiceAccountsを有効にする

しかし、私はこのトークンを必要としない何百もの他のポッドを走らせています。 ServiceAccountプラグインがこれらのポッドにデフォルトトークンを注入しないようにする方法はありますか(または、デフォルトではポッドを明示的に有効にしておきます)。

答えて

1

情報についてKubernetes Service Accounts documentation

apiVersion: v1 
kind: Pod 
metadata: 
    name: my-pod 
spec: 
    serviceAccountName: build-robot 
    automountServiceAccountToken: false 
    ... 
+1

ありがとう!更新しました。 –

1

一部のポッドではサービスアカウントを有効にする方法はありませんが、いくつかのサービスアカウントでABACを使用してAPserverへのアクセスを制限することはできます。

この問題はhttps://github.com/kubernetes/kubernetes/issues/16779で議論されています。この問題にあなたの使用方法を追加して、実装時期を確認することをおすすめします。 Kubernetesのよう

+0

おかげで述べたよう1.6+あなたが今、特定のポッドのためのAPIの資格情報を自動マウント無効にすることができます! ServiceAccountプラグインを無効にし、実際にそれらを必要とするいくつかのポッドのために自分自身を管理することは可能でしょうか? –

+1

はい。クラスタに有効な有効なクライアント資格情報(ベアラトークンまたはHTTP基本認証パスワード)を含むシークレットを作成できます。この秘密をapiアクセスが必要なポッドに追加し、他のポッドには資格がありません。デフォルトの "InClusterConfig"をそのまま使用するには(Go k8sクライアントライブラリを使用していると仮定します)、サービスアカウントの資格情報がマウントされている場所にシーク​​レットをマウントする必要があります。資格情報の特定の場所に頼らない場合は、ポッドのどこにでもマウントするだけで十分です。 –

+0

説明をありがとう! –

関連する問題