ここでは、Alibaba Cloud Log Service を使用して、サーバーレス Kubernetes クラスター内のコンテナーの標準出力とログファイルを収集する方法について説明します。
YAML テンプレートを使用してログ収集を設定
- Container Service-Kubernetes の左側のナビゲーションウィンドウで、 をクリックします。 右上隅の [イメージによる作成] をクリックします。
- env フィールドに環境変数を指定して、ログ収集を設定します。 ログファイルを収集するには、volumeMounts フィールドと volumes フィールドも指定する必要があります。
次の例は、デプロイメントのログ収集を設定する方法を示しています。
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: alpine
name: alpine
spec:
replicas: 2
selector:
matchLabels:
app: alpine
template:
metadata:
labels:
app: alpine
spec:
containers:
- image: alpine
imagePullPolicy: Always
args:
- ping
- 127.0.0.1
name: alpine
env:
######### Specify environment variables ###########
- name: aliyun_logs_test-stdout
value: stdout
- name: aliyun_logs_catalina
value: /var/log/*.log
#################################
######### Configure volume mounting #######
volumeMounts:
- name: volume-sls
mountPath: /var/log
volumes:
- name: volumn-sls
emptyDir: {}
###############################
必要に応じて、次の設定を順番に指定します。
- 環境変数を指定してログ収集を設定します。 ログ収集に関するすべての環境変数は、プレフィックスとして
aliyun_logs_
がついている必要があります。 環境変数を次の形式で指定します。
- name: aliyun_logs_{Logstore name}
value: {log path}
前の例では、2 つの環境変数が指定されています。 aliyun_logs_test-stdout
環境変数は、コンテナーの標準出力を収集するために test-stdout という名前の Logsotre を作成するようシステムに指示します。
注 Logstore 名にはアンダースコア (_) を使用できません。 代わりにハイフン (-) を使用できます。
- 標準出力とは別にログファイルを収集するためのパスを指定する場合は、volumeMounts フィールドを追加する必要があります。
前の例では、volumeMounts フィールドが追加され、その値は /logであり、/log/*.log ファイルが収集されていることを示しています。
- YAML コードを入力したら、[作成] をクリックして、サーバーレス Kubernetes クラスターに設定を配布します。
デプロイが完了したら、対応するコマンドを実行してポッドのステータスを表示します。
NAME READY STATUS RESTARTS AGE IP NODE
alpine-76d978dbdd-gznk6 1/1 Running 0 21m 10.1.XX.XX viking-c619c41329e624975a7bb50527180****
alpine-76d978dbdd-vb9fv 1/1 Running 0 21m 10.1.XX.XX viking-c619c41329e624975a7bb50527180****
ログの表示
- インストールが正常に完了したら、Log Service コンソール にログインします。
- コンソールで、Kubernetes クラスターに対応するプロジェクト (デフォルトは、k8s-log-{Kubernetes cluster ID}) を選択します。
- Logstore リストで、ログ収集設定で指定された Logstore を見つけ、 をクリックし、ドロップダウンリストから [検索と分析] を選択します。
この例では、
test-stdout
Logstore を見つけ、
をクリックして、ドロップダウンリストから
[検索と分析] を選択します。 収集された ECI (Elastic Container Instance) の
standard output
を確認します。