[ko] Update outdated files in dev-1.23-ko.3 (M1-M16)
parent
d81ac28907
commit
e8c5a078e4
|
@ -9,9 +9,11 @@ slug: dont-panic-kubernetes-and-docker
|
|||
|
||||
**번역:** 박재화(삼성SDS), 손석호(한국전자통신연구원)
|
||||
|
||||
쿠버네티스는 v1.20 이후 컨테이너 런타임으로서
|
||||
[도커를
|
||||
사용 중단(deprecating)](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation)합니다.
|
||||
_업데이트: 쿠버네티스의 `dockershim`을 통한 도커 지원이 제거되었습니다.
|
||||
더 자세한 정보는 [지원 중단 공지](/blog/2020/12/08/kubernetes-1-20-release-announcement/#dockershim-deprecation)를 참고하세요.
|
||||
또는 지원 중단에 대한 [GitHub 이슈](https://github.com/kubernetes/kubernetes/issues/106917)에서 논의를 할 수도 있습니다._
|
||||
|
||||
쿠버네티스는 v1.20 이후 컨테이너 런타임으로서 [도커를 사용 중단(deprecating)](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation)합니다.
|
||||
|
||||
**당황할 필요는 없습니다. 말처럼 극적이진 않습니다.**
|
||||
|
||||
|
@ -103,4 +105,4 @@ containerd가 정말 필요로 하는 것들을 확보하기 위해서 도커심
|
|||
모든 사람이 다가오는 변경 사항에 대해 최대한 많은 교육을 받을 수 있도록 하는 것입니다. 이 글이
|
||||
여러분이 가지는 대부분의 질문에 대한 답이 되었고, 불안을 약간은 진정시켰기를 바랍니다! ❤️
|
||||
|
||||
더 많은 답변을 찾고 계신가요? 함께 제공되는 [도커심 사용 중단 FAQ](/blog/2020/12/02/dockershim-faq/)를 확인하세요.
|
||||
더 많은 답변을 찾고 계신가요? 함께 제공되는 [도커심 제거 FAQ](/blog/2022/02/17/dockershim-faq/)(2022년 2월에 갱신됨)를 확인하세요.
|
||||
|
|
|
@ -3,6 +3,7 @@ layout: blog
|
|||
title: '쿠버네티스 1.22: 새로운 정점에 도달(Reaching New Peaks)'
|
||||
date: 2021-08-04
|
||||
slug: kubernetes-1-22-release-announcement
|
||||
evergreen: true
|
||||
---
|
||||
|
||||
**저자:** [쿠버네티스 1.22 릴리스 팀](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.22/release-team.md)
|
||||
|
|
|
@ -2,256 +2,182 @@
|
|||
title: 커뮤니티
|
||||
layout: basic
|
||||
cid: community
|
||||
community_styles_migrated: true
|
||||
---
|
||||
<img
|
||||
id="banner"
|
||||
srcset="/images/community/kubernetes-community-final-02.jpg 1500w, /images/community/kubernetes-community-02-mobile.jpg 900w"
|
||||
sizes="(max-width: 900px) 900px, (max-width: 1920px) 1500px"
|
||||
src="/images/community/kubernetes-community-final-02.jpg"
|
||||
alt="Kubernetes conference photo">
|
||||
|
||||
<div class="newcommunitywrapper">
|
||||
<div class="banner1">
|
||||
<img src="/images/community/kubernetes-community-final-02.jpg" alt="쿠버네티스 컨퍼런스 갤러리" style="width:100%;padding-left:0px" class="desktop">
|
||||
<img src="/images/community/kubernetes-community-02-mobile.jpg" alt="쿠버네티스 컨퍼런스 갤러리" style="width:100%;padding-left:0px" class="mobile">
|
||||
<div class="community-section" id="introduction">
|
||||
<p>사용자, 기여자, 그리고 우리가 함께 구축한 문화를 통해 구성된 쿠버네티스 커뮤니티는
|
||||
본 오픈소스 프로젝트가 급부상하는 가장 큰 이유 중 하나입니다.
|
||||
프로젝트 자체가 성장하고 변화함에 따라
|
||||
우리의 문화와 가치관 또한 지속적으로 성장하고 변화하고 있습니다.
|
||||
우리 모두는 프로젝트와 작업 방식을 지속적으로 개선하기 위해 함께 노력합니다.</p>
|
||||
<p>우리는 이슈(issue)와 풀 리퀘스트(pull request)를 제출하고, SIG 미팅과 쿠버네티스 모임 그리고 KubeCon에 참석하고,
|
||||
도입(adoption)과 혁신(innovation)을 지지하며,
|
||||
<code>kubectl get pods</code> 를 실행하고,
|
||||
다른 수천가지 중요한 방법으로 기여하는 사람들 입니다.
|
||||
어떻게 하면 이 놀라운 공동체의 일부가 될 수 있는지 계속 읽어보세요.</p>
|
||||
</div>
|
||||
|
||||
<div class="intro">
|
||||
<br class="mobile">
|
||||
<p>사용자, 기여자, 그리고 우리가 함께 구축한 문화를 통해 구성된 쿠버네티스 커뮤니티는 본 오픈소스 프로젝트가 급부상하는 가장 큰 이유 중 하나입니다. 프로젝트 자체가 성장하고 변화함에 따라 우리의 문화와 가치관 또한 지속적으로 성장하고 변화하고 있습니다. 우리 모두는 프로젝트와 작업 방식을 지속적으로 개선하기 위해 함께 노력합니다.
|
||||
<br><br>우리는 이슈(issue)와 풀 리퀘스트(pull request)를 제출하고, SIG 미팅과 쿠버네티스 모임 그리고 KubeCon에 참석하고, 도입(adoption)과 혁신(innovation)을 지지하며, <code>kubectl get pods</code> 를 실행하고, 다른 수천가지 중요한 방법으로 기여하는 사람들 입니다. 어떻게 하면 이 놀라운 공동체의 일부가 될 수 있는지 계속 읽어보세요.</p>
|
||||
<br class="mobile">
|
||||
</div>
|
||||
|
||||
<div class="community__navbar">
|
||||
|
||||
<a href="https://www.kubernetes.dev/">기여자 커뮤니티</a>
|
||||
<a href="#values">커뮤니티 가치</a>
|
||||
<a href="#conduct">행동 강령 </a>
|
||||
<a href="#videos">비디오</a>
|
||||
<a href="#discuss">토론</a>
|
||||
<a href="#events">이벤트와 모임들</a>
|
||||
<a href="#news">새소식</a>
|
||||
<a href="/releases">릴리즈</a>
|
||||
|
||||
</div>
|
||||
<br class="mobile"><br class="mobile">
|
||||
<div class="imagecols">
|
||||
<br class="mobile">
|
||||
<div class="imagecol">
|
||||
<img src="/images/community/kubernetes-community-final-03.jpg" alt="쿠버네티스 컨퍼런스 갤러리" style="width:100%" class="desktop">
|
||||
<div id="navigation-items">
|
||||
<div class="community-nav-item external-link">
|
||||
<a href="https://www.kubernetes.dev/">기여자 커뮤니티</a>
|
||||
</div>
|
||||
|
||||
<div class="imagecol">
|
||||
<img src="/images/community/kubernetes-community-final-04.jpg" alt="쿠버네티스 컨퍼런스 갤러리" style="width:100%" class="desktop">
|
||||
<div class="community-nav-item">
|
||||
<a href="#values">커뮤니티 가치</a>
|
||||
</div>
|
||||
|
||||
<div class="imagecol" style="margin-right:0% important">
|
||||
<img src="/images/community/kubernetes-community-final-05.jpg" alt="쿠버네티스 컨퍼런스 갤러리" style="width:100%;margin-right:0% important" class="desktop">
|
||||
<div class="community-nav-item">
|
||||
<a href="#conduct">행동 강령</a>
|
||||
</div>
|
||||
<div class="community-nav-item">
|
||||
<a href="#videos">비디오</a>
|
||||
</div>
|
||||
<div class="community-nav-item">
|
||||
<a href="#discuss">토론</a>
|
||||
</div>
|
||||
<div class="community-nav-item">
|
||||
<a href="#meetups">밋업</a>
|
||||
</div>
|
||||
<div class="community-nav-item">
|
||||
<a href="#news">새소식</a>
|
||||
</div>
|
||||
<div class="community-nav-item">
|
||||
<a href="/releases">릴리스</a>
|
||||
</div>
|
||||
<img src="/images/community/kubernetes-community-04-mobile.jpg" alt="쿠버네티스 컨퍼런스 갤러리" style="width:100%;margin-bottom:3%" class="mobile">
|
||||
<a name="values"></a>
|
||||
</div>
|
||||
|
||||
<div><a name="values"></a></div>
|
||||
<div class="conduct">
|
||||
<div class="conducttext">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<br class="tablet"><br class="tablet">
|
||||
<div class="conducttextnobutton" style="margin-bottom:2%"><h1>커뮤니티 가치</h1>
|
||||
쿠버네티스 커뮤니티가 추구하는 가치는 프로젝트의 지속적인 성공의 핵심입니다.<br>
|
||||
이러한 원칙은 쿠버네티스 프로젝트의 모든 측면을 이끌어 갑니다.
|
||||
<br>
|
||||
<a href="/community/values/">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<span class="fullbutton">
|
||||
더 읽어 보기
|
||||
</span>
|
||||
<div class="community-section" id="gallery">
|
||||
<img src="/images/community/kubernetes-community-final-03.jpg" alt="쿠버네티스 컨퍼런스 갤러리 사진" class="community-gallery-desktop">
|
||||
<img src="/images/community/kubernetes-community-final-04.jpg" alt="쿠버네티스 컨퍼런스 갤러리 사진" class="community-gallery-desktop">
|
||||
<img src="/images/community/kubernetes-community-final-05.jpg" alt="쿠버네티스 컨퍼런스 갤러리 사진" class="community-gallery-desktop">
|
||||
<img src="/images/community/kubernetes-community-04-mobile.jpg" alt="쿠버네티스 컨퍼런스 갤러리 사진" class="community-gallery-mobile">
|
||||
</div>
|
||||
|
||||
<div class="community-section" id="values">
|
||||
<h2>커뮤니티 가치</h2>
|
||||
<p>쿠버네티스 커뮤니티가 추구하는 가치는 프로젝트의 지속적인 성공의 핵심입니다.<br class="optional"/>
|
||||
이러한 원칙은 쿠버네티스 프로젝트의 모든 측면을 이끌어 갑니다.</p>
|
||||
<a href="https://www.kubernetes.dev/community/values/" class="community-cta-button">
|
||||
<span class="community-cta">더 읽어 보기</span>
|
||||
</a>
|
||||
</div><a name="conduct"></a>
|
||||
</div>
|
||||
|
||||
<div class="community-section" id="conduct">
|
||||
<h2>행동 강령</h2>
|
||||
<p>쿠버네티스 커뮤니티는 존중과 포괄성을 중요시하며 모든 상호작용에 행동 강령을 시행합니다.</p>
|
||||
<p>이벤트나 회의, <a href="#slack">슬랙</a> 또는 다른 커뮤니케이션 메커니즘에서 행동 강령의 위반이 발견되면, 쿠버네티스 행동 강령 위원회 <a href="mailto:conduct@kubernetes.io">conduct@kubernetes.io</a>에 연락하세요. 모든 제보는 기밀로 유지됩니다. <a href="https://github.com/kubernetes/community/tree/master/committee-code-of-conduct">여기</a>서 위원회에 대한 내용을 읽을 수 있습니다.</p>
|
||||
<a href="/ko/community/code-of-conduct/" class="community-cta-button">
|
||||
<span class="community-cta">더 읽어 보기</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="videos" class="community-section">
|
||||
<h2>비디오</h2>
|
||||
|
||||
<p class="community-simple">유튜브에 많이 올라와 있어요. 다양한 주제에 대해 구독하세요.</p>
|
||||
|
||||
<div class="container">
|
||||
<div class="video youtube">
|
||||
<iframe src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP3azFUvYJjGn45YbF6C-uIg" title="Monthly office hours" allow="camera 'none'; microphone 'none'; geolocation 'none'; fullscreen https://www.youtube.com/" ></iframe>
|
||||
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP3azFUvYJjGn45YbF6C-uIg">
|
||||
<span class="videocta">월간 Office Hours 보기 ▶</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="video youtube">
|
||||
<iframe src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ" title="Weekly community meetings" allow="camera 'none'; microphone 'none'; geolocation 'none'; fullscreen https://www.youtube.com/"></iframe>
|
||||
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ">
|
||||
<span class="videocta">주간 커뮤니티 미팅 보기 ▶</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="video youtube" id="discuss">
|
||||
<iframe src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F" title="Talk from a community member" allow="camera 'none'; microphone 'none'; geolocation 'none'; fullscreen https://www.youtube.com/"></iframe>
|
||||
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F">
|
||||
<span class="videocta">커뮤니티 멤버와의 대화 보기 ▶</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="resources" class="community-section">
|
||||
<h2>토론</h2>
|
||||
|
||||
<p class="community-simple">우리는 대화를 많이 합니다. 아래의 플랫폼에서 우리를 찾아 대화에 참여하세요.</p>
|
||||
|
||||
<div class="container">
|
||||
<div class="community-resource">
|
||||
<a href="https://discuss.kubernetes.io/">
|
||||
<img src="/images/community/discuss.png" alt="Forum">
|
||||
</a>
|
||||
<a href="https://discuss.kubernetes.io/">커뮤니티 포럼 ▶</a>
|
||||
<p>문서, 트러블슈팅 및 그 외 더 많은 것을 소개하는
|
||||
주제 기반 기술 토론이 열리는 곳입니다.</p>
|
||||
</div>
|
||||
|
||||
<div id="twitter" class="community-resource">
|
||||
<a href="https://twitter.com/kubernetesio">
|
||||
<img src="/images/community/twitter.png" alt="Twitter">
|
||||
</a>
|
||||
<a href="https://twitter.com/kubernetesio">트위터 ▶</a>
|
||||
<p><em>#kubernetesio</em></p>
|
||||
<p>블로그 게시물, 이벤트, 뉴스, 아이디어에 대한 실시간 소식들입니다.</p>
|
||||
</div>
|
||||
|
||||
<div id="github" class="community-resource">
|
||||
<a href="https://github.com/kubernetes/kubernetes">
|
||||
<img src="/images/community/github.png" alt="GitHub">
|
||||
</a>
|
||||
<a href="https://github.com/kubernetes/kubernetes">GitHub ▶</a>
|
||||
<p>모든 프로젝트와 이슈 추적, 그리고 물론 코드도 있습니다.</p>
|
||||
</div>
|
||||
|
||||
<div id="server-fault" class="community-resource">
|
||||
<a href="https://serverfault.com/questions/tagged/kubernetes">
|
||||
<img src="/images/community/serverfault.png" alt="Server Fault">
|
||||
</a>
|
||||
<a href="https://serverfault.com/questions/tagged/kubernetes">Server Fault ▶</a>
|
||||
<p>Server Fault에 쿠버네티스 관련 토론들이 있습니다. 질문을 하거나, 질문에 답해 보세요.</p>
|
||||
</div>
|
||||
|
||||
<div id="slack" class="community-resource">
|
||||
<a href="https://kubernetes.slack.com/">
|
||||
<img src="/images/community/slack.png" alt="Slack">
|
||||
</a>
|
||||
<a href="https://kubernetes.slack.com/">Slack ▶</a>
|
||||
<p>170개 이상의 채널이 있으며, 필요에 맞는 채널을 찾을 수 있습니다.</p>
|
||||
<details><summary><em>초대가 필요하신가요?</em></summary>
|
||||
초대를 받으려면 <a href="https://slack.k8s.io/">https://slack.k8s.io/</a> 를
|
||||
방문하세요.</details>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="conduct">
|
||||
<div class="conducttext">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<br class="tablet"><br class="tablet">
|
||||
<div class="conducttextnobutton" style="margin-bottom:2%"><h1>행동 강령</h1>
|
||||
쿠버네티스 커뮤니티는 존중과 포괄성을 중요시하며 모든 상호작용에 행동 강령을 시행합니다. 이벤트나 회의, 슬랙 또는 다른 커뮤니케이션 메커니즘에서 행동 강령의 위반이 발견되면, 쿠버네티스 행동 강령 위원회 <a href="mailto:conduct@kubernetes.io" style="color:#0662EE;font-weight:300">conduct@kubernetes.io</a>에 연락하세요. 모든 보고서는 기밀로 유지됩니다. <a href="https://github.com/kubernetes/community/tree/master/committee-code-of-conduct" style="color:#0662EE;font-weight:300">여기</a>서 위원회에 대한 내용을 읽을 수 있습니다.
|
||||
<br>
|
||||
<a href="/ko/community/code-of-conduct/">
|
||||
<br class="mobile"><br class="mobile">
|
||||
|
||||
<span class="fullbutton">
|
||||
더 읽어 보기
|
||||
</span>
|
||||
</a>
|
||||
</div><a name="videos"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="videos">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<br class="tablet"><br class="tablet">
|
||||
<h1 style="margin-top:0px">비디오</h1>
|
||||
|
||||
<div style="margin-bottom:4%;font-weight:300;text-align:center;padding-left:10%;padding-right:10%">유튜브에 많이 올라와 있어요. 다양한 주제에 대해 구독하세요.</div>
|
||||
|
||||
<div class="videocontainer">
|
||||
|
||||
<div class="video">
|
||||
|
||||
<iframe width="100%" height="250" src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP3azFUvYJjGn45YbF6C-uIg" title="월간 Office Hours" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
|
||||
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP3azFUvYJjGn45YbF6C-uIg">
|
||||
<div class="videocta">
|
||||
월간 Office Hours 보기 ▶</div>
|
||||
</a>
|
||||
<div class="community-section" id="events">
|
||||
<div class="container">
|
||||
<h2>다가오는 이벤트</h2>
|
||||
{{< upcoming-events >}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="video">
|
||||
<iframe width="100%" height="250" src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ" title="주간 커뮤니티 미팅" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP1pkHsbPjzAewvMgGUpkCnJ">
|
||||
<div class="videocta">
|
||||
주간 커뮤니티 미팅 보기 ▶
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="video">
|
||||
|
||||
<iframe width="100%" height="250" src="https://www.youtube.com/embed/videoseries?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F" title="커뮤니티 멤버와의 대화" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
||||
|
||||
<a href="https://www.youtube.com/playlist?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F">
|
||||
<div class="videocta">
|
||||
커뮤니티 멤버와의 대화 보기 ▶
|
||||
</div>
|
||||
|
||||
</a>
|
||||
<a name="discuss"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="resources">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<br class="tablet"><br class="tablet">
|
||||
<h1 style="padding-top:1%">토론</h1>
|
||||
|
||||
<div style="font-weight:300;text-align:center">우리는 대화를 많이 합니다. 이 모든 플랫폼에서 우리를 찾아 대화에 참여하세요.</div>
|
||||
|
||||
<div class="resourcecontainer">
|
||||
|
||||
<div class="resourcebox">
|
||||
<img src="/images/community/discuss.png" alt=Forum" style="width:80%;padding-bottom:2%">
|
||||
<a href="https://discuss.kubernetes.io/" style="color:#0662EE;display:block;margin-top:1%">
|
||||
포럼 ▶
|
||||
</a>
|
||||
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">
|
||||
문서, 스택오버플로우 등을 연결하는 주제 기반 기술 토론하는 곳입니다.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resourcebox">
|
||||
<img src="/images/community/twitter.png" alt="Twitter" style="width:80%;padding-bottom:2%">
|
||||
<a href="https://twitter.com/kubernetesio" style="color:#0662EE;display:block;margin-top:1%">
|
||||
트위터 ▶
|
||||
</a>
|
||||
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">블로그 게시물, 이벤트, 뉴스, 아이디어의 실시간 소식들입니다.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resourcebox">
|
||||
<img src="/images/community/github.png" alt="GitHub" style="width:80%;padding-bottom:2%">
|
||||
<a href="https://github.com/kubernetes/kubernetes" style="color:#0662EE;display:block;margin-top:1%">
|
||||
깃헙 ▶
|
||||
</a>
|
||||
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">
|
||||
모든 프로젝트와 이슈 추적, 더불어 코드도 물론이죠.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="resourcebox">
|
||||
<img src="/images/community/stack.png" alt="Stack Overflow" style="width:80%;padding-bottom:2%">
|
||||
<a href="https://stackoverflow.com/search?q=kubernetes" style="color:#0662EE;display:block;margin-top:1%">
|
||||
스택 오버플로우 ▶
|
||||
</a>
|
||||
<div class="resourceboxtext" style="font-size:12px;text-transform:none !important;font-weight:300;line-height:1.4em;color:#333333;margin-top:4%">
|
||||
모든 유스 케이스에 대한 기술적인 문제 해결입니다.
|
||||
<a name="events"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="resourcebox">
|
||||
|
||||
<img src="/images/community/slack.png" style="width:80%">
|
||||
|
||||
slack ▶
|
||||
|
||||
<div class="resourceboxtext" style="font-size:11px;text-transform:none !important;font-weight:200;line-height:1.4em;color:#333333;margin-top:4%">
|
||||
170개 이상의 채널이 있으며, 필요에 맞는 채널을 찾을 수 있습니다.
|
||||
</div>
|
||||
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="events">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<br class="tablet"><br class="tablet">
|
||||
<div class="eventcontainer">
|
||||
<h1 style="color:white !important">다가오는 이벤트</h1>
|
||||
{{< upcoming-events >}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="meetups">
|
||||
<div class="meetupcol">
|
||||
<div class="meetuptext">
|
||||
<h1 style="text-align:left">글로벌 커뮤니티</h1>
|
||||
전 세계 150개가 넘는 모임이 있고 성장하고 있는 가운데, 현지 kube 사람들을 찾아보세요. 가까운 곳에 없다면, 책임감을 갖고 직접 만들어보세요.
|
||||
</div>
|
||||
<a href="https://www.meetup.com/topics/kubernetes/">
|
||||
<div class="button">
|
||||
모임 찾아보기
|
||||
</div>
|
||||
</a>
|
||||
<a name="news"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
<div class="contributor">
|
||||
<div class="contributortext">
|
||||
<br>
|
||||
<h1 style="text-align:left">
|
||||
New Contributors Site
|
||||
</h1>
|
||||
Text about new contributors site.
|
||||
|
||||
<br><br>
|
||||
|
||||
<div class="button">
|
||||
VISIT SITE
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
-->
|
||||
|
||||
<div class="news">
|
||||
<br class="mobile"><br class="mobile">
|
||||
<br class="tablet"><br class="tablet">
|
||||
<h1 style="margin-bottom:2%">최근 소식들</h1>
|
||||
|
||||
<br>
|
||||
<div class="twittercol1">
|
||||
<a class="twitter-timeline" data-tweet-limit="1" href="https://twitter.com/kubernetesio?ref_src=twsrc%5Etfw">Tweets by kubernetesio</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br><br><br><br>
|
||||
<div class="community-section" id="meetups">
|
||||
<h2>글로벌 커뮤니티</h2>
|
||||
<p>
|
||||
전 세계 150개가 넘는 모임이 있고 성장하고 있는 가운데, 가까이에 있는 kube people을 찾아보세요. 가까운 곳에 없다면, 역할을 맡아 직접 만들어보세요.
|
||||
</p>
|
||||
<a href="https://www.meetup.com/topics/kubernetes/" class="community-cta-button">
|
||||
<span class="community-cta">밋업 찾아보기</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="community-section community-frame" id="news">
|
||||
<h2>최근 소식</h2>
|
||||
<div class="twittercol1">
|
||||
<a class="twitter-timeline" data-tweet-limit="1" href="https://twitter.com/kubernetesio?ref_src=twsrc%5Etfw">kubernetesio의 트윗</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,27 +1,29 @@
|
|||
---
|
||||
title: 커뮤니티
|
||||
title: 쿠버네티스 커뮤니티 행동 강령
|
||||
layout: basic
|
||||
cid: community
|
||||
css: /css/community.css
|
||||
community_styles_migrated: true
|
||||
---
|
||||
|
||||
<div class="community_main">
|
||||
<h1>쿠버네티스 커뮤니티 행동 강령</h1>
|
||||
|
||||
<div class="community-section" id="cncf-code-of-conduct-intro">
|
||||
<p>
|
||||
쿠버네티스는
|
||||
<a href="https://github.com/cncf/foundation/blob/master/code-of-conduct.md">CNCF의 행동 강령</a>을 따르고 있습니다.
|
||||
<a href="https://github.com/cncf/foundation/blob/214585e24aab747fb85c2ea44fbf4a2442e30de6/code-of-conduct.md">커밋 214585e</a>
|
||||
에 따라 CNCF 행동 강령의 내용이 아래에 복제됩니다.
|
||||
만약 최신 버전이 아닌 경우에는
|
||||
<a href="https://github.com/kubernetes/website/issues/new">이슈를 제기해 주세요</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
이벤트나 회의, 슬랙 또는 다른 커뮤니케이션
|
||||
메커니즘에서 행동 강령을 위반한 경우
|
||||
<a href="https://git.k8s.io/community/committee-code-of-conduct">쿠버네티스 행동 강령 위원회</a>에 연락하세요.
|
||||
<a href="mailto:conduct@kubernetes.io">conduct@kubernetes.io</a>로 이메일을 보내 주세요.
|
||||
당신의 익명성은 보호됩니다.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="cncf_coc_container">
|
||||
<div id="cncf-code-of-conduct">
|
||||
{{< include "/static/cncf-code-of-conduct.md" >}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
이 디렉터리의 파일은 다른 소스에서 가져왔습니다. 새 버전으로
|
||||
교체하는 경우를 제외하고 직접 편집하지 마십시오.
|
||||
|
||||
현지화 관련 노트: 이 디렉토리의 어떤 파일도
|
||||
번역할 필요는 없습니다.
|
||||
|
|
|
@ -13,7 +13,7 @@ weight: 50
|
|||
* [소유자 참조가 없는 오브젝트](#owners-dependents)
|
||||
* [사용되지 않는 컨테이너와 컨테이너 이미지](#containers-images)
|
||||
* [반환 정책이 삭제인 스토리지클래스에 의해 동적으로 생성된 퍼시스턴트볼륨](/ko/docs/concepts/storage/persistent-volumes/#delete)
|
||||
* [Stale 또는 만료된 CertificateSigningRequests (CSRs)](/docs/reference/access-authn-authz/certificate-signing-requests/#request-signing-process) <!-- en 글에서부터 링크가 깨져있어 /docs를 따로 추가-->
|
||||
* [Stale 또는 만료된 CertificateSigningRequests (CSRs)](/docs/reference/access-authn-authz/certificate-signing-requests/#request-signing-process)
|
||||
* {{<glossary_tooltip text="노드" term_id="node">}} 는 다음과 같은 상황에서 삭제된다:
|
||||
* 클러스터가 [클라우드 컨트롤러 매니저](/ko/docs/concepts/architecture/cloud-controller/)를 사용하는 클라우드
|
||||
* 클러스터가 클라우드 컨트롤러 매니저와 유사한 애드온을 사용하는 온프레미스
|
||||
|
|
|
@ -33,9 +33,9 @@ weight: 10
|
|||
1. 노드의 kubelet으로 컨트롤 플레인에 자체 등록
|
||||
2. 사용자(또는 다른 사용자)가 노드 오브젝트를 수동으로 추가
|
||||
|
||||
노드 {{< glossary_tooltip text="오브젝트" term_id="object" >}} 또는 노드의 kubelet으로 자체 등록한 후
|
||||
컨트롤 플레인은 새 노드 오브젝트가 유효한지 확인한다.
|
||||
예를 들어 다음 JSON 매니페스트에서 노드를 만들려는 경우이다.
|
||||
사용자가 노드 {{< glossary_tooltip text="오브젝트" term_id="object" >}}를 생성하거나,
|
||||
또는 노드의 kubelet이 해당 노드를 자체적으로 등록하면, 컨트롤 플레인은 새 노드 오브젝트가 유효한지 확인한다.
|
||||
예를 들어, 사용자가 다음의 JSON 매니페스트로 노드를 생성하는 상황을 가정해 보자.
|
||||
|
||||
```json
|
||||
{
|
||||
|
@ -50,17 +50,17 @@ weight: 10
|
|||
}
|
||||
```
|
||||
|
||||
쿠버네티스는 내부적으로 노드 오브젝트를 생성한다(표시한다). 쿠버네티스는
|
||||
kubelet이 노드의 `metadata.name` 필드와 일치하는 API 서버에 등록이 되어 있는지 확인한다.
|
||||
노드가 정상이면(예를 들어 필요한 모든 서비스가 실행중인 경우) 파드를 실행할 수 있게 된다.
|
||||
그렇지 않으면, 해당 노드는 정상이 될 때까지 모든 클러스터 활동에
|
||||
대해 무시된다.
|
||||
쿠버네티스는 내부적으로 노드 오브젝트를 생성한다(이는 표현(representation)이다).
|
||||
쿠버네티스는 kubelet이 노드의 `metadata.name` 필드와 일치하는 노드 오브젝트를
|
||||
API 서버에 등록했는지 확인한다.
|
||||
노드가 정상이면(예를 들어 모든 필요 서비스가 실행중인 경우) 파드를 실행할 수 있게 된다.
|
||||
그렇지 않으면, 해당 노드는 정상이 되기 전까지 모든 클러스터 활동에 대해 무시된다.
|
||||
|
||||
{{< note >}}
|
||||
쿠버네티스는 유효하지 않은 노드 오브젝트를 유지하고, 노드가
|
||||
정상적인지 확인한다.
|
||||
쿠버네티스는 유효하지 않은 노드에 대한 노드 오브젝트를 유지하면서,
|
||||
노드가 정상 상태로 바뀌었는지를 계속 확인한다.
|
||||
|
||||
상태 확인을 중지하려면 사용자 또는 {{< glossary_tooltip term_id="controller" text="컨트롤러">}}에서
|
||||
이러한 상태 확인을 중지하려면 사용자 또는 {{< glossary_tooltip term_id="controller" text="컨트롤러">}}가
|
||||
노드 오브젝트를 명시적으로 삭제해야 한다.
|
||||
{{< /note >}}
|
||||
|
||||
|
@ -86,17 +86,21 @@ kubelet 플래그 `--register-node`가 참(기본값)일 경우, kubelet은 API
|
|||
자체-등록에 대해, kubelet은 다음 옵션과 함께 시작된다.
|
||||
|
||||
- `--kubeconfig` - apiserver에 스스로 인증하기 위한 자격증명에 대한 경로.
|
||||
- `--cloud-provider` - 자신에 대한 메터데이터를 읽기 위해 어떻게 {{< glossary_tooltip text="클라우드 제공자" term_id="cloud-provider" >}}와 소통할지에 대한 방법.
|
||||
- `--cloud-provider` - 자신에 대한 메터데이터를 읽기 위해 어떻게
|
||||
{{< glossary_tooltip text="클라우드 제공자" term_id="cloud-provider" >}}와 소통할지에 대한 방법.
|
||||
- `--register-node` - 자동으로 API 서버에 등록.
|
||||
- `--register-with-taints` - 주어진 {{< glossary_tooltip text="테인트(taint)" term_id="taint" >}} 리스트(콤마로 분리된 `<key>=<value>:<effect>`)를 가진 노드 등록.
|
||||
- `--register-with-taints` - 주어진 {{< glossary_tooltip text="테인트(taint)" term_id="taint" >}}
|
||||
리스트(콤마로 분리된 `<key>=<value>:<effect>`)를 가진 노드 등록.
|
||||
|
||||
`register-node`가 거짓이면 동작 안 함.
|
||||
- `--node-ip` - 노드의 IP 주소.
|
||||
- `--node-labels` - 클러스터에 노드를 등록할 때 추가 할 {{< glossary_tooltip text="레이블" term_id="label" >}}([NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction)에 의해 적용되는 레이블 제한 사항 참고).
|
||||
- `--node-status-update-frequency` - 얼마나 자주 kubelet이 마스터에 노드 상태를 게시할 지 정의.
|
||||
- `--node-labels` - 클러스터에 노드를 등록할 때 추가 할
|
||||
{{< glossary_tooltip text="레이블" term_id="label" >}}
|
||||
([NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction)에 의해 적용되는 레이블 제한 사항 참고).
|
||||
- `--node-status-update-frequency` - 얼마나 자주 kubelet이 API 서버에 해당 노드 상태를 게시할 지 정의.
|
||||
|
||||
[Node authorization mode](/docs/reference/access-authn-authz/node/)와
|
||||
[NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction)이 활성화 되면,
|
||||
[NodeRestriction admission plugin](/docs/reference/access-authn-authz/admission-controllers/#noderestriction)이 활성화되면,
|
||||
각 kubelet은 자신이 속한 노드의 리소스에 대해서만 생성/수정할 권한을 가진다.
|
||||
|
||||
{{< note >}}
|
||||
|
@ -168,8 +172,10 @@ kubectl describe node <insert-node-name-here>
|
|||
|
||||
이 필드의 용법은 클라우드 제공사업자 또는 베어메탈 구성에 따라 다양하다.
|
||||
|
||||
* HostName: 노드의 커널에 의해 알려진 호스트명이다. `--hostname-override` 파라미터를 통해 치환될 수 있다.
|
||||
* ExternalIP: 일반적으로 노드의 IP 주소는 외부로 라우트 가능 (클러스터 외부에서 이용 가능) 하다 .
|
||||
* HostName: 노드의 커널에 의해 알려진 호스트명이다.
|
||||
`--hostname-override` 파라미터를 통해 치환될 수 있다.
|
||||
* ExternalIP: 일반적으로 노드의 IP 주소는
|
||||
외부로 라우트 가능 (클러스터 외부에서 이용 가능) 하다.
|
||||
* InternalIP: 일반적으로 노드의 IP 주소는 클러스터 내에서만 라우트 가능하다.
|
||||
|
||||
|
||||
|
@ -289,7 +295,6 @@ kubelet은 노드의 `.status` 생성과 업데이트 및
|
|||
만약 리스 업데이트가 실패하면, kubelet은 200밀리초에서 시작하고
|
||||
7초의 상한을 갖는 지수적 백오프를 사용해서 재시도한다.
|
||||
|
||||
|
||||
### 노드 컨트롤러
|
||||
|
||||
노드 {{< glossary_tooltip text="컨트롤러" term_id="controller" >}}는
|
||||
|
@ -306,18 +311,21 @@ kubelet은 노드의 `.status` 생성과 업데이트 및
|
|||
|
||||
세 번째는 노드의 동작 상태를 모니터링하는 것이다. 노드 컨트롤러는
|
||||
다음을 담당한다.
|
||||
- 노드가 접근 불가능(unreachable) 상태가 되는 경우, 노드의 `.status`
|
||||
내에 있는 NodeReady 컨디션을 업데이트한다.
|
||||
이 경우에는 노드 컨트롤러가 NodeReady 컨디션을 `ConditionUnknown`으로 설정한다.
|
||||
|
||||
- 노드가 접근 불가능(unreachable) 상태가 되는 경우,
|
||||
노드의 `.status` 필드의 `Ready` 컨디션을 업데이트한다.
|
||||
이 경우에는 노드 컨트롤러가 `Ready` 컨디션을 `Unknown`으로 설정한다.
|
||||
- 노드가 계속 접근 불가능 상태로 남아있는 경우, 해당 노드의 모든 파드에 대해서
|
||||
[API를 이용한 축출](/ko/docs/concepts/scheduling-eviction/api-eviction/)을
|
||||
트리거한다. 기본적으로, 노드 컨트롤러는 노드를
|
||||
`ConditionUnknown`으로 마킹한 뒤 5분을 기다렸다가
|
||||
`Unknown`으로 마킹한 뒤 5분을 기다렸다가
|
||||
최초의 축출 요청을 시작한다.
|
||||
|
||||
노드 컨트롤러는 매 `--node-monitor-period` 초 마다 각 노드의 상태를 체크한다.
|
||||
기본적으로, 노드 컨트롤러는 5 초마다 각 노드의 상태를 체크한다.
|
||||
체크 주기는 `kube-controller-manager` 구성 요소의
|
||||
`--node-monitor-period` 플래그를 이용하여 설정할 수 있다.
|
||||
|
||||
#### 축출 빈도 한계
|
||||
#### 축출 빈도 제한
|
||||
|
||||
대부분의 경우, 노드 컨트롤러는 초당 `--node-eviction-rate`(기본값 0.1)로
|
||||
축출 속도를 제한한다. 이 말은 10초당 1개의 노드를 초과하여
|
||||
|
@ -325,8 +333,9 @@ kubelet은 노드의 `.status` 생성과 업데이트 및
|
|||
|
||||
노드 축출 행위는 주어진 가용성 영역 내 하나의 노드가 상태가 불량할
|
||||
경우 변화한다. 노드 컨트롤러는 영역 내 동시에 상태가 불량한 노드의 퍼센티지가 얼마나 되는지
|
||||
체크한다(NodeReady 컨디션은 `ConditionUnknown` 또는
|
||||
`ConditionFalse` 다).
|
||||
체크한다(`Ready` 컨디션은 `Unknown` 또는
|
||||
`False` 값을 가진다).
|
||||
|
||||
- 상태가 불량한 노드의 비율이 최소 `--unhealthy-zone-threshold`
|
||||
(기본값 0.55)가 되면 축출 속도가 감소한다.
|
||||
- 클러스터가 작으면 (즉 `--large-cluster-size-threshold`
|
||||
|
@ -335,7 +344,7 @@ kubelet은 노드의 `.status` 생성과 업데이트 및
|
|||
`--secondary-node-eviction-rate`(기본값 0.01)로 감소된다.
|
||||
|
||||
이 정책들이 가용성 영역 단위로 실행되어지는 이유는 나머지가 연결되어 있는 동안
|
||||
하나의 가용성 영역이 마스터로부터 분할되어 질 수도 있기 때문이다.
|
||||
하나의 가용성 영역이 컨트롤 플레인으로부터 분할되어 질 수도 있기 때문이다.
|
||||
만약 클러스터가 여러 클라우드 제공사업자의 가용성 영역에 걸쳐 있지 않는 이상,
|
||||
축출 매커니즘은 영역 별 가용성을 고려하지 않는다.
|
||||
|
||||
|
@ -377,7 +386,7 @@ kubelet은 노드의 `.status` 생성과 업데이트 및
|
|||
|
||||
## 노드 토폴로지
|
||||
|
||||
{{< feature-state state="alpha" for_k8s_version="v1.16" >}}
|
||||
{{< feature-state state="beta" for_k8s_version="v1.18" >}}
|
||||
|
||||
`TopologyManager`
|
||||
[기능 게이트(feature gate)](/ko/docs/reference/command-line-tools-reference/feature-gates/)를
|
||||
|
@ -391,7 +400,9 @@ kubelet은 노드의 `.status` 생성과 업데이트 및
|
|||
|
||||
kubelet은 노드 시스템 셧다운을 감지하고 노드에서 실행 중인 파드를 종료하려고 시도한다.
|
||||
|
||||
Kubelet은 노드가 종료되는 동안 파드가 일반 [파드 종료 프로세스](/ko/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination)를 따르도록 한다.
|
||||
Kubelet은 노드가 종료되는 동안 파드가
|
||||
일반 [파드 종료 프로세스](/ko/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination)를
|
||||
따르도록 한다.
|
||||
|
||||
그레이스풀 노드 셧다운 기능은
|
||||
[systemd inhibitor locks](https://www.freedesktop.org/wiki/Software/systemd/inhibit/)를
|
||||
|
@ -404,18 +415,26 @@ Kubelet은 노드가 종료되는 동안 파드가 일반 [파드 종료 프로
|
|||
기본적으로, 아래 설명된 두 구성 옵션,
|
||||
`shutdownGracePeriod` 및 `shutdownGracePeriodCriticalPods` 는 모두 0으로 설정되어 있으므로,
|
||||
그레이스풀 노드 셧다운 기능이 활성화되지 않는다.
|
||||
기능을 활성화하려면, 두 개의 kubelet 구성 설정을 적절하게 구성하고 0이 아닌 값으로 설정해야 한다.
|
||||
기능을 활성화하려면, 두 개의 kubelet 구성 설정을 적절하게 구성하고
|
||||
0이 아닌 값으로 설정해야 한다.
|
||||
|
||||
그레이스풀 셧다운 중에 kubelet은 다음의 두 단계로 파드를 종료한다.
|
||||
|
||||
1. 노드에서 실행 중인 일반 파드를 종료시킨다.
|
||||
2. 노드에서 실행 중인 [중요(critical) 파드](/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#파드를-중요-critical-로-표시하기)를 종료시킨다.
|
||||
2. 노드에서 실행 중인
|
||||
[중요(critical) 파드](/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#파드를-중요-critical-로-표시하기)를 종료시킨다.
|
||||
|
||||
그레이스풀 노드 셧다운 기능은
|
||||
두 개의 [`KubeletConfiguration`](/docs/tasks/administer-cluster/kubelet-config-file/) 옵션으로 구성된다.
|
||||
|
||||
그레이스풀 노드 셧다운 기능은 두 개의 [`KubeletConfiguration`](/docs/tasks/administer-cluster/kubelet-config-file/) 옵션으로 구성된다.
|
||||
* `shutdownGracePeriod`:
|
||||
* 노드가 종료를 지연해야 하는 총 기간을 지정한다. 이것은 모든 일반 및 [중요 파드](/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#파드를-중요-critical-로-표시하기)의 파드 종료에 필요한 총 유예 기간에 해당한다.
|
||||
* 노드가 종료를 지연해야 하는 총 기간을 지정한다.
|
||||
이것은 모든 일반 및 [중요 파드](/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#파드를-중요-critical-로-표시하기)의
|
||||
파드 종료에 필요한 총 유예 기간에 해당한다.
|
||||
* `shutdownGracePeriodCriticalPods`:
|
||||
* 노드 종료 중에 [중요 파드](/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#파드를-중요-critical-로-표시하기)를 종료하는 데 사용되는 기간을 지정한다. 이 값은 `shutdownGracePeriod` 보다 작아야 한다.
|
||||
* 노드 종료 중에 [중요 파드](/ko/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/#파드를-중요-critical-로-표시하기)를
|
||||
종료하는 데 사용되는 기간을 지정한다.
|
||||
이 값은 `shutdownGracePeriod` 보다 작아야 한다.
|
||||
|
||||
예를 들어, `shutdownGracePeriod=30s`,
|
||||
`shutdownGracePeriodCriticalPods=10s` 인 경우, kubelet은 노드 종료를 30초까지
|
||||
|
@ -443,7 +462,7 @@ Message: Pod was terminated in response to imminent node shutdown.
|
|||
클러스터에 프라이어리티클래스(PriorityClass) 기능이 활성화되어 있으면
|
||||
그레이스풀 노드 셧다운 과정에서 파드의 프라이어리티클래스가 고려된다.
|
||||
이 기능으로 그레이스풀 노드 셧다운 시 파드가 종료되는 순서를 클러스터 관리자가
|
||||
[프라이어리티클래스](/ko/docs/concepts/scheduling-eviction/pod-priority-preemption/#프라이어리티클래스)
|
||||
[프라이어리티 클래스](/ko/docs/concepts/scheduling-eviction/pod-priority-preemption/#프라이어리티클래스)
|
||||
기반으로 명시적으로 정할 수 있다.
|
||||
|
||||
위에서 기술된 것처럼, [그레이스풀 노드 셧다운](#graceful-node-shutdown) 기능은 파드를
|
||||
|
@ -492,7 +511,7 @@ shutdownGracePeriodByPodPriority:
|
|||
shutdownGracePeriodSeconds: 60
|
||||
```
|
||||
|
||||
위의 표에 의하면 우선순위 값이 100000 이상인 파드는 종료까지 10초만 주어지며,
|
||||
위의 표에 의하면 `priority` 값이 100000 이상인 파드는 종료까지 10초만 주어지며,
|
||||
10000 이상 ~ 100000 미만이면 180초,
|
||||
1000 이상 ~ 10000 미만이면 120초가 주어진다.
|
||||
마지막으로, 다른 모든 파드는 종료까지 60초가 주어질 것이다.
|
||||
|
@ -507,7 +526,7 @@ shutdownGracePeriodByPodPriority:
|
|||
| 0 |60 seconds |
|
||||
|
||||
|
||||
위의 경우, custom-class-b에 속하는 파드와 custom-class-c에 속하는 파드는
|
||||
위의 경우, `custom-class-b`에 속하는 파드와 `custom-class-c`에 속하는 파드는
|
||||
동일한 종료 대기 시간을 갖게 될 것이다.
|
||||
|
||||
특정 범위에 해당되는 파드가 없으면,
|
||||
|
@ -522,6 +541,9 @@ kubelet 환경 설정의 `ShutdownGracePeriodByPodPriority`를
|
|||
파드 프라이어리티 클래스 값과
|
||||
각 값에 대한 종료 대기 시간을 명시하여 지정해야 한다.
|
||||
|
||||
`graceful_shutdown_start_time_seconds` 및 `graceful_shutdown_end_time_seconds` 메트릭은
|
||||
노드 셧다운을 모니터링하기 위해 kubelet 서브시스템에서 방출된다.
|
||||
|
||||
## 스왑(swap) 메모리 관리 {#swap-memory}
|
||||
|
||||
{{< feature-state state="alpha" for_k8s_version="v1.22" >}}
|
||||
|
|
|
@ -30,7 +30,7 @@ content_type: concept
|
|||
* [OVN4NFV-K8S-Plugin](https://github.com/opnfv/ovn4nfv-k8s-plugin)은 OVN 기반의 CNI 컨트롤러 플러그인으로 클라우드 네이티브 기반 서비스 기능 체인(Service function chaining(SFC)), 다중 OVN 오버레이 네트워킹, 동적 서브넷 생성, 동적 가상 네트워크 생성, VLAN 공급자 네트워크, 직접 공급자 네트워크와 멀티 클러스터 네트워킹의 엣지 기반 클라우드 등 네이티브 워크로드에 이상적인 멀티 네티워크 플러그인이다.
|
||||
* [NSX-T](https://docs.vmware.com/en/VMware-NSX-T/2.0/nsxt_20_ncp_kubernetes.pdf) 컨테이너 플러그인(NCP)은 VMware NSX-T와 쿠버네티스와 같은 컨테이너 오케스트레이터 간의 통합은 물론 NSX-T와 PKS(Pivotal 컨테이너 서비스) 및 OpenShift와 같은 컨테이너 기반 CaaS/PaaS 플랫폼 간의 통합을 제공한다.
|
||||
* [Nuage](https://github.com/nuagenetworks/nuage-kubernetes/blob/v5.1.1-1/docs/kubernetes-1-installation.rst)는 가시성과 보안 모니터링 기능을 통해 쿠버네티스 파드와 비-쿠버네티스 환경 간에 폴리시 기반 네트워킹을 제공하는 SDN 플랫폼이다.
|
||||
* [Romana](https://github.com/romana/romana)는 [네트워크폴리시 API](/ko/docs/concepts/services-networking/network-policies/)도 지원하는 파드 네트워크용 Layer 3 네트워킹 솔루션이다. Kubeadm 애드온 설치에 대한 세부 정보는 [여기](https://github.com/romana/romana/tree/master/containerize)에 있다.
|
||||
* [Romana](https://github.com/romana)는 [네트워크폴리시 API](/ko/docs/concepts/services-networking/network-policies/)도 지원하는 파드 네트워크용 Layer 3 네트워킹 솔루션이다.
|
||||
* [Weave Net](https://www.weave.works/docs/net/latest/kubernetes/kube-addon/)은 네트워킹 및 네트워크 폴리시를 제공하고, 네트워크 파티션의 양면에서 작업을 수행하며, 외부 데이터베이스는 필요하지 않다.
|
||||
|
||||
## 서비스 검색
|
||||
|
|
|
@ -12,7 +12,9 @@ weight: 60
|
|||
애플리케이션 로그는 애플리케이션 내부에서 발생하는 상황을 이해하는 데 도움이 된다. 로그는 문제를 디버깅하고 클러스터 활동을 모니터링하는 데 특히 유용하다. 대부분의 최신 애플리케이션에는 일종의 로깅 메커니즘이 있다. 마찬가지로, 컨테이너 엔진들도 로깅을 지원하도록 설계되었다. 컨테이너화된 애플리케이션에 가장 쉽고 가장 널리 사용되는 로깅 방법은 표준 출력과 표준 에러 스트림에 작성하는 것이다.
|
||||
|
||||
그러나, 일반적으로 컨테이너 엔진이나 런타임에서 제공하는 기본 기능은 완전한 로깅 솔루션으로 충분하지 않다.
|
||||
|
||||
예를 들어, 컨테이너가 크래시되거나, 파드가 축출되거나, 노드가 종료된 경우에도 애플리케이션의 로그에 접근하고 싶을 것이다.
|
||||
|
||||
클러스터에서 로그는 노드, 파드 또는 컨테이너와는 독립적으로 별도의 스토리지와 라이프사이클을 가져야 한다. 이 개념을 _클러스터-레벨-로깅_ 이라고 한다.
|
||||
|
||||
<!-- body -->
|
||||
|
@ -55,7 +57,15 @@ kubectl logs counter
|
|||
...
|
||||
```
|
||||
|
||||
`kubectl logs --previous` 를 사용해서 컨테이너의 이전 인스턴스에 대한 로그를 검색할 수 있다. 파드에 여러 컨테이너가 있는 경우, 명령에 컨테이너 이름을 추가하여 접근하려는 컨테이너 로그를 지정해야 한다. 자세한 내용은 [`kubectl logs` 문서](/docs/reference/generated/kubectl/kubectl-commands#logs)를 참조한다.
|
||||
`kubectl logs --previous` 를 사용해서 컨테이너의 이전 인스턴스에 대한 로그를 검색할 수 있다.
|
||||
파드에 여러 컨테이너가 있는 경우,
|
||||
다음과 같이 명령에 `-c` 플래그와 컨테이너 이름을 추가하여 접근하려는 컨테이너 로그를 지정해야 한다.
|
||||
|
||||
```console
|
||||
kubectl logs counter -c count
|
||||
```
|
||||
|
||||
자세한 내용은 [`kubectl logs` 문서](/docs/reference/generated/kubectl/kubectl-commands#logs)를 참조한다.
|
||||
|
||||
## 노드 레벨에서의 로깅
|
||||
|
||||
|
@ -141,7 +151,7 @@ systemd를 사용하지 않으면, kubelet과 컨테이너 런타임은 `/var/lo
|
|||
|
||||
노드-레벨 로깅은 노드별 하나의 에이전트만 생성하며, 노드에서 실행되는 애플리케이션에 대한 변경은 필요로 하지 않는다.
|
||||
|
||||
컨테이너는 stdout과 stderr를 동의되지 않은 포맷으로 작성한다. 노드-레벨 에이전트는 이러한 로그를 수집하고 취합을 위해 전달한다.
|
||||
컨테이너는 로그를 stdout과 stderr로 출력하며, 합의된 형식은 없다. 노드-레벨 에이전트는 이러한 로그를 수집하고 취합을 위해 전달한다.
|
||||
|
||||
### 로깅 에이전트와 함께 사이드카 컨테이너 사용 {#sidecar-container-with-logging-agent}
|
||||
|
||||
|
|
|
@ -154,7 +154,7 @@ deployment.apps/my-deployment created
|
|||
persistentvolumeclaim/my-pvc created
|
||||
```
|
||||
|
||||
`kubectl` 에 대해 더 자세히 알고 싶다면, [kubectl 개요](/ko/docs/reference/kubectl/overview/)를 참조한다.
|
||||
`kubectl` 에 대해 더 자세히 알고 싶다면, [명령줄 도구 (kubectl)](/ko/docs/reference/kubectl/)를 참조한다.
|
||||
|
||||
## 효과적인 레이블 사용
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ weight: 20
|
|||
사용하여 데이터를 비공개로 유지하자.
|
||||
{{< /caution >}}
|
||||
|
||||
|
||||
<!-- body -->
|
||||
## 사용 동기
|
||||
|
||||
|
@ -42,7 +41,7 @@ API [오브젝트](/ko/docs/concepts/overview/working-with-objects/kubernetes-ob
|
|||
`spec` 이 있는 대부분의 쿠버네티스 오브젝트와 달리, 컨피그맵에는 `data` 및 `binaryData`
|
||||
필드가 있다. 이러한 필드는 키-값 쌍을 값으로 허용한다. `data` 필드와
|
||||
`binaryData` 는 모두 선택 사항이다. `data` 필드는
|
||||
UTF-8 바이트 시퀀스를 포함하도록 설계되었으며 `binaryData` 필드는 바이너리
|
||||
UTF-8 문자열을 포함하도록 설계되었으며 `binaryData` 필드는 바이너리
|
||||
데이터를 base64로 인코딩된 문자열로 포함하도록 설계되었다.
|
||||
|
||||
컨피그맵의 이름은 유효한
|
||||
|
|
|
@ -47,10 +47,9 @@ feature:
|
|||
다른 방식으로 동일한 제약을 구현할 수 있다.
|
||||
|
||||
{{< note >}}
|
||||
컨테이너가 자체 메모리 제한을 지정하지만, 메모리 요청을 지정하지 않는 경우, 쿠버네티스는
|
||||
제한과 일치하는 메모리 요청을 자동으로 할당한다. 마찬가지로, 컨테이너가 자체 CPU 제한을
|
||||
지정하지만, CPU 요청을 지정하지 않는 경우, 쿠버네티스는 제한과 일치하는 CPU 요청을 자동으로
|
||||
할당한다.
|
||||
리소스에 대해 제한은 지정하지만 요청은 지정하지 않고,
|
||||
해당 리소스에 대한 요청 기본값을 지정하는 승인-시점 메커니즘(admission-time mechanism)이 없는 경우,
|
||||
쿠버네티스는 당신이 지정한 제한을 복사하여 해당 리소스의 요청 값으로 사용한다.
|
||||
{{< /note >}}
|
||||
|
||||
## 리소스 타입
|
||||
|
@ -229,7 +228,7 @@ kubelet은 해당 컨테이너의 메모리/CPU 요청 및 제한을 컨테이
|
|||
kubelet은 파드의 리소스 사용량을 파드
|
||||
[`status`](/ko/docs/concepts/overview/working-with-objects/kubernetes-objects/#오브젝트-명세-spec-와-상태-status)에 포함하여 보고한다.
|
||||
|
||||
클러스터에서 선택적인 모니터링 도구를
|
||||
클러스터에서 선택적인 [모니터링 도구](/ko/docs/tasks/debug/debug-cluster/resource-usage-monitoring/)를
|
||||
사용할 수 있다면, [메트릭 API](/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline/#메트릭-api)에서
|
||||
직접 또는 모니터링 도구에서 파드 리소스
|
||||
사용량을 검색할 수 있다.
|
||||
|
@ -801,5 +800,5 @@ Events:
|
|||
* [컨테이너와 파드에 CPU 리소스를 할당](/docs/tasks/configure-pod-container/assign-cpu-resource/)하는 핸즈온 경험을 해보자.
|
||||
* API 레퍼런스에 [컨테이너](/docs/reference/kubernetes-api/workload-resources/pod-v1/#Container)와
|
||||
[컨테이너 리소스 요구사항](/docs/reference/kubernetes-api/workload-resources/pod-v1/#resources)이 어떻게 정의되어 있는지 확인한다.
|
||||
* XFS의 [프로젝트 쿼터](https://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-quotas.html)에 대해 읽어보기
|
||||
* XFS의 [프로젝트 쿼터](https://xfs.org/index.php/XFS_FAQ#Q:_Quota:_Do_quotas_work_on_XFS.3F)에 대해 읽어보기
|
||||
* [kube-scheduler 정책 레퍼런스 (v1beta3)](/docs/reference/config-api/kube-scheduler-config.v1beta3/)에 대해 더 읽어보기
|
||||
|
|
|
@ -148,7 +148,28 @@ kubeconfig 파일에서 파일과 경로 참조는 kubeconfig 파일의 위치
|
|||
`$HOME/.kube/config`에서 상대 경로는 상대적으로, 절대 경로는
|
||||
절대적으로 저장한다.
|
||||
|
||||
## 프록시
|
||||
|
||||
다음과 같이 kubeconfig 파일에 `proxy-url`을 설정하여 `kubectl`이 프록시를 거치도록 설정할 수 있다.
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Config
|
||||
|
||||
proxy-url: https://proxy.host:3128
|
||||
|
||||
clusters:
|
||||
- cluster:
|
||||
name: development
|
||||
|
||||
users:
|
||||
- name: developer
|
||||
|
||||
contexts:
|
||||
- context:
|
||||
name: development
|
||||
|
||||
```
|
||||
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue