Amazon EKS Platform Version 2의 새로운 기능을 시도했습니다 (잘 작동하지 않음)
6131 단어 ekskubernetesAWS
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 시작 의 순서로 클러스터를 구축했습니다.
분명히 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를 배포할 수 없는 원인인 것 같습니다.
이 근처의 구조는 전혀 이해할 수 없기 때문에, 자신이 궁리하면 움직이는 것일지도 잘 모릅니다.
제대로 조사하고 정리하려고 생각합니다.
Reference
이 문제에 관하여(Amazon EKS Platform Version 2의 새로운 기능을 시도했습니다 (잘 작동하지 않음)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/os1ma/items/59c7ab6d3588cb78d7e3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
"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 시작 의 순서로 클러스터를 구축했습니다.
분명히 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를 배포할 수 없는 원인인 것 같습니다.
이 근처의 구조는 전혀 이해할 수 없기 때문에, 자신이 궁리하면 움직이는 것일지도 잘 모릅니다.
제대로 조사하고 정리하려고 생각합니다.
Reference
이 문제에 관하여(Amazon EKS Platform Version 2의 새로운 기능을 시도했습니다 (잘 작동하지 않음)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/os1ma/items/59c7ab6d3588cb78d7e3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ kubectl top pod
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
$ git clone https://github.com/kubernetes-incubator/metrics-server.git
$ kubectl create -f metrics-server/deploy/1.8+/
$ kubectl top pod
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
$ 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
$ 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>
Reference
이 문제에 관하여(Amazon EKS Platform Version 2의 새로운 기능을 시도했습니다 (잘 작동하지 않음)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/os1ma/items/59c7ab6d3588cb78d7e3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)