コンテンツにスキップ

Kubernetes

docs

ヘルスチェック

Kubernetes API health endpoints | Kubernetes

APIエンドポイントとして /readyz/livez が用意されている。

$ curl -k 'https://192.168.0.131:6443/readyz'
ok

K3sだと認証が必要

$ curl -k -H "Authorization: Bearer $TOKEN" 'https://192.168.0.75:6443/livez?verbose'
[+]ping ok
[+]log ok
[+]etcd ok
[+]poststarthook/start-kube-apiserver-admission-initializer ok
[+]poststarthook/generic-apiserver-start-informers ok
[+]poststarthook/priority-and-fairness-config-consumer ok
[+]poststarthook/priority-and-fairness-filter ok
[+]poststarthook/storage-object-count-tracker-hook ok
[+]poststarthook/start-apiextensions-informers ok
[+]poststarthook/start-apiextensions-controllers ok
[+]poststarthook/crd-informer-synced ok
[+]poststarthook/start-service-ip-repair-controllers ok
[+]poststarthook/rbac/bootstrap-roles ok
[+]poststarthook/scheduling/bootstrap-system-priority-classes ok
[+]poststarthook/priority-and-fairness-config-producer ok
[+]poststarthook/start-system-namespaces-controller ok
[+]poststarthook/bootstrap-controller ok
[+]poststarthook/start-cluster-authentication-info-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-controller ok
[+]poststarthook/start-deprecated-kube-apiserver-identity-lease-garbage-collector ok
[+]poststarthook/start-kube-apiserver-identity-lease-garbage-collector ok
[+]poststarthook/start-legacy-token-tracking-controller ok
[+]poststarthook/aggregator-reload-proxy-client-cert ok
[+]poststarthook/start-kube-aggregator-informers ok
[+]poststarthook/apiservice-registration-controller ok
[+]poststarthook/apiservice-status-available-controller ok
[+]poststarthook/kube-apiserver-autoregistration ok
[+]autoregister-completion ok
[+]poststarthook/apiservice-openapi-controller ok
[+]poststarthook/apiservice-openapiv3-controller ok
[+]poststarthook/apiservice-discovery-controller ok
livez check passed

tokenはsecretリソースを作成して取得する。
[Kubernetes] ヘルスチェックAPIを試す (bearer token認証付き) - zaki work log

pod

CrashLoopBackOff

describeまたはevent

Failed to pull image "quay.io/ansible/awx-operator:0.16.1-12-g768bc2f": rpc error: code = NotFound desc = failed to pull and unpack image "quay.io/ansible/awx-operator:0.16.1-12-g768bc2f": failed to resolve reference "quay.io/ansible/awx-operator:0.16.1-12-g768bc2f": quay.io/ansible/awx-operator:0.16.1-12-g768bc2f: not found

や、

Error: ImagePullBackOff

の場合は、イメージがリポジトリに無い。指定が合ってるか確認。
podのステータスもErrImagePullになる。


logs

standard_init_linux.go:228: exec user process caused: exec format error

の場合、イメージのアーキテクチャと実行環境のアーキテクチャが合ってない。
イメージはamd64だけど実行環境がarm64など。

service

FQCN (A/AAAAレコード)

podからは<service-name>.<namespace-name>.svc.cluster.localで名前解決できる。