GitOps 구성 관리
GitHub 또는 GitLab 저장소에서 클러스터로 애플리케이션을 배포할 수 있도록 구성을 생성합니다.
Satellite Config는 성공 여부와 관계없이 5분마다 현재 구성을 다시 적용합니다. 클러스터의 구성이 업데이트될 경우(예: kubectl edit 또는 Satellite 를 사용하는 경우), Config는 해당 구성을 GitHub 또는 GitLab 저장소에 정의된 내용과 일치하도록 재적용합니다.
Satellite 구성 작성
Satellite Config를 사용하여 Satellite 위치 또는 IBM Cloud에서 실행되는 Red Hat OpenShift on IBM Cloud 클러스터 그룹에 배치할 Kubernetes 리소스를 지정하기 위한 구성을 작성합니다.
시작하기 전에
- 필수 권한 이 있고 Satellite 구성에서 클러스터에 액세스할 수 있는지 확인하십시오. 자세한 정보는 사용자 권한 확인을 참조하십시오.
- Satellite 구성에 대한 주요 개념 을 검토하십시오.
- 개인용 저장소를 사용하려면 개인용 저장소에 대해 최소한 읽기 액세스 권한이 있는 개인용 액세스 토큰을 포함하는 대상 클러스터에서 시크릿을 작성 해야 합니다.
비공개 저장소를 사용하기 위한 비밀 생성하기
비공개 저장소에 연결하려면 Git 개인 액세스 토큰을 생성하여 클러스터에 적용해야 합니다.
-
Github 또는 Gitlab 토큰을 작성하십시오.
- Github의 경우 개인 액세스 토큰을 작성하십시오. 토큰을 작성할 때 개인용 저장소에서 읽을 수 있도록
repo범위를 부여하십시오. 시스템 사용자 를 작성하고 개인 액세스 토큰을 시스템 사용자에게 바인드할 수도 있습니다. - Gitlab의 경우 개인 토큰을 작성 하거나 배치 토큰을 작성하십시오.
- Github의 경우 개인 액세스 토큰을 작성하십시오. 토큰을 작성할 때 개인용 저장소에서 읽을 수 있도록
-
토큰을 base64 로 인코딩합니다.
printf "TOKEN_FROM_GITHUB_OR_GITLAB" | base64 -
사용할 각 클러스터에 대해 클러스터에 로그인하고 다음 YAML 파일을 적용하여
razeedeploy네임스페이스에razee-git라는 시크릿을 작성하십시오.apiVersion: v1 data: token: [BASE64_ENCODED_TOKEN_FROM_GITHUB_OR_GITLAB] kind: Secret metadata: name: razee-git namespace: razeedeploy type: OpaqueGitHub 저장소와 GitLab 저장소 간에는 비밀을 하나만 설정할 수 있습니다.
콘솔에서 Satellite 구성 작성
예제 앱을 배치하려면 Satellite 구성을 사용하여 클러스터에 Kubernetes 리소스 배치 를 참조하십시오.
사용자 정의 구성을 작성하려면 Satellite UI를 사용하고 다음 단계를 따르십시오.
-
IBM Cloud 인증 정보를 사용하여 Satellite 구성 UI 에 로그인하십시오.
-
구성 작성을 클릭하십시오.
-
템플리트 찾아보기 페이지에서 GitOps 템플리트를 선택하십시오.
-
구성 페이지에서 구성 이름 및 제공자를 지정하십시오.
필드 설명 구성 이름 ‘ Satellite ’ 구성의 이름을 입력하십시오. 제공자 클러스터에 배포될 Kubernetes 리소스의 정의를 저장하는, Satellite 구성에 사용할 원격 제공자를 선택합니다. 옵션은 GitHub및GitLab입니다.
- ‘구독’ 페이지에서 리포지토리 URL, 리포지토리 공개 설정 Git, 참조 정보, 파일 또는 디렉터리의 경로, 그리고 배포할 클러스터 그룹을 지정하십시오.
필드 설명 저장소 URL 이 Satellite 구독에 사용할 원격 저장소를 입력하십시오. 저장소 가시성 이 저장소가 공용 또는 개인용인지 여부를 선택하십시오. Git 참조 유형 이 Satellite 구독에 사용할 Git 참조 유형을 선택합니다. 올바른 값은 Branch,Tag,Commit및Release입니다.브랜치/태그/커밋/릴리스 이름 이 Satellite 구독에 사용할 Git 참조를 입력하세요. 경로 이 Satellite 구독에 사용할 원격 저장소의 파일 경로를 입력하세요. 구독 이름 ‘ Satellite ’ 구독의 이름을 입력하세요. 브랜치/태그/커미트/릴리스 이름은 기본적으로 구독 이름으로 자동으로 채워집니다. 클러스터 그룹 ‘ Kubernetes ’ 리소스를 배포할 클러스터 그룹의 이름을 입력하세요.
- 요약 페이지에서 표시된 정보가 올바른지 확인한 후 완료를 클릭하십시오.
CLI에서 Satellite 구성 작성
Satellite 명령어용 CLI 플러그인을 사용하여 구성을 생성하십시오.
구성을 작성하려면 다음 작업을 수행하십시오.
-
Satellite Config와 함께 사용할 클러스터를 설정하십시오. 이 설정에는 클러스터 그룹을 생성하고, Satellite Config가 귀하의 클러스터에 액세스할 수 있도록 권한을 부여하는 과정이 포함됩니다.
-
Satellite 구성을 생성합니다.
ibmcloud sat config create --name CONFIG_NAME [--provider <provider>] [-q]이 명령의 구성요소 이해하기 컴포넌트 설명 --name <config_name>Satellite 구성의 이름을 입력하십시오. --provider <provider>클러스터에 배치할 Kubernetes 리소스의 정의를 저장하는 Satellite 구성에 대한 원격 제공자를 입력하십시오. 유효값은 github및gitlab입니다.-q오늘의 메시지 또는 업데이트 미리 알림을 표시하지 않습니다. 출력 예
Creating configuration... OK Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393. -
Satellite 구성에 대한 클러스터 그룹의 등록 을 작성하십시오.
ibmcloud sat subscription create --name <subscription_name> --group <cluster_group_name> --config <config_name_or_ID> --repository <repository_value> --gitref-type <type_value> --gitref <gitref_value> --path <path_value> [-q]이 명령의 구성요소 이해하기 컴포넌트 설명 --name <subscription_name>Satellite 구독의 이름을 입력하십시오. --group <cluster_group_name>Kubernetes 리소스를 배치할 클러스터 그룹의 이름을 입력하십시오. --config <config_name_or_ID>이전에 작성한 Satellite 구성의 이름 또는 ID를 입력하십시오. --repository <repository_value>이 Satellite 등록에 사용할 원격 저장소를 입력하십시오. --gitref-type <type_value>이 Satellite 등록에 사용할 Git 참조 유형을 입력하십시오. 올바른 값은 branch,commit,tag및release입니다.--gitref <gitref_value>이 Satellite 구독에 사용할 Git 참조를 입력하십시오. --path <path_value>이 Satellite 등록에 사용할 원격 저장소에 있는 파일의 경로를 입력하십시오. -q오늘의 메시지 또는 업데이트 미리 알림을 표시하지 않습니다. 출력 예
Creating subscription... OK Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81. -
콘솔에서 Satellite 구성 작성의 5단계에 따라 Kubernetes 리소스의 롤아웃 상태를 검토하십시오.
Satellite 구성 업데이트
구성을 업데이트하기 위해 구독 레벨에서 업데이트할 수 있습니다. 수행해야 하는 조치는 수행하려는 업데이트의 종류에 따라 다릅니다.
- 새 버전의 애플리케이션을 동일한 클러스터 그룹에 배치하려면 구성에 정의된 GitHub 또는 GitLab 저장소에서 파일을 업데이트하고 변경사항을 커미트하십시오.
- 소스 저장소의 특성을 변경하기 위해 등록을 편집하고 새 세부사항으로 필드를 업데이트할 수 있습니다.
- 여러 저장소를 동일한 구성과 연관시키거나 새 소스 저장소를 추가하거나 동일한 소스 저장소에 대한 새 Git ref 세부사항을 추가하려면 새 등록을 작성할 수 있습니다. 구독 생성을 클릭하고 새 구독에 대한 세부 정보를 입력합니다. 일부 세부사항만 변경된 새 구독을 작성하려는 경우 복제 옵션을 사용하여 기존 구독의 특성으로 모든 필드를 자동으로 채우고 변경할 필드를 수정할 수 있습니다.
- 등록을 삭제하려면 제거 옵션을 사용하십시오.
콘솔에서 구독 정보 업데이트하기
Satellite 콘솔을 사용하여 구성을 업데이트하십시오.
-
IBM Cloud 인증 정보를 사용하여 Satellite 구성 UI 에 로그인하십시오.
-
업데이트할 구성을 선택하십시오.
-
등록의 행에 있는 오버플로우 메뉴를 클릭하여 업데이트하고 편집을 선택하십시오.
-
등록 편집 페이지에서 변경사항을 작성하고 저장을 클릭하십시오.
CLI를 사용하여 Satellite 구성 업데이트
Satellite 명령어용 CLI 플러그인을 사용하여 구성을 업데이트하십시오. 새 파일을 사용하도록 구성을 업데이트하려는 경우 새 파일을 가리키도록 구독을 업데이트할 수 있습니다.
-
원격 저장소에서 새 Satellite 구성을 사용하도록 클러스터 그룹의 등록 을 업데이트하십시오. 변경하려는 매개변수만 지정하면 됩니다.
ibmcloud sat subscription update --subscription <subscription_name> [--name <new_subscription_name>] [--group <cluster_group_name>] [--repository <repository_value>] [--gitref-type <type_value>] [--gitref <gitref_value>] [--path <path_value>] [-f] [-q]이 명령의 구성요소 이해하기 컴포넌트 설명 --subscription <subscription_value>업데이트할 구독의 이름이나 ID를 입력하세요. --name <new_subscription_name>구독의 새 이름을 입력하세요. --group <cluster_group_name>Kubernetes 리소스를 배치할 클러스터 그룹의 이름을 입력하십시오. --repository <repository_value>이 Satellite 등록에 사용할 원격 저장소를 입력하십시오. --gitref-type <type_value>이 Satellite 등록에 사용할 Git 참조 유형을 입력하십시오. 올바른 값은 branch,commit,tag및release입니다.--gitref <gitref_value>이 Satellite 구독에 사용할 Git 참조를 입력하십시오. --path <path_value>이 Satellite 등록에 사용할 원격 저장소에 있는 파일의 경로를 입력하십시오. -f사용자 프롬프트를 표시하지 않고 명령을 강제 실행합니다. -q오늘의 메시지 또는 업데이트 미리 알림을 표시하지 않습니다. 출력 예
Are you sure you want to update the subscription <subscription_name>? [y/N]y OK Subscription f6114bd5-f71e-4335-b034-ca45fa3cab81 was successfully updated. -
콘솔에서 Satellite 구성 작성의 5단계에 따라 Kubernetes 리소스의 롤아웃 상태를 검토하십시오.