DigitalOceanでKubernetesAPIサーバー(バージョン1.7)のクラスターを負荷分散する必要がありますが、問題は、Kubernetes APIサーバーがHTTPSのみをサポートしているように見え、DigitalOceanロードバランサーが実行できるのは HTTPまたはTCPヘルスチェック 。
HTTPまたはTCPを介してKubernetesAPIサーバーのヘルスチェックを実行する方法はありますか?
kubectlプロキシを実行してから、postmanまたは任意のツールを使用してgetリクエストを http://127.0.0.1:8001/healthz/poststarthook/apiservice-status-available-controller に送信します。
あなたも他を使うことができます
/healthz
、/healthz/autoregister-completion
、/healthz/ping
、/healthz/poststarthook/apiservice-registration-controller
、/healthz/poststarthook/apiservice-status-available-controller
、/healthz/poststarthook/bootstrap-controller
、/healthz/poststarthook/ca-registration
、/healthz/poststarthook/extensions/third-party-resources
、/healthz/poststarthook/generic-apiserver-start-informers
、/healthz/poststarthook/kube-apiserver-autoregistration
、/healthz/poststarthook/start-apiextensions-controllers
、/healthz/poststarthook/start-apiextensions-informers
、/healthz/poststarthook/start-kube-aggregator-informers
、/healthz/poststarthook/start-kube-apiserver-informers
、/healthz
のポート8080でAPIサーバーノードにアクセスし、APIサーバーが稼働していて正常な状態であれば、本体がok
の200を返すことを期待できます。
詳細については、このエンドポイントに到達するいくつかのテストコードを参照してください: https://github.com/kubernetes/kubernetes/blob/fe3e7482764ace362b465405c45780d03a8c6706/staging/src/k8s.io/apiserver/pkg/server/healthz/healthz_test。 go#L28