<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Omer Kushmaro - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Omer Kushmaro - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/kr/search-labs/author/omer-kushmaro</link>
    </image>
    <link>https://www.elastic.co/kr/search-labs/author/omer-kushmaro</link>
    <atom:link href="https://www.elastic.co/kr/search-labs/rss/author/omer-kushmaro.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[kr]]></language>
    <lastBuildDate>Fri, 18 Sep 2026 19:49:32 GMT</lastBuildDate>
  <item>
    <title><![CDATA[간소화된 Elastic Cloud on Kubernetes: 영역 인식, 재시작 및 mTLS]]></title>
    <description><![CDATA[ECK 3.4는 영역 인식 HA를 40줄의 YAML에서 하나의 필드로 줄이고 어노테이션을 통해 선언적 롤링 재시작을 추가하며 Kibana-Elasticsearch mTLS를 자동으로 연결합니다.]]></description>
    <content:encoded><![CDATA[<p>ECK 3.4는 Kubernetes의 Elastic Stack을 더 간단하게 운영할 수 있게 해줍니다. 영역 인식 HA, 안전한 롤링 재시작, Kibana↔Elasticsearch mTLS는 각각 매니페스트에서 한 줄의 답변이 됩니다.</p><p><a href="https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s">Elastic Cloud on Kubernetes</a> (ECK)를 운영하는 경우, 이번 릴리즈는 매일 수행하는 작업의 불편함을 줄이는 데 중점을 두고 있습니다.</p><h2>더 쉬운 조작, 더 쉬운 이해</h2><p>ECK 3.4는 Kubernetes에서 Elastic Stack을 실행할 때 고려해야 할 사항을 줄이는 데 중점을 둔 릴리즈입니다. 각 주요 변경 사항은 여러 단계를 거치는 작업을 단일의 선언적 답변으로 전환합니다.</p><ul><li><p><strong>간소화된 영역 인식.</strong> 클러스터를 여러 가용 영역에 확산시켜야 한다는 것을 ECK에 알리는 작업은 이제 NodeSet의 단일 필드로 처리됩니다. 오퍼레이터가 사용자를 대신하여 토폴로지, 스케줄링 및 Elasticsearch 측 인식 구성을 처리합니다. 매니페스트는 실제 연결 방식이 아닌 사용자의 의도를 반영합니다.</p></li><li><p><strong>다른 모든 작업을 수행하는 것과 동일한 방식으로 클러스터를 다시 시작하세요.</strong> 이제 롤링 재시작 트리거가 Elasticsearch 리소스에 어노테이션으로 추가됩니다. 선언적이고 GitOps에 적합하며 감사 추적을 남깁니다. 롤아웃을 위해 관련 없는 필드를 강제 편집할 필요가 없습니다.</p></li><li><p><strong>mTLS는 오퍼레이터가 자동으로 구성합니다.</strong> Kibana와 Elasticsearch 간에 상호 TLS를 수작업으로 연결하려면 양쪽 끝에서 CA, 구성 요소별 클라이언트 인증서, 마운트, 로테이션, 구성을 관리해야 합니다. ECK 3.4는 이 모든 것을 처리합니다. Elasticsearch에서 플래그를 활성화하고 Kibana를 가리키면 나머지는 운영자가 관리합니다.</p></li></ul><p>이번 릴리즈는 ECK의 일상적인 운영을 최대한 간편하게 만들어주는 것을 목표로 합니다. 기억해야 할 필드가 줄어들고 동기화해야 할 추가 작업이 줄어들며 매니페스트를 더 쉽게 이해할 수 있게 되었습니다.</p><h2>간소화된 영역 인식</h2><p>NodeSet에서 하나의 필드를 설정하여 가용성 영역 전반에서 Elasticsearch 클러스터의 고가용성을 확보하세요. ECK 3.4는 토폴로지 확산, 포드 스케줄링, Elasticsearch 측 인식 구성을 처리합니다.</p><p><a href="https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/advanced-elasticsearch-node-scheduling#k8s-availability-zone-awareness-example">이전에는</a> 이 모든 것을 네 개의 개별 객체에 걸쳐 수동으로 연결해야 했습니다. 하위 노드 레이블을 위한 Elasticsearch 리소스의 어노테이션, NodeSet 구성의 인식 속성, 영역을 표시하는 포드 템플릿의 <code>fieldRef</code> 환경 변수, 그리고 일치하는 <code>topologySpreadConstraints</code> 블록과 클러스터를 특정 영역에 고정하는 <code>nodeAffinity</code> 규칙이 필요했습니다. 대략 40줄의 YAML 코드로, 잘못 구성하기 쉬웠습니다.</p><p>ECK 3.4에서 동일한 영역 인식 클러스터는 네 줄로 구성됩니다.</p>apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: my-cluster
spec:
  version: 9.4.0
  nodeSets:
  - name: default
    count: 3
    zoneAwareness: {}<p>특정 영역 세트에 고정하려면 해당 영역에 이름을 지정하세요. 그러면 ECK가 해당 영역에 필요한 Node 선호도 규칙을 추가합니다.</p>spec:
  nodeSets:
  - name: hot
    count: 3
    zoneAwareness:
      zones: ["us-east-1a", "us-east-1b", "us-east-1c"]<p><code>maxSkew</code> 또는 <code>whenUnsatisfiable</code> 을 사용자 정의해야 하는 경우 <code>podTemplate</code> 에서 동일한 <code>topologyKey</code> (으)로 일치하는 토폴로지 확산 제약 조건을 제공하는 것이 여전히 우선합니다. 재정의는 재정의로 유지됩니다.</p><p>업그레이드 시 유의사항: 기존 NodeSet에서 <code>zoneAwareness</code>을(를) 활성화하면 StatefulSet 포드 템플릿이 변경됩니다(새로운 토폴로지 확산 제약 조건, <code>ZONE</code> 환경 변수, 노드 선호도, <code>node.attr.zone</code>). 이로 인해 해당 NodeSet에 대해 일회성 롤링 재시작이 트리거됩니다. 따라서 업그레이드 계획을 세울 때 이 점을 고려하세요.</p><p>간소화된 영역 관리에 대해 자세히 알아보려면 <a href="https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/advanced-elasticsearch-node-scheduling">Elastic 설명서에서 이 페이지를 읽어보세요</a>.</p><h2>선언적 롤링 재시작</h2><p>이제 3.4에서는 사양을 변경하지 않고 Elasticsearch 클러스터를 재시작하는 것이 최고급 워크플로우가 되었습니다. 다음과 같이 Elasticsearch 리소스에 대한 두 개의 새로운 어노테이션이 작업을 수행합니다.</p><ul><li><p><code>eck.k8s.elastic.co/restart-trigger</code>이 값을 설정하거나 변경(타임스탬프가 일반적인 선택 사항)하여 롤링 재시작을 시작합니다. 값을 변경하면 나중에 다시 재시작이 트리거되지만 어노테이션을 제거하면 트리거되지 않습니다.</p></li><li><p><code>eck.k8s.elastic.co/restart-allocation-delay</code>재시작 중 할당 지연 시간으로 Elasticsearch <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-shutdown-put-node">노드 종료 API</a>에 전달되는 선택적 지속 시간 스트링(예: "20m")입니다. 이를 통해 포드가 재활용되는 동안 리밸런싱을 보류할 수 있습니다.</p></li></ul>apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: my-cluster
  annotations:
    eck.k8s.elastic.co/restart-trigger: "2026-04-30T10:00:00Z"
    eck.k8s.elastic.co/restart-allocation-delay: "20m"
spec:
  version: 9.4.0<p>ECK는 내부적으로 트리거 값을 포드 어노테이션에 전파하여 StatefulSet 템플릿 해시를 변경하고, 기존의 롤링 업그레이드 경로(노드 종료 API, 조건자, 한 번에 하나의 포드 삭제)를 통해 모든 포드를 피드합니다. 새로 배워야 할 재시작 메커니즘이 없으며, 기존 롤링 업그레이드에서 사용하던 상태 메시지와 통합 가시성도 그대로 유지됩니다.</p><p>GitOps 사용자의 경우 이는 Flux/ArgoCD 파이프라인이 하나의 어노테이션을 패치하여 재시작을 요청할 수 있다는 의미입니다(사양 드리프트, 차이점 이탈, 관련 없는 필드에 대한 강제 편집 없음).</p><h2>관리형 mTLS for Kibana ↔ Elasticsearch</h2><p>이번 릴리즈에서는 Kibana와 Elasticsearch 간의 <a href="https://www.elastic.co/docs/deploy-manage/security/set-up-basic-security-plus-https">상호 TLS</a> 오케스트레이션이 제공됩니다. Elasticsearch CRD는 단일 새 필드( <code>spec.http.tls.client.authentication: true</code>)를 수락하여 클러스터에 HTTP 인터페이스에서 클라이언트 인증서를 요구하도록 지시합니다. ECK는 나머지 작업을 수행합니다. <code>eck.k8s.elastic.co/client-certificate: true</code>(으)로 레이블이 지정된 모든 시크릿에서 트러스트 번들을 구축하고, 이를 Elasticsearch 포드에 마운트하고, <code>xpack.security.http.ssl.client_authentication: required</code>을(를) 설정하고, 오퍼레이터 측 클라이언트 인증서를 발급하여 롤아웃 과정 전반에 걸쳐 클러스터와 지속적으로 통신할 수 있도록 합니다.</p><p>따라서 스택(이번 릴리즈에서는 Elasticsearch와 Kibana에만 해당)에 대한 mTLS 활성화 및 구성 작업이 훨씬 더 간단해집니다.</p><p>Elasticsearch에서 mTLS 활성화하기:</p>apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: secure-cluster
spec:
  version: 9.4.0
  http:
    tls:
      client:
        authentication: true # &lt;---- This is all you need
  nodeSets:
  - name: default
    count: 3<p>클라이언트 측에서 Kibana의 연결 컨트롤러는 이제 참조된 Elasticsearch의 <code>client-authentication-required</code> 어노테이션을 탐지하고 Kibana용 클라이언트 인증서를 자동으로 생성합니다. 추가 구성은 필요하지 않습니다. 자체 인증서(cert-manager 또는 내부 PKI)를 사용하려면 이미 프로비저닝한 시크릿을 지정하면 됩니다.</p>apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibana
spec:
  version: 9.4.0
  count: 1
  elasticsearchRef:
    name: secure-cluster
    clientCertificateSecretName: my-custom-client-cert<p>ECK는 인증서를 회전하고, 시크릿을 Kibana 포드에 마운트하고, <code>elasticsearch.ssl.certificate</code> 및 <code>elasticsearch.ssl.key</code> 을(를) 연결합니다. 모든 포드가 롤링될 때까지 mTLS 리소스 정리가 연기되므로 전환하는 동안 연결이 유지됩니다.</p><p>Kibana는 3.4에서 이러한 최고 수준의 지원을 받는 최초의 Stack 구성 요소입니다. APM Server, Beats, Fleet Server, Elastic Agent, Logstash, Maps 및 Enterprise Search에 대한 지원은 조만간 제공될 예정입니다. 그동안 인증 관리자를 사용하여 이러한 구성 요소에 대한 수동 mTLS를 안내하는 <a href="https://github.com/elastic/cloud-on-k8s/pull/9124">새로운 레시피</a>를 참조하세요.</p><h2>기타 주목할 만한 개선 사항</h2><p>이번 릴리즈에는 주목할 만한 다른 개선 사항도 포함되어 있습니다. 관련 풀 리퀘스트 목록은 다음과 같습니다.</p><ul><li><p><strong>FIPS 지원 오퍼레이터(별도 이미지)에 네이티브 Go FIPS 140-3 지원이 추가되었습니다.</strong> FIPS 지원 ECK 이미지(<code>docker.elastic.co/eck/eck-operator-fips:3.4.0</code>, UBI 변형 <code>eck-operator-ubi-fips:3.4.0</code> 포함)는 이제 인증된 <code>GOFIPS140=v1.0.0</code> 모듈에 고정되어 런타임에 적용되는 네이티브 Go FIPS 140-3 지원 기능을 제공합니다. 표준 <code>eck-operator</code> 이미지는 변경되지 않았습니다. Elasticsearch 9.4.0 이상 버전의 경우 오퍼레이터는 <code>xpack.security.fips_mode.enabled: true</code>이(가) 설정되면 FIPS를 준수하는 키 저장소 비밀번호를 자동으로 생성하고 마운트합니다(<a href="https://github.com/elastic/cloud-on-k8s/pull/9263">#9263</a>, <a href="https://github.com/elastic/cloud-on-k8s/pull/9287">#9287</a>).</p></li><li><p><strong>주목할 만한 신뢰성 수정 사항:</strong></p><ul><li><p>이제 인증서 체인에서 오래된 CA가 탐지되어 재발급이 트리거됩니다(<a href="https://github.com/elastic/cloud-on-k8s/pull/9197">#9197</a>).</p></li><li><p>원격 CA 시크릿 생성 실패는 차단되지 않습니다<a href="https://github.com/elastic/cloud-on-k8s/pull/9271">(#9271)</a>.</p></li><li><p>소프트 멀티 테넌시 설정의 경우 NetworkPolicy 네임스페이스 선택자 레이블이 고정됩니다(<a href="https://github.com/elastic/cloud-on-k8s/pull/9153">#9153</a>).</p></li><li><p>같은 이름의 볼륨이 이미 존재하는 경우<a href="https://github.com/elastic/cloud-on-k8s/pull/9199">(#9199)</a> Elasticsearch 컨트롤러는 기본 PVC를 건너뜁니다.</p></li><li><p>DaemonSet 조정자는 Deployment 조정자와 동일한 방식으로 오래된 캐시를 처리합니다(<a href="https://github.com/elastic/cloud-on-k8s/pull/9256">#9256</a>).</p></li></ul></li></ul><h2>시작하기</h2><p>이미 ECK를 실행하고 있다면 다음과 같이 Helm을 사용하여 3.4.0으로 업그레이드하세요.</p>helm upgrade elastic-operator elastic/eck-operator -n elastic-system<p>또는 다음과 같이 최신 오퍼레이터 매니페스트를 직접 적용하세요.</p>kubectl apply -f https://download.elastic.co/downloads/eck/3.4.0/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/3.4.0/operator.yaml<p>ECK를 처음 사용하는 경우 <a href="https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s#eck-quickstart">빠른 시작 가이드</a>로 시작하여 몇 분 안에 Kubernetes에서 Elasticsearch 클러스터를 실행할 수 있습니다.</p><p>전체 변경 사항 목록은 <a href="https://github.com/elastic/cloud-on-k8s/releases/tag/v3.4.0">GitHub에서 ECK 3.4.0 릴리즈 노트</a>를 참조하세요.</p><p>지금 바로 Elastic Cloud를 사용하려면 <a href="https://cloud.elastic.co/">Elastic Cloud 콘솔</a>에 로그인하거나 <a href="https://cloud.elastic.co/registration">무료 체험판</a>에 등록하세요.</p><h2>자주 하는 질문</h2><p><strong>토폴로지 확산 제약 조건을 작성하지 않고 ECK에서 Elasticsearch 클러스터 영역 인식을 만들려면 어떻게 해야 하나요?</strong></p><p>Elasticsearch 리소스에 <code>spec.nodeSets[].zoneAwareness: {}</code>을(를) 설정합니다. ECK는 토폴로지를 도출하고, <code>node.attr.zone</code>을(를) 연결하고, <code>maxSkew=1</code> 토폴로지 확산 제약 조건을 설정하고, 하향 레이블을 자동으로 주입합니다. 특정 가용 영역 세트에 고정하려면 <code>zones: [...]</code>을(를) 제공합니다. 기존 NodeSet에서 이 기능을 활성화하면 일회성 롤링 재시작이 수행됩니다.</p><p><strong>Kubernetes에서 Elasticsearch 클러스터의 사양을 수정하지 않고 롤링 재시작을 트리거할 수 있나요?</strong></p><p>예. ECK 3.4에서는 Elasticsearch 리소스에 두 가지 어노테이션이 도입되었습니다. <code>eck.k8s.elastic.co/restart-trigger</code>은(는) 롤링 재시작을 시작하기 위해 타임스탬프와 같은 값을 설정하거나 변경하는 어노테이션이고, <code>eck.k8s.elastic.co/restart-allocation-delay</code>은(는) Elasticsearch 노드 종료 API에 전달되는 선택적 지속 시간 스트링입니다. 트리거 어노테이션을 제거해도 새 재시작은 시작되지 않습니다.</p><p><strong>Kubernetes에서 Kibana와 Elasticsearch 간에 상호 TLS를 활성화하려면 어떻게 해야 하나요?</strong></p><p>ECK 3.4에서는 Elasticsearch CRD에 <code>spec.http.tls.client.authentication: true</code>을(를) 설정하고 Kibana에서 <code>elasticsearchRef</code>을(를) 통해 참조할 수 있습니다. ECK는 Kibana용 클라이언트 인증서를 자동으로 생성하고, <code>eck.k8s.elastic.co/client-certificate: true</code>(으)로 레이블이 지정된 모든 시크릿으로부터 트러스트 번들을 구축하고, <code>xpack.security.http.ssl.client_authentication: required</code>을(를) 구성합니다. mTLS for Kibana ↔ Elasticsearch는 3.4에서 기술 미리 보기로 제공됩니다.</p><p><strong>ECK 3.4 mTLS 지원이 Beats 및 Fleet과 같은 모든 Stack 구성 요소를 포함하나요?</strong></p><p>아직은 아닙니다. Kibana는 3.4에서 오퍼레이터가 클라이언트 인증서를 자동 생성하는 최고 수준의 mTLS 지원을 제공하는 최초의 Stack 구성 요소입니다. 다음 릴리즈에서는 APM Server, Beats, Fleet Server, Elastic Agent, Logstash, Maps 및 Enterprise Search에 대한 지원이 제공될 예정입니다. 그 동안 인증 관리자를 사용하여 이러한 구성 요소에 대한 수동 mTLS를 안내하는 새로운 레시피를 참조하세요.</p><p><strong>ECK는 FIPS 140-3을 지원하나요?</strong></p><p>예, 별도의 오퍼레이터 이미지로 제공됩니다. ECK 3.4는 네이티브 Go FIPS 140-3 지원이 포함된 FIPS 기반 빌드(<code>docker.elastic.co/eck/eck-operator-fips:3.4.0</code>, UBI 변형 포함)를 게시합니다. 표준 <code>eck-operator</code> 이미지는 변경되지 않았습니다. Elasticsearch 9.4.0 이상 버전의 경우<code>xpack.security.fips_mode.enabled: true</code> 이(가) 설정되면 ECK는 FIPS를 준수하는 키 저장소 비밀번호를 자동으로 생성하고 마운트합니다.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-kubernetes-zone-awareness-restarts-mtls</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-kubernetes-zone-awareness-restarts-mtls</guid>
    <category><![CDATA[Kubernetes]]></category>
    <dc:creator><![CDATA[Omer Kushmaro]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltef5f197adb2b717e/6a17e85b4b055d1a85432209/d8a9512a3839164368d348637803c0d486cb1cb2-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>