OCI Kubernetes Engine (OKE)では、OCI Logging のサービス・ログを設定することで、以下コントロールプレーンの各コンポーネントのログを取得できます。
ログ・カテゴリ | 概要 |
---|---|
All log sources | すべてのログソースを含むログカテゴリ |
kube-apiserver | Kubernetes API サーバのログ |
cloud-controller-manager | Kubernetes のクラウドコントローラーマネージャーのログ |
kube-controller-manager | Kubernetes のコントローラーマネージャーのログ |
kube-scheduler | Kubernetes のスケジューラーのログ |
表-01 ログ・カテゴリ
「All log sources」を取得する設定方法を見て行きましょう。
メニューから、「監視および管理」-「ログ」を選択します。
「サービス・ログの有効化」ボタンをクリックします。
以下の設定を行います。表-01で示した各コントロールプレーンのコンポーネントまたは全てのログをログ・カテゴリで選択できます。
設定項目 | 設定値 |
---|---|
サービス | Container Engine for Kubernetes |
リソース | 対象となるOKEクラスタ、ここでは cluster 1 を設定 |
ログ・カテゴリ | コントロールプレーンのコンポーネント、ここでは All log sources を設定 |
表-02 設定内容
最後に、「ログの有効化」ボタンをクリックします。
しばらくすると、アクティブになり利用可能となります。
試しに、cloud-controller-manager のログを出力させるために、「type: LoadBalancer」の Service object を削除して再作成してみます。
Service object を削除
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
backend-app ClusterIP 10.96.77.1 <none> 8081/TCP 11d
datasource-app ClusterIP 10.96.190.41 <none> 8080/TCP 11d
frontend-app LoadBalancer 10.96.210.77 xxx.xxx.xx.xxx 80:31423/TCP 11d
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP,12250/TCP 11d
kubectl delete service/frontend-app
service "frontend-app" deleted
Service object を再作成
kubectl apply -f .
・
・
・
service/frontend-app created
ログが出力されると一覧表示されます。
Service object が削除された場合のログ
Service object が作成された場合のログ
「type: LoadBalancer」の Service object、つまり、ロードバランサを OKE クラスタ上で削除および作成する場合、cloud-controller-manager と連携が必要となりますが、その動き含めてログで可視化できることが分かります。
OKE クラスタ作成後、サービス・ログの設定をするだけでコントロールプレーンの各コンポーネントログを取得できるのはとても便利です。