LoginSignup
1

More than 5 years have passed since last update.

Amazon EKS Platform Version 2の新機能を試した(うまく動かず)

Last updated at Posted at 2018-09-06

2018/12/31 追記

こちら の記事で動作確認まで実施しました。

概要

EKSでkubectl topやHorizontal Pod Autoscaler (HPA) が使えない理由」に書いた通り、EKSではHPAやMetrics Serverが使えませんでした。

残念に思っていたのですが、8月末にHPAとMetrics Serverに対応したバージョンがリリースされたようです。

Amazon EKS Platform Version 2 のご紹介
Platform Versions

そこでさっそく試してみたのですが、うまく動きませんでした。。。

やってみた手順

EKSの構築

Amazon EKS の使用開始」の手順でクラスタを構築しました。

screen-shot-eks-2.png

たしかに、Platform versionがeks.2になっています。

Metrics Serverの構築

HPAはMetrics Serverに依存しているので、まずはMetrics Serverがデプロイできるか試すことにしました。

Metrics Serverデプロイ前はkubectl topがエラーを吐きます。

$ kubectl top pod
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)

Metrics Serverをデプロイします。

$ git clone https://github.com/kubernetes-incubator/metrics-server.git
$ kubectl create -f metrics-server/deploy/1.8+/

kuectl topを再度試します。

$ kubectl top pod
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)

エラーとなってしまいました。

エラーの原因調査

metrics-serverのログを確認すると

$ kubectl -n kube-system logs pod/metrics-server-55b6ff4cb7-7bn6h
I0906 11:05:34.196345       1 serving.go:273] Generated self-signed cert (apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key)
W0906 11:05:35.092256       1 authentication.go:166] cluster doesn't provide client-ca-file in configmap/extension-apiserver-authentication in kube-system, so client certificate authentication to extension api-server won't work.
W0906 11:05:35.099494       1 authentication.go:210] cluster doesn't provide client-ca-file in configmap/extension-apiserver-authentication in kube-system, so client certificate authentication to extension api-server won't work.
[restful] 2018/09/06 11:05:35 log.go:33: [restful/swagger] listing is available at https://:443/swaggerapi
[restful] 2018/09/06 11:05:35 log.go:33: [restful/swagger] https://:443/swaggerui/ is mapped to folder /swagger-ui/
I0906 11:05:35.159295       1 serve.go:96] Serving securely on [::]:443

「cluster doesn't provide client-ca-file in configmap/extension-apiserver-authentication in kube-system, so client certificate authentication to extension api-server won't work.」というWARNログが出ています。

configmap/extension-apiserver-authenticationを確認すると

$ kubectl -n kube-system describe configmap extension-apiserver-authentication
Name:         extension-apiserver-authentication
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
requestheader-group-headers:
----
["X-Remote-Group"]
requestheader-username-headers:
----
["X-Remote-User"]
requestheader-allowed-names:
----
["front-proxy-client"]
requestheader-client-ca-file:
----
-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END CERTIFICATE-----

requestheader-extra-headers-prefix:
----
["X-Remote-Extra-"]
Events:  <none>

たしかにclient-ca-fileがありません。

kopsで構築したk8sのconfigmap/extension-apiserver-authenticationにはclient-ca-fileがあったので、これがMetrics Serverをデプロイできない原因のようです。

このあたりの仕組みは全然理解できていないので、自分が工夫すれば動くものなのかもよく分かりません。
ちゃんと調べてまとめようと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1