Infra2024년 10월 23일2분 읽기

Kubernetes Operator 패턴 — 커스텀 컨트롤러 개발

YS
YoungSam
조회 751

Operator 패턴이란

Operator는 Kubernetes의 커스텀 리소스(CRD)와 컨트롤러를 결합하여 애플리케이션을 자동으로 관리하는 패턴입니다.

kubebuilder 시작

kubebuilder init --domain example.com
kubebuilder create api --group app --version v1 --kind MyApp

// Reconcile 루프
func (r *MyAppReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
    var myApp appv1.MyApp
    if err := r.Get(ctx, req.NamespacedName, &myApp); err != nil {
        return ctrl.Result{}, client.IgnoreNotFound(err)
    }
    // 원하는 상태와 현재 상태를 비교하여 조정
    return ctrl.Result{}, nil
}
KubernetesOperatorGo

댓글 0

아직 댓글이 없습니다.