16.4.2. 스케줄러 패키지
클러스터에 사용자 지정 스케줄러를 포함하는 일반적인 프로세스에는 배포에 해당 이미지를 포함하여 이미지를 생성해야 합니다.
- 스케줄러 바이너리를 컨테이너 이미지로 패키징합니다.
스케줄러 바이너리를 포함하는 컨테이너 이미지를 생성합니다.
예를 들면 다음과 같습니다.
FROM <source-image> ADD <path-to-binary> /usr/local/bin/kube-scheduler
파일을 Dockerfile로 저장하고 이미지를 빌드한 다음 레지스트리에 내보냅니다.
예를 들면 다음과 같습니다.
docker build -t <dest_env_registry_ip>:<port>/<namespace>/<image name>:<tag> docker push <dest_env_registry_ip>:<port>/<namespace>/<image name>:<tag>
OpenShift Container Platform에서 사용자 정의 스케줄러에 대한 배포를 생성합니다.
apiVersion: v1 kind: ServiceAccount metadata: name: custom-scheduler namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: custom-scheduler subjects: - kind: ServiceAccount name: custom-scheduler namespace: kube-system roleRef: kind: ClusterRole name: system:kube-scheduler apiGroup: rbac.authorization.k8s.io --- apiVersion: apps/v1 kind: Deployment metadata: name: custom-scheduler namespace: kube-system labels: app: custom-scheduler spec: replicas: 1 selector: matchLabels: app: custom-scheduler template: metadata: labels: app: custom-scheduler spec: serviceAccount: custom-scheduler containers: - name: custom-scheduler image: "<namespace>/<image name>:<tag>" 1 imagePullPolicy: Always
- 1
- 사용자 정의 스케줄러에 대해 생성한 컨테이너 이미지를 지정합니다.