3.3. initdata 생성
initdata를 사용하여 TOML 파일을 생성하고 Base64로 인코딩된 문자열로 변환합니다. 이 문자열을 사용하여 피어 Pod 구성 맵, 피어 Pod 매니페스트 또는 busybox.yaml 파일의 값을 지정합니다.
Trustee 구성 맵에서 insecure_http = true 를 구성하는 경우 kbs_cert 설정을 삭제해야 합니다.
프로세스
Trustee IP 주소와 포트를 가져옵니다. 프로덕션 환경에서 Trustee는 기본 워크로드를 호스팅하는 클라우드 환경과 다른 신뢰할 수 있는 하드웨어에서 실행되는 별도의 OpenShift Container Platform 클러스터에 배포됩니다. Trustee 클러스터에서 다음 명령을 실행합니다.
Trustee 클러스터에서 다음 명령을 실행하여 Trustee IP 주소를 확보합니다.
$ oc get node $(oc get pod -n trustee-operator-system \ -o jsonpath='{.items[0].spec.nodeName}') \ -o jsonpath='{.status.addresses[?(@.type=="InternalIP")].address}'출력 예
192.168.122.22Trustee 클러스터에서 다음 명령을 실행하여 Trustee 포트를 확보합니다.
$ oc get svc kbs-service -n trustee-operator-system출력 예
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kbs-service NodePort 172.30.116.11 <none> 8080:32178/TCP 12d
initdata.toml구성 파일을 생성합니다.```toml algorithm = "sha384" version = "0.1.0" [data] "aa.toml" = ''' [token_configs] [token_configs.coco_as] url = 'https://<worker_node_ip>:<node_port>'1 [token_configs.kbs] url = 'https://<worker_node_ip>:<node_port>' cert = """ -----BEGIN CERTIFICATE----- <kbs_certificate>2 -----END CERTIFICATE----- """ ''' "cdh.toml" = ''' socket = 'unix:///run/confidential-containers/cdh.sock' credentials = [] [kbc] name = 'cc_kbc' url = 'https://<worker_node_ip>:<node_port>' kbs_cert = """3 -----BEGIN CERTIFICATE----- <kbs_certificate>4 -----END CERTIFICATE----- """ ''' "policy.rego" = '''5 package agent_policy default AddARPNeighborsRequest := true default AddSwapRequest := true default CloseStdinRequest := true default CopyFileRequest := true default CreateContainerRequest := true default CreateSandboxRequest := true default DestroySandboxRequest := true default ExecProcessRequest := false default GetMetricsRequest := true default GetOOMEventRequest := true default GuestDetailsRequest := true default ListInterfacesRequest := true default ListRoutesRequest := true default MemHotplugByProbeRequest := true default OnlineCPUMemRequest := true default PauseContainerRequest := true default PullImageRequest := true default ReadStreamRequest := false default RemoveContainerRequest := true default RemoveStaleVirtiofsShareMountsRequest := true default ReseedRandomDevRequest := true default ResumeContainerRequest := true default SetGuestDateTimeRequest := true default SetPolicyRequest := true default SignalProcessRequest := true default StartContainerRequest := true default StartTracingRequest := true default StatsContainerRequest := true default StopTracingRequest := true default TtyWinResizeRequest := true default UpdateContainerRequest := true default UpdateEphemeralMountsRequest := true default UpdateInterfaceRequest := true default UpdateRoutesRequest := true default WaitProcessRequest := true default WriteStreamRequest := true ''' ```- 1
- Trustee IP 주소와 포트를 지정합니다(예:
https://192.168.122.22:32178). - 2
- 인증 에이전트의 Base64로 인코딩된 TLS 인증서를 지정합니다. 이는 테스트 목적에는 필요하지 않지만 프로덕션 시스템에는 권장됩니다.
- 3
- Trustee 구성 맵에서
insecure_http = true를 구성하는 경우kbs_cert설정을 삭제합니다. - 4
- Trustee 인스턴스의 Base64로 인코딩된 TLS 인증서를 지정합니다.
- 5
- 사용자 지정 Kata 에이전트 정책을 지정합니다. 기본 정책은 모든 API 호출을 허용합니다. 프로덕션 환경의 경우
ReadStreamRequest및ExecProcessRequest를false로 설정하여oc exec및oc logAPI를 비활성화하여 컨트롤 플레인을 통한 암호화되지 않은 데이터 전송을 방지합니다. 다른true또는false값을 조정하여 필요에 따라 정책을 추가로 사용자 지정합니다.
다음 명령을 실행하여
initdata.toml파일을 텍스트 파일의 gzip 형식의 Base64 인코딩 문자열로 변환합니다.$ cat initdata.toml | gzip | base64 -w0 > initdata.txt