Kf가 작동하려면 Kubernetes 및 기타 OSS 프로젝트가 필요합니다. 일부 종속 항목은 Google 관리형 서비스로 충족됩니다. 예를 들어 Google Kubernetes Engine(GKE)은 Kubernetes를 제공합니다.
종속 항목
Kf 구성요소
Kf는 몇 가지 고유 Kubernetes 커스텀 리소스 및 컨트롤러를 설치합니다.
커스텀 리소스는 실제로 Kf API로 제공되며, 시스템과 상호작용하기 위해 kf
CLI에서 사용됩니다.
컨트롤러는 Kf의 CRD를 사용하여 시스템의 다른 구성요소를 조정합니다.
Kf CRD
다음 명령어를 사용하여 Kf에서 설치되어 사용되는 CRD를 볼 수 있습니다.
kubectl api-resources --api-group=kf.dev
이 명령어의 출력은 다음과 같습니다.
NAME SHORTNAMES APIGROUP NAMESPACED KIND
apps kf.dev true App
builds kf.dev true Build
clusterservicebrokers kf.dev false ClusterServiceBroker
routes kf.dev true Route
servicebrokers kf.dev true ServiceBroker
serviceinstancebindings kf.dev true ServiceInstanceBinding
serviceinstances kf.dev true ServiceInstance
spaces kf.dev false Space
앱
앱은 Kubernetes에 배포된 12팩터 애플리케이션을 나타냅니다. 소스 코드, 구성, 애플리케이션의 현재 상태를 포함합니다. 앱은 조정을 담당합니다.
- Kf Builds
- Kf Routes
- Kubernetes 배포
- Kubernetes 서비스
- Kubernetes ServiceAccounts
- Kubernetes 보안 비밀
Kf 또는 kubectl
를 사용하여 앱을 나열할 수 있습니다.
kf apps
kubectl get apps -n space-name
빌드
빌드는 앱의 소스 코드와 빌드 구성을 결합합니다. 이 빌드 시스템은 Buildpack V2, 빌드팩 V3 또는 Dockerfile 빌드를 실행하기 위한 올바른 단계에 따라 Tekton TaskRun을 프로비저닝합니다.
Kf 또는 kubectl
을 사용하여 빌드를 나열할 수 있습니다.
kf builds
kubectl get builds -n space-name
ClusterServiceBrokers
ClusterServiceBroker는 Kf를 서비스 브로커로 확장하는 데 필요한 연결 정보를 보유합니다. 브로커가 제공하는 서비스의 카탈로그를 가져와서 kf marketplace
의 출력에 표시하는 역할을 합니다.
kubectl
을 사용하여 ClusterServiceBroker를 나열할 수 있습니다.
kubectl get clusterservicebrokers
경로
경로는 HTTP 라우팅 규칙이 포함된 상위 구조입니다. Istio VirtualServices를 재구성해야 합니다.
Kf 또는 kubectl
을 사용하여 경로를 나열할 수 있습니다.
kf routes
kubectl get routes -n space-name
ServiceBrokers
ServiceBroker는 Kf를 서비스 브로커로 확장하는 데 필요한 연결 정보를 보유합니다. 브로커가 제공하는 서비스의 카탈로그를 가져와서 kf marketplace
의 출력에 표시하는 역할을 합니다.
kubectl
을 사용하여 ServiceBroker를 나열할 수 있습니다.
kubectl get servicebrokers -n space-name
ServiceInstanceBinding
ServiceInstanceBinding은 바인딩 시 바인딩에 서비스 브로커와 사용자 인증 정보에 대한 바인딩을 만드는 매개변수를 포함합니다. 서비스가 브로커에서 binding API를 호출하여 서비스를 바인딩해야 합니다.
Kf 또는 kubectl
을 사용하여 ServiceInstanceBinding을 나열할 수 있습니다.
kf bindings
kubectl get serviceinstancebindings -n space-name
ServiceInstance
ServiceInstance에는 서비스 브로커에 서비스를 만들기 위한 매개변수가 포함됩니다. 브로커 서비스를 프로비저닝하기 위해 브로커에서 Provisioning API를 호출합니다.
Kf 또는 kubectl
을 사용하여 ServiceInstances를 나열할 수 있습니다.
kf services
kubectl get serviceinstances -n space-name
Spaces
Spaces에는 Cloud Foundry 조직 및 Spaces와 유사한 구성 정보가 보관됩니다. 담당자는 다음 역할을 담당합니다.
- 다른 Kf 리소스가 프로비저닝되는 Kubernetes 네임스페이스를 만듭니다.
- Kubernetes NetworkPolicy를 만들어 네트워크 연결 정책을 적용합니다.
- 빌드, 앱, 경로에 대한 구성 및 정책을 포함합니다.
Kf 또는 kubectl
을 사용하여 경로를 나열할 수 있습니다.
kf spaces
kubectl get spaces
서비스 계정
Kf에 서비스 계정을 가지려면 실행 중인 Kubernetes 클러스터가 필요합니다.
서비스 계정은 Tekton에서 이미지를 pull 및 push하기 위해 Container Registry에 인증하는 데 사용됩니다.
CloudBuild 템플릿으로 Kf를 설치하는 경우, roles/storage.admin
권한이 있는 Identity and Access Management 서비스 계정을 만듭니다.
제3자 라이브러리
제3자 라이브러리 소스 코드 및 라이선스는 Kf 컨테이너 이미지의 /third_party
디렉터리에서 찾을 수 있습니다.
kf third-party-licenses
를 실행하면 다운로드한 Kf CLI 버전의 타사 라이선스를 볼 수도 있습니다.