Kubernetes
v1.2의milestone의 issue/PR과
release-1.1와
release-1.2의 지점에 있는 diff가 Kubernetes1.2에 진입하는 주요 변화를 정리했습니다.켈시 하이타워씨
KubeCon 2016 유럽연합에서 발표된 1.2에 대한 트윗에 따르면 발표는 3월 말로 예정된 것 같다.
추가 참조 정보
kubernetes-dev MLKubernetes 1.2 Timeline 스레드 Kubernetes GitHub Wiki Release-1.2
GCP Podcast #16 Kubernetes 1.2 with Kelsey Hightower
변경 사항
전체적
ConfigMap 설치됨 여러 설정된 대상을 종합하여volume 또는 환경 변수로 Pod에 전달할 수 있음
공식 문서 Using ConfigMap
시크릿과 비슷하지만 업데이트는 Pod에 동적으로 반영됩니까?(Volume로 사용할 경우) 설계 문서Generic Configuration Object
Aggregator for ConfigMap resource implementation #18455
작업이 안정적으로 업그레이드됨 일괄 처리와 같은 종료 처리를 수행하는 데 사용되는 리소스 공식 문서 Jobs
Job: requirements for graduation to stable #15985
Copy Jobs to batch/v1 group #21434 batch/v1 그룹으로 이동
기본적으로 배포 활성화(Beta로 업그레이드) Deployment에서 Replication Controller, Pod의 선언적 업데이트를 허용하는 기능 kubectl rolling-update
클라이언트에서 업데이트되지만 서버에 배치되어 더 명확하게 쓸 수 있음 공식 문서 Deployments
Enable deployments by default #20517 Deployment: requirements for graduation to "beta" #15313
기본적으로 DaemonSet 활성화(Beta로 업그레이드) DaemonSet이 모든 노드에서 특정 Pod을 이동하려는 경우 사용할 수 있는 기능 예를 들어 각 노드의 감시 수호 프로세스나 군집 저장된 수호 프로세스 등 공식 문서 Daemon Sets
Graduate DaemonSet API to v1beta1, enable it by default. #21130
Inert Deployment 구현 Deployment는 config의 변경을 촉발할 수 있지만 이 변경의 기능을 잠시 정지할 수 있습니다 RFC: Inert deployments #14516
ReplicaSet 추가 이름이 이해하기 힘들다는 "Replication Controller"의 레네임 준비? Create ReplicaSet #3024
Introducing ReplicaSet, a new incarnation of Replication Controller. #19042
기본 TLS 지원 포털 https://github.com/kubernetes/kubernetes/pull/20142 GCE 지원 Ubernetes Lite Ubernetes는 여러 공급자, 여러 지역의 집단 협업을 위한 기능으로 제시되었다 Ubernetes Lite는 동일한 공급업체에서만 여러 Availability Zone을 지원하는 경량 버전입니다. 자세한 내용은 ProposalKubernetes Multi-AZ Clusters 참조
Ubernetes Lite support for GCE #17919
스케줄러 성능 개선 CoreOS가 블로그에서 소개한 스케줄러 개선이 몇 가지 도입되었다 CoreOS Blog: Improving Kubernetes Scheduler Performance
scheduler: using inefficient math library causes significant slowdown #18126 scheduler: inefficient cache operation slows down scheduler #18255
Scheduler에 노드 종속성 추가 노드 선택기 대신Pod가 작업하는 노드를 선택하는 기능(affinity=상성) 최종 NodeSelector는 deprecated 기본적으로 다음 Node 레이블을 준비하는 것도 영리합니다. kubernetes.io/hostname
failure-domain.beta.kubernetes.io/zone
failure-domain.beta.kubernetes.io/region
beta.kubernetes.io/instance-type
설계 문서Node affinity and NodeSelector
Update user guide and scheduler documentation to describe node affinity #21235 Pod Affinity라는 기능도 제시했어요. Pod의 Anti-affinity를 사용하는 경우 Availability Zone 및 Node로 Pod을 분산할 수 있음
설계 문서Inter-pod topological affinity and anti-affinity
1000노드 지원? 1.2: support 1000 node / 32000 core clusters #20834
Probe의 liveness/readiness에 몇 개의 인자가 추가되었습니다.
Add liveness/readiness probe parameters #15967 PeriodSeconds
probe의 간격 SuccessThreshold
failure에서success까지의 한도값 FailureThreshold
failure 이전 임계값에 도달
Node Metrics API 요약 구현 Nodes Metrics API - Summary Impl #19932
스케줄러 확장 프로그램 추가 WebAPI에서 Scheduler 기능 확장 Pod 및 Node 목록의 이미지를 매개 변수로 전달 Scheduler extension #13580 설계 문서Scheduler extender
HPA(Horizontal Pod Autoscaler)가 Generally Available로 변경됩니까?
HorizontalPodAutoscaler API: requirements for graduation to GA #18528
HPA in GA step 2 #215771.3 extenions/v1beta1에서 정식으로 v1으로 변경
HPA in GA step 3 #21578 1.4에서 extensions/v1beta1 삭제 예정인증 관계
인증 모드에서 Webhook 구현 WebAPI에서 자체 인증 가능 plugin/pkg/auth: add webhook implementation of authorizer.Authorizer plugin #20347 Secret도 환경 변수로 설정 가능 공식 문서 Secrets#Using Secrets as Environment Variables
Expose secrets to containers in environment variables #4710 kubectl 관련
kubectl create
yaml/json 없이 CLI로 간단하게 리소스를 작성namespace,secret,configmap에 대응 특히 시크릿은base64에 설정 파일을 써야 하기 때문에 편해 보인다
예kubectl create secret generic prod-db-password --from-literal=user=produser --from-literal=password=Y4nys7f11
kubectl drain
Node를 unschedulable로 설정하여 유지 보수하고 이 Node의 Pod을 삭제합니다.
Mark node to be decommissioned and act accordingly #3885 kubectl cordon
/ kubectl uncordon
노드를 unschedulable로 설정
Mark node to be decommissioned and act accordingly #3885 kubectl explain
리소스 문서 보기 kubectl explain pods.spec
이러한 형식은 자원 형식의 상세한 상황을 표시하여 보기에 매우 편리하다 kubectl convert
버전별 API 간 config 변환 kubectl rollout
배포 및 DaemonSet 관리history,pause,resume,undo 하위 명령이 있음 Develop Deployment UX equivalent to kubectl rolling-update #17168 - 각 피드 명령에 record 옵션 추가deployment의 annotations에서kubectl로 제작할 때의 명령을 기록합니다 kubectl rollout history
보면 이해가 쉬워진다 Record kubectl commands (useful when viewing rollout history); copy deployment's annotations to its RC #20035 Kubernetes 1.3?
3/3 Kubernetes Community Meeting에 따르면 다음은 구글이 1.3에 초점을 맞춘 내용이다
PetSets 구식 애플리케이션 지원 Proposal for implementing nominal services AKA PetSets #18016 Cluster Federation (Ubernetes) 크기 때문에 1.3이라도 모두 설치되지 않는다 ID 관리 통합 Cluster Auto Scaling 클러스터 자체의 자동 크기 조정 계획 작업 개선