일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- kubernetes
- k8s
- 피카푸글램핑
- 피카푸클램핑도봉산
- KVM
- 오블완
- CKS
- macos 터널링
- 쿠버네티스
- kubernetes-ai
- POD
- kube-ai
- kub-ai
- AI
- 캠핑
- 쿠버네티스보안
- k8sgpt
- 파드
- GPU
- 피카푸캠핑도봉산
- virt-manager
- CKA
- 티스토리챌린지
- 도봉산글램핑
- api-key
- 쿠버네티스기초
- IT
- mac터널링
- karpor
- 글램핑
- Today
- Total
마구잡
KUBERNETES 1.31 변경이력 [ 번역본 ] 본문
긴급 업데이트
(업그레이드 전 필독 사항)
- Kubelet flag
--keep-terminated-pod-volumes
가 제거되었습니다. 이 플래그는 2017년에 사용 중단되었습니다. (#122082, @carlory) [SIG Apps, Node, Storage and Testing]
사용 중단
CephFS 볼륨 플러그인 (
kubernetes.io/cephfs
)이 이번 릴리스에서 제거되었으며cephfs
볼륨 타입이 비활성화되었습니다. 대안으로 CephFS CSI 드라이버 (https://github.com/ceph/ceph-csi/)를 Kubernetes 클러스터에서 사용하십시오. 클러스터 버전을 1.31+로 업그레이드하기 전에kubernetes.io/cephfs
볼륨 플러그인을 사용했다면 새로운 드라이버를 사용하기 위해 애플리케이션을 다시 배포해야 합니다. (#124544, @carlory) [SIG Node, Scalability, Storage and Testing]CephRBD 볼륨 플러그인 (
kubernetes.io/rbd
)이 이번 릴리스에서 제거되었습니다. CSI 마이그레이션 지원도 제거되어rbd
볼륨 타입이 비활성화되었습니다. 대안으로 RBD CSI 드라이버 (https://github.com/ceph/ceph-csi/)를 Kubernetes 클러스터에서 사용하십시오. 클러스터 버전을 1.31+로 업그레이드하기 전에kubernetes.io/rbd
볼륨 플러그인을 사용했다면 새로운 드라이버를 사용하기 위해 애플리케이션을 다시 배포해야 합니다. (#124546, @carlory) [SIG Node, Scalability, Scheduling, Storage and Testing]Kube-scheduler가 모든 비-CSI volumelimit 플러그인을 사용 중단하였고 이를 기본 플러그인에서 제거했습니다.
- AzureDiskLimits
- CinderLimits
- EBSLimits
- GCEPDLimits
NodeVolumeLimits 플러그인은 위의 플러그인과 동일한 기능을 처리할 수 있습니다. 위의 볼륨 타입이 CSI로 마이그레이션되었기 때문에, 스케줄러 구성에서 해당 플러그인을 명시적으로 사용하는 경우 해당 플러그인을 제거하고 NodeVolumeLimits 플러그인으로 대체하십시오. 이러한 플러그인은 릴리스 1.32에서 제거될 것입니다. (#124500, @carlory) [SIG Scheduling and Storage]
Kubeadm: kubeadm
RootlessControlPlane
기능 게이트가 사용 중단되었습니다. Kubernetes 코어의UserNamespacesSupport
기능 게이트가 1.30에서 Beta로 졸업했기 때문입니다. Kubernetes 코어의 사용자 네임스페이스 지원이 일반적으로 사용 가능해지고 kubeadm이 사용자 네임스페이스 포드에서 컨트롤 플레인을 실행할 수 있도록 지원하기 시작하면, kubeadmRootlessControlPlane
기능 게이트는 완전히 제거될 것입니다. kubeadm이 기본적으로 사용자 네임스페이스 기능을 지원하기 전까지, 사용자는 사용 중단된RootlessControlPlane
기능 게이트를 계속 사용하거나 정적 포드 매니페스트에서UserNamespacesSupport
를 사용하도록 선택할 수 있습니다. (#124997, @neolit123) [SIG Cluster Lifecycle]Kubeadm: 'init kubelet-finalize' 하위 단계를 'experimental-cert-rotation'으로 표시하고 이를 직접 사용할 경우 경고를 출력합니다. 이 하위 단계는 나중에 완전히 제거될 것입니다. 대체 하위 단계로 'enable-client-cert-rotation'을 추가했습니다. (#124419, @neolit123) [SIG Cluster Lifecycle]
k8s.io/legacy-cloud-providers를 스테이징에서 제거했습니다. (#124767, @carlory) [SIG API Machinery, Cloud Provider and Release]
레거시 클라우드 공급자 통합 코드를 제거했습니다 (이전 커밋을 되돌리는 작업). (#124886, @carlory) [SIG Cloud Provider and Release]
API Change
- CEL 확장 라이브러리의 엄격한 비용 계산을 시행하기 위해
StrictCostEnforcementForVAP
및StrictCostEnforcementForWebhooks
기능 게이트를 추가했습니다. 가능한 한 빨리 기능 게이트를 켜는 것이 강력히 권장됩니다. (#124675, @cici37) [SIG API Machinery, Auth, Node and Testing] - Component-base/logs: Go >= 1.21로 컴파일된 경우, component-base는 slog 기본 로거를 자동으로 구성하고 klog를 초기화합니다. (#120696, @pohly) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Storage and Testing]
- DRA: ResourceHandle의 클라이언트 측 유효성 검사가 DriverName을 누락한 경우를 수락할 수 있으며, 서버 측 유효성 검사는 오류를 발생시킵니다. (#124075, @pohly) [SIG Apps]
- 컨트롤러 참조를 가져올 때 Deep Copy 문제를 수정했습니다. (#124116, @HiranmoyChowdhury) [SIG API Machinery and Release]
- Job의 managedBy 필드에 대한 주석을 수정했습니다. (#124793, @mimowo) [SIG API Machinery and Apps]
- imagePullSecrets 및 hostAliases 필드의 openapi 설명에서 키로 사용된 필드를 기본값 또는 필수 필드로 표시하지 않던 1.30.0의 회귀를 수정했습니다. (#124553, @pmalek) [SIG API Machinery]
- MatchLabelKeys/MismatchLabelKeys 기능을 PodAffinity/PodAntiAffinity에서 Beta로 졸업시켰습니다. (#123638, @sanposhiho) [SIG API Machinery, Apps, Scheduling and Testing]
DisableNodeKubeProxyVersion
기능 게이트를 Beta로 졸업시켰습니다. 기본적으로, kubelet은 관련된 노드의.status.kubeProxyVersion
필드를 설정하려고 하지 않습니다. (#123845, @HirazawaUi) [SIG API Machinery, Cloud Provider, Network, Node and Testing]- 많은 노드가 있을 때, 그리고 prefilter가 1-2개의 노드를 반환할 때 스케줄링 성능이 향상되었습니다. (#125197, @gabesaba) [SIG Scheduling]
- k8s.io/apimachinery/pkg/util/runtime: 새로운 호출은 발생한 컨텍스트에서 패닉과 오류를 처리할 수 있도록 지원합니다.
PanicHandlers
와ErrorHandlers
는 이제 컨텍스트 매개변수를 수락해야 합니다. 로그 출력은 비구조적에서 구조적으로 변경되었습니다. (#121970, @pohly) [SIG API Machinery and Instrumentation] - Kube-apiserver:
--encryption-provider-config
파일이 중복 또는 알 수 없는 필드가 포함된 경우 strict deserialization으로 로드됩니다. 이는 잘못된 형식, 잘못된 들여쓰기 또는 필드 이름의 오타가 있는 구성 파일로 실행되는 것을 방지하고 예기치 않은 동작을 방지합니다.--encryption-provider-config-automatic-reload
를 사용하는 경우, kube-apiserver가 실행된 후 오타가 포함된 새로운 암호화 구성 파일이 유효하지 않은 것으로 간주되고 마지막 유효한 구성이 사용됩니다. (#124912, @enj) [SIG API Machinery and Auth] - Kube-controller-manager가 사용 중단된 명령 플래그: --volume-host-cidr-denylist 및 --volume-host-allow-local-loopback을 제거했습니다. (#124017, @carlory) [SIG API Machinery, Apps, Cloud Provider and Storage]
- Kube-controller-manager:
horizontal-pod-autoscaler-upscale-delay
및horizontal-pod-autoscaler-downscale-delay
플래그가 제거되었습니다 (v1.12부터 사용 중단되고 비활성화됨). (#124948, @SataQiu) [SIG API Machinery, Apps and Autoscaling] - 보조 그룹 정책의 세분화된 제어를 지원하는 KEP-3619을 통해 첫 번째 컨테이너 프로세스에서 보조 그룹에 대한 세부 제어를 지원합니다. 컨테이너의 기본 uid에 대해 컨테이너 이미지(/etc/groups)에 정의된 그룹을 포함할지 여부를 선택할 수 있습니다. (#117842, @everpeace) [SIG API Machinery, Apps and Node]
- kube-proxy의 nodeportAddresses / --nodeport-addresses 옵션은 이제 "primary" 값을 수락하여 노드의 기본 IPv4 및/또는 IPv6 주소에서만 NodePort 연결을 수신 대기합니다. (#123105, @danwinship) [SIG API Machinery, Network and Windows]
기능
kubectl debug
에--keep-*
플래그를 추가하여 copy pod에서 프로브, 레이블, 주석 및 initContainers를 제거하는 것을 제어할 수 있게 했습니다. (#123149, @mochizuki875) [SIG CLI and Testing]- apiserver.latency.k8s.io/apf-queue-wait 주석을 감사 로그에 추가하여 apf 큐에서 대기한 시간을 기록합니다. (#123919, @hakuna-matatah) [SIG API Machinery]
client-go
의rest client
에WatchList
메서드를 추가했습니다. 사용 시, 서버에서 데이터의 일관된 스냅샷을 얻기 위해 스트림을 설정합니다. 이 메서드는 생성된 클라이언트에 의해 사용됩니다. (#122657, @p0lyn0mial) [SIG API Machinery]cri-client
스테이징 리포지토리를 추가했습니다. (#123797, @saschagrunert) [SIG API Machinery, Node, Release and Testing]kubectl logs
에--all-pods
플래그를 추가하여 포드 선택기를 사용하는 객체에서 모든 포드를 가져올 수 있습니다. (#124732, @cmwylie19) [SIG CLI and Testing]kubectl port-foward
명령에 포트 자동 완성을 추가했습니다. (#124683, @TessaIO) [SIG CLI]- Windows kube-proxy 컨테이너 이미지를 빌드하는 기능을 추가했습니다. 이제
make release-images KUBE_BUILD_WINDOWS=y
명령으로 Windows kube-proxy 이미지를 빌드할 수 있습니다. Windows kube-proxy 이미지는 Windows 호스트 프로세스 컨테이너와 함께 사용할 수 있습니다. (#109939, @claudiubelu) [SIG Windows] kubectl set image
의 자동 완성을 추가했습니다. (#124592, @ah8ad3) [SIG CLI]- 노드 객체에 바인딩된 서비스 계정 토큰을 생성할 수 있도록 허용합니다. 이를 통해 서비스 계정 토큰의 유효성을 명명된 노드 객체에 바인딩할 수 있습니다.
kubectl create token <serviceaccount-name> --bound-object-kind=Node --bound-object-node=<node-name>
을 사용하십시오. (#125238, @munnerz) [SIG Auth and CLI] - CEL 기본 호환 환경 버전을 1.30으로 업데이트하여 1.30 이전에 추가된 확장 라이브러리를 사용할 수 있습니다. (#124779, @cici37) [SIG API Machinery]
- CEL 표현식 및
additionalProperties
가 이제 CRD 스키마의 중첩된 수량자에서 사용될 수 있습니다. (#124381, @alexzielenski) [SIG API Machinery] - CEL: 이름 형식 라이브러리를 추가했습니다. (#123572, @alexzielenski) [SIG API Machinery]
ConsistentListFromCache
가 활성화된 경우 지원되지 않는 etcd 버전에 대해 경고하도록 etcd 버전을 확인합니다. (#124612, @ah8ad3) [SIG API Machinery]- Client-go/reflector: 초기 이벤트에 대한 북마크 이벤트를 수신하지 못한 경우 경고합니다. (#124614, @p0lyn0mial) [SIG API Machinery]
- 사용자 정의 리소스 필드 선택기가 이제 베타이며 기본적으로 활성화되어 있습니다. 자세한 내용은 kubernetes/enhancements#4358를 참조하십시오. (#124681, @jpbetz) [SIG API Machinery, Auth and Testing]
- Dependencies: registry.k8s.io/pause:3.10 사용을 시작합니다. (#125112, @neolit123) [SIG CLI, Cloud Provider, Cluster Lifecycle, Node, Release, Testing and Windows]
- CDI 디바이스 ID에 대한 지원을 일반 사용으로 졸업시켰습니다.
DevicePluginCDIDevices
기능 게이트는 이제 무조건 활성화됩니다. (#123315, @bart0sh) [SIG Node] - Kube-apiserver:
--disable-http2-serving
플래그를 사용하여 http/2 서빙을 비활성화할 수 있습니다. (#122176, @slashpai) [SIG API Machinery] - kube-proxy의 nftables 모드(--proxy-mode=nftables)가 이제 베타이며 기본적으로 사용 가능합니다. (#124383, @danwinship) [SIG Cloud Provider and Network]
- kube-scheduler는 CSILimit 플러그인에 대한 스케줄링 힌트를 구현합니다. 스케줄링 힌트는 동일한 드라이버의 PVC를 가진 삭제된 포드가 있는 경우 이전에 CSILimit 플러그인에 의해 거부된 포드를 다시 스케줄링할 수 있도록 스케줄러에 재시도를 허용합니다. (#121508, @utam0k) [SIG Scheduling and Storage]
- kube-scheduler는 InterPodAffinity 플러그인에 대한 스케줄링 힌트를 구현합니다. 스케줄링 힌트는 관련 포드 또는 포드 친화성에 맞는 노드를 생성/삭제/업데이트하는 경우 이전에 InterPodAffinity 플러그인에 의해 거부된 포드를 다시 스케줄링할 수 있도록 스케줄러에 재시도를 허용합니다. (#122471, @nayihz) [SIG Scheduling and Testing]
- kubeadm: "upgrade" 동안 "etcd.yaml" 정적 포드가 업그레이드될 필요가 없는 경우에도 "kube-apiserver.yaml" 매니페스트가 업그레이드되어야 하고 인증서 갱신이 비활성화되지 않은 경우 etcd 인증서를 회전하고 etcd 정적 포드를 다시 시작하는 것을 고려합니다. (#124688, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: "patches" 기능을 향상시켜 coredns 배포를 패치할 수 있게 했습니다. 새로운 패치 대상은 "corednsdeployment"입니다 (예: 패치 파일 "corednsdeployment+json.json"). 이를 통해 "init" 및 "upgrade" 동안 coredns 배포에 사용자 정의 패치를 적용할 수 있습니다. (#124820, @SataQiu) [SIG Cluster Lifecycle]
- kubeadm: "--experimental-output' 플래그를 사용 중단으로 표시하고 경고 메시지를 출력합니다. 이 플래그는 미래 릴리스에서 제거될 것입니다. (#124393, @carlory) [SIG Cluster Lifecycle]
- kubeadm: etcd 3.5.11에서 도입된 새로운 엔드포인트로 전환하여 "livez" (생존성 프로브) 및 "readyz" (준비성 및 시작성 프로브)를 사용합니다. 이 변경으로 kubeadm 1.31을 사용하여 3.5.11 이전의 etcd 버전을 사용자 정의하여 배포할 수 없습니다. (#124465, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: CRI 엔드포인트에 대한 작업을 위해
crictl
바이너리를 셸 아웃하는 대신 새로운 CRI 클라이언트 라이브러리를 사용합니다. kubeadm deb/rpm 패키지는 한 번 더 릴리스 동안cri-tools
패키지를 계속 설치하지만, 스크립트를 조정하여 https://github.com/kubernetes-sigs/cri-tools/releases 또는 다른 위치에서 수동으로crictl
을 설치해야 합니다. (#124685, @saschagrunert) [SIG Cluster Lifecycle] - kubeadm: "kubeadm config images list" 및 "kubeadm token list" 명령에 대해 구조적 출력을 인쇄하기 위해 output/v1alpha3를 사용합니다. (#124464, @carlory) [SIG Cluster Lifecycle]
- kubelet 서버는 이제 동적으로 인증서 파일을 로드할 수 있습니다. (#124574, @zhangweikop) [SIG Auth and Node]
- pod 사양의 이미지 외의 필드가 변경될 때 kubelet은 컨테이너를 다시 시작하지 않습니다. (#124220, @HirazawaUi) [SIG Node]
- Kubemark:
--kube-api-qps
및--kube-api-burst
플래그를 추가했습니다. (#124147, @devincd) [SIG Scalability] - Kubernetes는 이제 go 1.22.3으로 빌드됩니다. (#124828, @cpanato) [SIG Release and Testing]
- Kubernetes는 이제 go 1.22.4로 빌드됩니다. (#125363, @cpanato) [SIG Architecture, Cloud Provider, Release, Storage and Testing]
- Windows용 pause 바이너리에 -v 플래그를 추가하여 pause의 버전을 인쇄하고 종료합니다. (#125067, @neolit123) [SIG Windows]
generateName
재시도 기능이 베타로 승격되었으며,NameGenerationRetries
기능 게이트가 기본적으로 활성화되었습니다. 자세한 내용은 https://kep.k8s.io/4420를 참조하십시오. (#124673, @jpbetz) [SIG API Machinery]- 스케줄러가
evaluatedNodes
를 계산하는 논리를 "PreFilterResult 및 Filter 플러그인에 의해 필터링된 노드 수 포함"에서 "Filter 플러그인에 의해서만 필터링된 노드 수"로 변경했습니다. (#124735, @AxeZhan) [SIG Scheduling] - 서비스는 ClusterIP 및 Type 필드에 대한 필드 선택기를 구현합니다. kubelet은 필드 선택기를 사용하여 Headless 서비스를 시청하는 것을 방지하고 메모리 소비를 줄입니다. (#123905, @aojea) [SIG Apps, Node and Testing]
- iptables 모드의 kube-proxy는 localhost의 node-ports로 향하는 수락된 패킷을 추적하여
kubeproxy_iptables_localhost_nodeports_accepted_packets_total
메트릭을 도입합니다. (#125015, @aroradaman) [SIG Instrumentation, Network and Testing] - iptables 모드의 kube-proxy는 conntrack에 의해 잘못 표시된 패킷을 추적하여
kubeproxy_iptables_ct_state_invalid_dropped_packets_total
메트릭을 도입합니다. (#122812, @aroradaman) [SIG Instrumentation, Network and Testing] - CEL 선택적 타입의 이름을
optional
에서optional_type
으로 변경했습니다. (#124328, @jiahuif) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Network and Node] - 스케줄러는 TaintToleration 플러그인에서 QueueingHint를 구현하여 스케줄링 처리량을 향상시킵니다. (#124287, @sanposhiho) [SIG Scheduling and Testing]
- 사이드카 완료 시간이 작업 완료 시간 계산에 포함됩니다. (#124942, @AxeZhan) [SIG Apps]
- 이 PR은 추적 지원을 kubelet의 읽기 전용 엔드포인트에 추가하여 추적이 현재 없는 부분을 보완합니다. (#121770, @frzifus) [SIG Node]
- 사용자는 모든 프로파일에서 스케줄러에 있는 대기 포드를 순회할 수 있습니다. 이전에는 각 프로파일이 해당 프로파일 내의 대기 포드만 얻을 수 있었습니다. (#124926, @kerthcet) [SIG Scheduling]
Failing Test
- Pkg k8s.io/apiserver/pkg/storage/cacher, method (*Cacher) Wait(context.Context) error (#125450, @mauri870) [SIG API Machinery]
- Revert "remove legacycloudproviders from staging" (#124864, @carlory) [SIG Release]
버그 또는 회귀
- .status.terminating 필드가 이제 Job 실패 시 삭제된 활성 포드에 대해 올바르게 추적됩니다. (#125175, @dejanzele) [SIG Apps and Testing]
- kubectl describe configmap 실행 시 데이터의 서로 다른 키-값 쌍 사이에 추가 줄을 추가했습니다. (#123597, @siddhantvirus) [SIG CLI]
- proto 파일 경로와 함께 매개변수를 설정할 수 있도록 허용합니다. (#124281, @fulviodenza) [SIG API Machinery]
- Cel: 수량 값을 수량 값으로 변환하는 과정에서 실패했습니다. (#123669, @pohly) [SIG API Machinery]
- Client-go/tools/record.Broadcaster: WithContext 취소 시 자동 종료를 수정했습니다. (#124635, @pohly) [SIG API Machinery]
- 특정 시나리오에서 Pod이 배치 Job이 아닌 API 객체에 의해 제어되는 경우 "batch.kubernetes.io/job-tracking" finalizer를 Pod에서 제거하지 않습니다. (#124798, @mimowo) [SIG Apps and Testing]
- rol
- 에 대한 추가 규칙 요구 사항을 제거하여 kubectl create cronjobs를 사용하는 역할에서 하위 호환성을 유지합니다. (#124883, @ardaguclu) [SIG CLI]
- StatefulSet 라이프사이클에서 RecreatingFailedPod 및 RecreatingTerminatedPod 이벤트의 방출을 제거했습니다. (#123809, @atiratree) [SIG Apps and Testing]
- EndpointSliceMirroring 컨트롤러에 의해 Endpoints에서 미러링된 Endpointslices가 수정된 경우 동기화되지 않았습니다. (#124131, @zyjhtangtang) [SIG Apps and Network]
- 오래된 비정상 포드를 최대 비가용 예산에 포함하도록 DaemonSet 컨트롤러를 수정했습니다. (#123233, @marshallbrekka) [SIG Apps]
- "-kube-test-repo-list" e2e 플래그가 효과를 발휘하지 않는 문제를 수정했습니다. (#123587, @huww98) [SIG API Machinery, Apps, Autoscaling, CLI, Network, Node, Scheduling, Storage, Testing and Windows]
- 변환하는 informer에서 발생하는 race condition을 수정했습니다. Resync 작업 중 객체에 액세스할 때 발생합니다. 변환 기능을 멱등적으로 만듭니다. (#124352, @wojtek-t) [SIG API Machinery and Scheduling]
- 변환하는 informer에서 발생하는 race condition을 수정했습니다. Resync 작업 중 객체에 액세스할 때 발생합니다. (#124344, @wojtek-t) [SIG API Machinery]
- 포드에 SecurityContext가 있고 RunAsUser를 사용하는 경우 Windows에서 kubelet이 실패하는 문제를 수정했습니다. (#125040, @carlory) [SIG Storage, Testing and Windows]
- DaemonSet 포드를 스케줄링할 때 처리량을 300 포드/초로 향상시켜 구성된 qps가 이를 허용합니다. (#124714, @sanposhiho) [SIG Scheduling]
- resourceclaim 컨트롤러가 podSchedulingSynced 및 templatesSynced를 대기하는 것을 잊어버렸습니다. (#124589, @carlory) [SIG Apps and Node]
- Windows cmd.exe에서 경로에 공백이 있는 경우 EDITOR/KUBE_EDITOR를 수정했습니다. (#112104, @oldium) [SIG CLI and Windows]
- JSON 프레임 리더의 버그를 수정했습니다. 이는 전달된 바이트 슬라이스의 기본 배열에 대한 참조를 유지할 수 있습니다. (#123620, @benluddy) [SIG API Machinery]
- 스케줄러가 prefilter가 존재하지 않는 노드를 반환할 때 충돌하는 버그를 수정했습니다. (#124933, @AxeZhan) [SIG Scheduling and Testing]
kubectl describe
가 NetworkPolicy 포트 범위를 잘못 표시하는 버그를 수정했습니다. (시작 포트만 표시). (#123316, @jcaamano) [SIG CLI]- 외부 클라우드 공급자를 사용하는 경우
kubelet --hostname-override
가 올바르게 작동하지 않는 회귀를 수정했습니다. (#124516, @danwinship) [SIG Node] - kube-aggregator를 통해 프록시된 요청에 대해 추적 스팬을 연결하지 못하는 문제를 수정했습니다. (#124189, @toddtreece) [SIG API Machinery]
kubectl get --sort-by
플래그가 문자열을 알파벳순으로 정렬하지 않는 버그를 수정했습니다. (#124514, @brianpursley) [SIG CLI]- ValidatingAdmissionPolicyBinding에서 paramRef가 참조하는 객체에 대한 사용 권한이 없음을 나타내는 오류 형식을 수정했습니다. (#124653, @m1kola) [SIG API Machinery]
- 자원 압박으로 인한 하드 제거 시, 포드가 전체 종료 유예 기간을 갖도록 하던 버그를 수정했습니다. 이 버그는 강제 삭제된 포드에도 영향을 미쳤습니다. 두 경우 모두 이제 종료 유예 기간이 1초입니다. (#124063, @olyazavr) [SIG Node]
- 사용자 정의 리소스 유효성 검사 오류 메시지에서 누락된
status.
접두사를 수정했습니다. (#123822, @JoelSpeed) [SIG API Machinery] - 많은 게이트된 포드가 있을 때 스케줄링 지연을 개선했습니다. (#124618, @gabesaba) [SIG Scheduling and Testing]
- Job: SuccessPolicy 기능 게이트가 활성화된 경우와 관계없이 성공 정책을 사용하는 Job에 SuccessCriteriaMet를 추가할 수 있는 버그를 수정했습니다. (#125429, @tenzen-y) [SIG Apps]
- kube-apiserver: initContainer 상태가 잘못된 포드를 인쇄할 때 1.28 회귀를 수정했습니다. (#124906, @liggitt) [SIG Node]
- kubeadm: 'kubeadm init phase certs sa'가 '--config' 플래그를 수락할 수 있도록 허용합니다. (#125396, @Kavinraja-G) [SIG Cluster Lifecycle]
- kubeadm: kube-apisever 및 kube-controller-manager 포드에서 /etc/pki를 추가적인 Linux 시스템 CA 위치로 마운트하지 않습니다. /etc/pki/ca-trust 및 /etc/pki/tls/certs 대신 마운트합니다. /etc/ca-certificate, /usr/share/ca-certificates, /usr/local/share/ca-certificates 및 /etc/ssl/certs는 계속 마운트됩니다. (#124361, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: kubelet 구성에서 구성된 healthz 주소:포트를 존중하여 kubelet 상태 확인 동안 localhost:10248을 하드 코딩하지 않습니다. (#125265, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: "kubeadm upgrade"의 사전 비행 검사 "CreateJob" 동안 스케줄할 수 있는 노드가 없는지 확인합니다. 하나도 없는 경우 경고를 표시하고 이 사전 비행 검사를 건너뜁니다. 이는 단일 노드 클러스터에서 유일한 노드가 배수된 경우 발생할 수 있습니다. (#124503, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: "kubeadm upgrade" 명령 동안 kube-system/kubelet-config ConfigMap에서 KubeletConfiguration을 제대로 다운로드하지 못해 로컬 '/var/lib/kubelet/config.yaml' 파일이 기본 구성으로 작성되는 회귀를 수정했습니다. (#124480, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: PublicKeysECDSA 기능 게이트가 kubeconfig 파일을 생성할 때 존중되지 않는 버그를 수정했습니다. (#125388, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: 특정 Windows 설정에서 "IsPrivilegedUser" 사전 비행 검사가 실패하지 않도록 개선했습니다. (#124665, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: 글로벌 --rootfs 플래그가 이제 비실험적입니다. (#124375, @neolit123) [SIG Cluster Lifecycle]
kubectl create secret docker-registry --from-file=<path/to/.docker/config.json>
및kubectl create secret docker-registry --from-file=.dockerconfigjson=<path/to/.docker/config.json>
을 지원합니다. (#119589, @carlory) [SIG CLI]- 종료된 포드일 때 포드 상태를 '실패' 또는 '성공'으로 표시합니다. (#122038, @lowang-bh) [SIG CLI]
- DRA 드라이버가 Node(Un)PrepareResources 응답의 일부로 nil을 반환할 때 kubelet이 충돌하지 않도록 수정했습니다. (#124091, @bitoku) [SIG Node]
- 위치 인수가 있는 경우
kubectl-create-subcommand
플러그인을 찾도록 kubectl을 수정했습니다. 예:kubectl create subcommand arg
. (#124123, @sttts) [SIG CLI] - PersistentVolumeLabel 어드미션 플러그인을 제거했습니다. 유사한 기능이 필요한 경우 https://github.com/kubernetes-sigs/cloud-pv-admission-labeler를 대신 사용하십시오. (#124505, @jsafrane) [SIG API Machinery, Auth and Storage]
- StatefulSet 자동 삭제는 PVC 클레임의 제어 소유자를 존중합니다. (#122499, @mattcary) [SIG Apps and Testing]
client-gen
에 의해 생성된 "가짜" 클라이언트는 이제 실제 클라이언트와 동일한 오류 의미 체계를 갖습니다. 특히 실패한 Get(), Create() 등은 더 이상nil
을 반환하지 않습니다. 이제 실제 클라이언트처럼 0 값 객체에 대한 포인터를 반환합니다. 이는result == nil
이 아니라err != nil
을 테스트하던 일부 하위 단위 테스트를 중단시키며, 일부 경우 잘못된 하위 단위 테스트에 의해 숨겨진 기본 코드의 버그를 노출시킬 수 있습니다. (#122892, @danwinship) [SIG API Machinery, Auth, Cloud Provider, Instrumentation and Storage]- 서비스 LoadBalancer 컨트롤러가 service.Status 새 IPMode 필드를 올바르게 고려하지 않았으며 상태가 변경되었는지 비교할 때 포트를 제외하여 변경 사항이 service.Status를 올바르게 업데이트하지 못하게 했습니다. (#125225, @aojea) [SIG Apps, Cloud Provider and Network]
- nftables 모드의 kube-proxy는 이제 "iptables" 이름의 메트릭을 보고하는 대신 자체 메트릭을 가집니다. (#124557, @danwinship) [SIG Network and Windows]
- --healthz-bind-address 및 --metrics-bind-address 매개변수의 기본값 설명을 업데이트했습니다. (#123545, @yangjunmyfm192085) [SIG Network]
Other (Cleanup or Flake)
- ACTION-REQUIRED: v1alpha2 kubelet gRPC API를 사용하는 DRA 드라이버는 더 이상 지원되지 않으며 업데이트가 필요합니다. (#124316, @pohly) [SIG Node and Testing]
- etcd 이미지 v3.5.13을 빌드합니다. (#124026, @liangyuanpeng) [SIG API Machinery and Etcd]
- etcd 이미지 v3.5.14를 빌드합니다. (#125235, @humblec) [SIG API Machinery]
- CSI 사양 지원이 이번 릴리스에서 v1.9.0으로 향상되었습니다. (#125150, @humblec) [SIG Storage and Testing]
- E2e.test 및 e2e_node.test: alpha 또는 beta 기능 게이트에 의존하는 테스트는 이제 Ginkgo 레이블로
Feature:Alpha
또는Feature:Beta
를 가집니다. 인라인 텍스트는[Alpha]
또는[Beta]
입니다. (#124350, @pohly) [SIG Testing] - Etcd: v3.5.13으로 업데이트합니다. (#124027, @liangyuanpeng) [SIG API Machinery, Cloud Provider, Cluster Lifecycle, Etcd and Testing]
- apiserver_watch_cache_resource_version 메트릭을 노출하여 watchcache 문제를 디버깅하는 것을 간소화합니다. (#125377, @wojtek-t) [SIG API Machinery and Instrumentation]
- kube-scheduler의 pod_scheduling_sli_duration_seconds 메트릭의 도움말 텍스트에서 오타를 수정했습니다. (#124221, @arturhoo) [SIG Instrumentation, Scheduling and Testing]
- Job-controller:
JobReadyPods
기능 플래그가 제거되었습니다. (v1.31 이후 사용 중단됨). (#125168, @kaisoz) [SIG Apps] - kubeadm: NodeSwap 검사를 수행하는 경고 메시지를 개선했습니다. (#125157, @carlory) [SIG Cluster Lifecycle]
- kubeadm: kubeadm에 대해 여전히 지원되는 klog 플래그만 활성화하여 원하지 않는 플래그를 숨기지 않습니다. 이는
--alsologtostderr
,--log-backtrace-at
,--log-dir
,--logtostderr
,--log-file
,--log-file-max-size
,--one-output
,--skip-log-headers
,--stderrthreshold
및--vmodule
과 같은 이전에 권장되지 않는 숨겨진 klog 플래그가 더 이상 사용되지 않음을 의미합니다. (#125179, @SataQiu) [SIG Cluster Lifecycle] - kubeadm: "kubeadm join control-plane-prepare download-certs" 단계에서 EXPERIMENTAL 태그를 제거했습니다. (#124374, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: 사용 중단된 "kubeadm join control-plane-join update-status" 단계를 제거했습니다. (#124373, @neolit123) [SIG Cluster Lifecycle]
- kubeadm: 사용 중단된 output.kubeadm.k8s.io/v1alpha2 API를 제거했습니다. v1alpha3을 사용하십시오. (#124496, @carlory) [SIG Cluster Lifecycle]
- kubeadm: 사용 중단된
UpgradeAddonsBeforeControlPlane
기능 게이트를 제거했습니다. CoreDNS 및 kube-proxy 애드온의 업그레이드는 모든 컨트롤 플레인 인스턴스가 업그레이드될 때까지 트리거되지 않습니다. (#124715, @SataQiu) [SIG Cluster Lifecycle] - kubeadm: 글로벌 --rootfs 플래그는 이제 비실험적입니다. (#124375, @neolit123) [SIG Cluster Lifecycle]
kubectl describe service
및ingress
는 이제 endpoints 대신 endpointslices를 사용합니다. (#124598, @aroradaman) [SIG CLI and Network]- Kubelet 플래그
--iptables-masquerade-bit
및--iptables-drop-bit
가 v1.28에서 사용 중단되었고 이제 완전히 제거되었습니다. (#122363, @carlory) [SIG Network and Node] - pkg/proxy를 문맥 로깅을 사용하도록 마이그레이션했습니다. (#122979, @fatsheep9146) [SIG Network and Scalability]
- 원격 CRI 구현을 kubelet에서
k8s.io/cri-client
리포지토리로 이동했습니다. (#124634, @saschagrunert) [SIG Node, Release and Testing] - GA ServiceNodePortStaticSubrange 기능 게이트를 제거했습니다. (#124738, @xuzhenglun) [SIG Network]
- 일반적으로 사용 가능한 기능 게이트
CSINodeExpandSecret
을 제거했습니다. (#124462, @carlory) [SIG Storage] - 일반적으로 사용 가능한 기능 게이트
ConsistentHTTPGetHandlers
를 제거했습니다. (#124463, @carlory) [SIG Node] - reflector에서
ENABLE_CLIENT_GO_WATCH_LIST_ALPHA
환경 변수를 제거합니다. 기능을 활성화하려면KUBE_FEATURE_WatchListClient
환경 변수를 설정하거나 해당하는 명령줄 옵션을 사용하십시오 (이 옵션은 이를 명시적으로 노출하는 바이너리에서만 작동합니다). (#122791, @p0lyn0mial) [SIG API Machinery and Testing] - 마지막 남은 내장 gcp 클라우드 공급자 및 자격 증명 공급자를 제거합니다. 대신 https://github.com/kubernetes/cloud-provider-gcp에서 외부 클라우드 공급자 및 자격 증명 공급자를 사용하십시오. (#124519, @dims) [SIG API Machinery, Apps, Auth, Autoscaling, Cloud Provider, Instrumentation, Network, Node, Scheduling, Storage and Testing]
- 스케줄러 프레임워크: PreBind 구현은 이제 Pending 및 Unschedulable 상태 코드를 반환할 수 있습니다. (#125360, @pohly) [SIG Scheduling]
- "DefaultHostNetworkHostPortsInPodTemplates" 기능 게이트가 제거되었습니다. 이 동작은 v1.28에서 사용 중단되었으며, 문제 보고가 없었습니다. (#124417, @thockin) [SIG Apps]
- "SkipReadOnlyValidationGCE" 기능 게이트가 제거되었습니다. 이 게이트는 2 릴리스 동안 활성화되었으며 문제 보고가 없었습니다. (#124210, @thockin) [SIG Apps]
- kube-scheduler는 건강 검사를 위해 /livez 및 /readz를 노출하여 https://kubernetes.io/docs/reference/using-api/health-checks/#api-endpoints-for-health를 준수합니다. (#118148, @linxiulei) [SIG API Machinery, Scheduling and Testing]
- kubelet은 더 이상 1.20 이전의 device manager 상태 파일을 복구할 수 없습니다. 권장 업그레이드 흐름을 따르면 문제가 없습니다. (#123398, @ffromani) [SIG Node and Testing]
- CNI 플러그인을 v1.5.0으로 업데이트합니다. (#125113, @bzsuni) [SIG Cloud Provider, Network, Node and Testing]
- cni-plugins를 v1.4.1로 업데이트합니다. (#123894, @saschagrunert) [SIG Cloud Provider, Node and Testing]
- cri-tools를 v1.30.0으로 업데이트합니다. (#124364, @saschagrunert) [SIG Cloud Provider, Node and Release]
종속성
추가
- github.com/antlr4-go/antlr/v4: v4.13.0
- github.com/go-task/slim-sprig/v3: v3.0.0
- go.uber.org/mock: v0.4.0
- gopkg.in/evanphx/json-patch.v4: v4.12.0
변경
- cloud.google.com/go/compute/metadata: v0.2.3 → v0.3.0
- cloud.google.com/go/firestore: v1.11.0 → v1.12.0
- cloud.google.com/go/storage: v1.10.0 → v1.0.0
- cloud.google.com/go: v0.110.6 → v0.110.7
- github.com/alecthomas/kingpin/v2: v2.3.2 → v2.4.0
- github.com/chzyer/readline: 2972be2 → v1.5.1
- github.com/container-storage-interface/spec: v1.8.0 → v1.9.0
- github.com/cpuguy83/go-md2man/v2: v2.0.2 → v2.0.3
- github.com/davecgh/go-spew: v1.1.1 → d8f796a
- github.com/fxamacker/cbor/v2: v2.6.0 → v2.7.0-beta
- github.com/go-openapi/swag: v0.22.3 → v0.22.4
- github.com/golang/glog: v1.1.0 → v1.1.2
- github.com/golang/mock: v1.6.0 → v1.3.1
- github.com/google/cel-go: v0.17.8 → v0.20.1
- github.com/google/pprof: 4bb14d4 → 4bfdf5a
- github.com/google/uuid: v1.3.0 → v1.3.1
- github.com/googleapis/gax-go/v2: v2.11.0 → v2.0.5
- github.com/ianlancetaylor/demangle: 28f6c0f → bd984b5
- github.com/jstemmer/go-junit-report: v0.9.1 → af01ea7
- github.com/matttproud/golang_protobuf_extensions: v1.0.4 → v1.0.2
- github.com/onsi/ginkgo/v2: v2.15.0 → v2.19.0
- github.com/onsi/gomega: v1.31.0 → v1.33.1
- github.com/pmezard/go-difflib: v1.0.0 → 5d4384e
- github.com/prometheus/client_golang: v1.16.0 → v1.19.0
- github.com/prometheus/client_model: v0.4.0 → v0.6.0
- github.com/prometheus/common: v0.44.0 → v0.48.0
- github.com/prometheus/procfs: v0.10.1 → v0.12.0
- github.com/rogpeppe/go-internal: v1.10.0 → v1.11.0
- github.com/sergi/go-diff: v1.1.0 → v1.2.0
- github.com/sirupsen/logrus: v1.9.0 → v1.9.3
- github.com/spf13/cobra: v1.7.0 → v1.8.0
- go.etcd.io/bbolt: v1.3.8 → v1.3.9
- go.etcd.io/etcd/api/v3: v3.5.10 → v3.5.13
- go.etcd.io/etcd/client/pkg/v3: v3.5.10 → v3.5.13
- go.etcd.io/etcd/client/v2: v2.305.10 → v2.305.13
- go.etcd.io/etcd/client/v3: v3.5.10 → v3.5.13
- go.etcd.io/etcd/pkg/v3: v3.5.10 → v3.5.13
- go.etcd.io/etcd/raft/v3: v3.5.10 → v3.5.13
- go.etcd.io/etcd/server/v3: v3.5.10 → v3.5.13
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.42.0 → v0.46.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.19.0 → v1.20.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.19.0 → v1.20.0
- go.opentelemetry.io/otel/metric: v1.19.0 → v1.20.0
- go.opentelemetry.io/otel/sdk: v1.19.0 → v1.20.0
- go.opentelemetry.io/otel/trace: v1.19.0 → v1.20.0
- go.opentelemetry.io/otel: v1.19.0 → v1.20.0
- golang.org/x/crypto: v0.21.0 → v0.23.0
- golang.org/x/exp: a9213ee → f3d0a9c
- golang.org/x/lint: 6edffad → 1621716
- golang.org/x/mod: v0.15.0 → v0.17.0
- golang.org/x/net: v0.23.0 → v0.25.0
- golang.org/x/oauth2: v0.10.0 → v0.20.0
- golang.org/x/sync: v0.6.0 → v0.7.0
- golang.org/x/sys: v0.18.0 → v0.20.0
- golang.org/x/telemetry: b75ee88 → f48c80b
- golang.org/x/term: v0.18.0 → v0.20.0
- golang.org/x/text: v0.14.0 → v0.15.0
- golang.org/x/tools: v0.18.0 → v0.21.0
- google.golang.org/api: v0.126.0 → v0.13.0
- google.golang.org/genproto/googleapis/api: 23370e0 → b8732ec
- google.golang.org/genproto: f966b18 → b8732ec
- google.golang.org/grpc: v1.58.3 → v1.59.0
- honnef.co/go/tools: v0.0.1-2020.1.4 → v0.0.1-2019.2.3
- sigs.k8s.io/knftables: v0.0.14 → v0.0.16
- sigs.k8s.io/kustomize/api: 6ce0bf3 → v0.17.2
- sigs.k8s.io/kustomize/cmd/config: v0.11.2 → v0.14.1
- sigs.k8s.io/kustomize/kustomize/v5: 6ce0bf3 → v5.4.2
- sigs.k8s.io/kustomize/kyaml: 6ce0bf3 → v0.17.1
- sigs.k8s.io/yaml: v1.3.0 → v1.4.0
제거
- github.com/GoogleCloudPlatform/k8s-cloud-provider: f118173
- github.com/antlr/antlr4/runtime/Go/antlr/v4: 8188dc5
- github.com/evanphx/json-patch: v4.12.0+incompatible
- github.com/fvbommel/sortorder: v1.1.0
- github.com/go-gl/glfw/v3.3/glfw: 6f7a984
- github.com/go-task/slim-sprig: 52ccab3
- github.com/golang/snappy: v0.0.3
- github.com/google/martian/v3: v3.2.1
- github.com/google/s2a-go: v0.1.7
- github.com/googleapis/enterprise-certificate-proxy: v0.2.3
- google.golang.org/genproto/googleapis/bytestream: e85fd2c
- google.golang.org/grpc/cmd/protoc-gen-go-grpc: v1.1.0
- gopkg.in/gcfg.v1: v1.2.3
- gopkg.in/warnings.v0: v0.1.2
- rsc.io/quote/v3: v3.1.0
- rsc.io/sampler: v1.3.0
'Kubernetes > Kubernetes 버전별 변경 이력' 카테고리의 다른 글
KUBERNETES 1.28 변경이력 [ 번역본 ] (0) | 2024.08.07 |
---|---|
KUBERNETES 1.29 변경이력 [ 번역본 ] (0) | 2024.08.07 |
KUBERNETES 1.30 변경이력 [ 번역본 ] (0) | 2024.08.07 |