2017-12-10 8 views
0

kube-aws을 사용하여 AWS에서 Kubernetes 클러스터를 실행하면 모든 것이 예상대로 작동합니다.Kubernetes : apiserver 런타임 설정을 올바르게 변경하는 방법

For previous versions of cluster (< 1.8) you need to explicitly enable batch/v2alpha1 API by passing --runtime-config=batch/v2alpha1=true to the API server (see Turn on or off an API version for your cluster for more).

그리고 설명서로 이동 :

지금, 내가는 Kubernetes에 대한 설명서는 다음과 같은 상태 동안 cron 작업은 내가 (v1.7.10_coreos.0)를 사용하고 버전에서 설정되지 않습니다 실현 텍스트는이 (이것은 실제, 전체 문서의) 상태 : 내가 실행중인 클러스터의 구성을 변경하는 방법에 대한 정보를 찾는 데 실패되었습니다

Specific API versions can be turned on or off by passing --runtime-config=api/ flag while bringing up the API server. For example: to turn off v1 API, pass --runtime-config=api/v1=false. runtime-config also supports 2 special keys: api/all and api/legacy to control all and legacy APIs respectively. For example, for turning off all API versions except v1, pass --runtime-config=api/all=false,api/v1=true. For the purposes of these flags, legacy APIs are those APIs which have been explicitly deprecated (e.g. v1beta3).

을, 나는 물론, 싶지 않아 에 명령을 다시 실행 해보십시오. api-server.

kube-aws는 여전히 hyperkube을 사용하며 kubeadm을 사용하지 않습니다. 또한 /etc/kubernetes/manifests - 디렉토리에는 ssl - 디렉토리 만 있습니다. --runtime-config=batch/v2alpha1=true

바람직하게는이 설정을 적용하고 apiserver의 다시 시작하도록 kubectl를 사용하여, 적절한 방법은 무엇입니까 :

제가 적용 할 설정이 무엇입니까?

감사합니다.

+1

'/ etc/kubernetes/manifests '가 비어있을뿐만 아니라 완전히 누락되어 매우 높거나 ** 매우 높습니다 ** 케이스의 90 %에서 아파치가' kublet'을 사용하여 일하는 회중이 kubectl을 사용하도록 요구하는 닭고기와 달걀 중 하나를 얻습니다. 당신의 설정은 systemd를 사용하여 kubelet과 apiserver를 모두 관리 할 수 ​​있으므로'systemctl list-units | grep -E 'kube | apiserver''와 재미있는 것이 있는지 보여줍니다. 그러나 어느 쪽이든, apiserver의 커맨드 라인을 바꾸는 것은 당신이 묻고있는 것을 성취하기 위해 내가 알고있는 유일한 메커니즘입니다. –

+0

Matthew에게 감사드립니다. 그 명령의 출력은 나에게 오류를 준다 :'D 버스 연결을 얻지 못했습니다 : 알 수없는 오류 -1'. 'apiserver' 포드 중 하나에서 실행하고 있습니다. 매니페스트 디렉토리가 비어 있으면 안전하게 추가 할 수 있습니까? 나는 설정을 업데이트하고'apiserver'를 재시작하는 방법에 대해 궁금합니다. 나는 단지 포드를 죽일 뿐인가? 아니면'kubectl' 명령으로 아파치 서버를 다시 시작할 수 있습니까? –

+1

_ 나는 파이버 조각 중 하나에서 실행하고 있습니다 ._ 아, 이제 나는 무슨 일이 벌어지고 있는지 보았습니다. 내 사과 : 당신은 그 apiservers (다시, 내가 정적이라고 기대할 것입니다)의 노드에서 (apiserver가 실행되는 방식으로 모든 다른 변화와 함께) 실행하고 싶어합니다; 주석 길이로 인해 두 번째 반쪽에 별도의 주석으로 답할 것입니다. –

답변

1

batch/v2alpha1=true은 기본적으로 kube-aws에 설정됩니다. 찾을 수 있습니다 here

+0

당신은 절대적으로 옳습니다. Dang, 나는 그것을 시험하기 위해 내가 어떻게 놓쳤는 지 궁금해. 나는 내가 확신했다. 어쨌든 직업은 작동합니다 :) 고마워요! –