이제 Container Instance당 64개까지 EmptyDir Volume을 생성할 수 있습니다.
EmptyDir은 Pod가 생성될 때 같이 생성되고, 삭제될 때 같이 생성되는 임시 Volume입니다. 생성되는 시점에는 아무런 데이터가 없기 때문에 EmptyDir이라고 부릅니다.
Container를 생성할 때 EmptyDir Volume을 마운트하면 Container Instances내의 Container간 데이터를 서로 공유할 수 있습니다.
이제 Container Instancs에서 Private Container Registry에서 Image Pull을 위한 인증정보(Username, Password)를 OCI Valut에 저장하여 사용할 수 있습니다.
Container Instnaces에서 Valut 접근을 위해서는 다음과 같이 Dynamic Group과 Policy를 생성해야 합니다.
ALL {resource.type='computecontainerinstance'}
allow dynamic-group <dynamic-group-name> to read secret-bundles in tenancy
Valut에 Secret 등록 시 다음과 같은 포멧으로 등록해야 합니다.
{
"username": "container-instance-user",
"password": "<password>"
}
아직은 OCI Console에서 Valut 사용을 위한 UI를 제공하지 않기 때문에 CLI를 활용하여 Container Instance를 생성합니다. 먼저 다음과 같은 JSON 템플릿이 필요합니다. 다음 템플릿에서 secretId 부분을 앞에서 생성한 Secret의 OCID로 대체합니다.
{
"containers": [
{
"imageUrl": "example.registry.io/container-instance-user/example-image:latest",
< ... other fields ... >
}
],
"imagePullSecrets": [
{
"secretType": "VAULT",
"registryEndpoint": "example.registry.io/container-instance-user",
"secretId": "ocid1.vaultsecret.oc1.<region_code>.<unique_ID>"
}
],
< ... other fields ... >
}
OCI CLI 명령어로 다음과 같이 실행합니다.
oci container-instances container-instance create --from-json file://ci-template.json
이제 Logging 서비스에서 사용자 정의 로그(Custom Logs)를 수집하기 위한 새로운 CRI(Container Runtime Interface) Parser를 사용할 수 있게 되었습니다. 새롭게 추가된 CRI Parser는 OKE 환경에서 FluentD CRI 로그를 Logging 서비스에서 수집할 수 있도록 도와줍니다. CRI 로그는 다음과 같은 형태로 구성됩니다.
2020-10-10T00:10:00.333333333Z stdout F Hello Fluentd
time: 2020-10-10T00:10:00.333333333Z
stream: stdout
logtag: F
message: Hello Fluentd
Fluent CRI Parser에 대한 자세한 설명은 다음 Github 문서를 참고합니다.
https://github.com/fluent/fluent-plugin-parser-cri
Kubernetes에서 Ingress Controller는 Cluster로 유입되는 트래픽을 Cluster내의 적절한 서비스로 라우팅할 수 있도록 하는 핵심 요소입니다. 기존에는 NGINX 혹은 Traefik과 같은 오픈소스 Ingress Controller만 지원하였는데, 이제 Oracle Kubernetes Engine(OKE)에서 Native Ingress Controller를 지원하게 되었습니다.
Native Ingress Controller는 라우터 역할을 하는 OCI Load Balancer와 통합되며, OCI 인증서 서비스를 통해서 TLS/SSL 통신 설정에 사용되는 인증서를 관리하게 됩니다.
OCI Native Ingress Controller 아키텍처
OCI Native Ingress Controller는 다음의 제약 사항을 가지고 있습니다.
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Donghu Kim RELEASE-NOTES-2023-CLOUDNATIVE-SECURITY
oci-release-notes-2023 May-2023 cloudnative