Help us understand the problem. What is going on with this article?

Kubernetes 1.12: 新機能 (New Features)

More than 1 year has passed since last update.

はじめに

このエントリは、Kubernetes 1.12 の CHANGELOG から新機能(New features)についてまとめています。翻訳に合わせて補足を追記しています。その他の内容は次のリンク先を参照してください。

New Features

  • Kubernetes はノードレベルの Container Storage Interface(CSI)Driver によって報告された Volume Topology を登録します。これにより Kubernetes は CSI Topology Mechanisms をサポートしました。(#67684, @￰verult) [SIG API Machinery、SIG Node、SIG Storage、SIG Testing]
  • Addon-manager が v8.7 にアップデートされました(#68299, @￰MrHohn) [SIG Cluster Lifecycle、SIG Testing]
  • CSI Volume Plugin は、アタッチされない CSI Volume に対し、外部の attacher が不要となりました(#67955, @￰jsafrane) [SIG API Machinery、SIG Node、SIG Storage、SIG Testing]
  • KubeletPluginsWatcher の機能はベータに移行しました(#68200, @￰RenaudWasTaken) [SIG Node、SIG Storage、SIG Testing]
  • ジョブ終了時にジョブをクリーンナップするための TTL のメカニズムが追加されました(#66840, @￰janetkuo) [SIG API Machinery、SIG Apps、SIG Architecture、SIG Testing]
  • スケジューラーのノード選択時の計算タスクが最適化されました(#67555, @￰wgliang) [SIG API Machinery、SIG Scheduling]
  • Pod のアフィニティ/アンチアフィニティのパフォーマンスが向上しました(#67788, @￰ahmad-diaa) [SIG Scalability、SIG Scheduling]
  • kubelet に CFS Quata の期間を変更するパラメーターとコンフィグオプションが追加されました(デフォルト値: 100m、1µs から 1s まで指定可能)。これにより Guranteed と Burstable OoS クラスの Pod がクラスターで起動しているワークロードでは応答の待ち時間が改善します。(#63437, @￰szuecs) [SIG API Machinery、SIG Apps、SIG Architecture、SIG CLI、SIG Node、SIG Scheduling]
  • cloud-controller-manager にセキュア通信用のポート設定をする --secure-port が追加されました。移譲された認証と認可は、 Aggregate API サーバーと同じフラグを使用して構成されます。このフラグ設定されていない場合、セキュアポートへは /healthz へのみアクセスできます。(#67069, @￰sttts) [SIG Auth、SIG Cloud Provider]
  • kube-controller-manager にセキュア通信用のポート設定をする --secure-port が追加されました。移譲された認証と認可は、 Aggregate API サーバーと同じフラグを使用して構成されます。このフラグ設定されていない場合、セキュアポートへは /healthz へのみアクセスできます。(#64149, @￰sttts) [SIG Auth、SIG Cloud Provider]
    :pencil: cloud-controller-manager と同じ内容です
  • kubeadm alpha phases renew <cert-name> コマンドが追加されました(#67910, @￰liztio) [SIG API Machinery、SIG Cluster Lifecycle]
  • ProcMount が SecurityContext に追加され、 AllowedProcMounts が PodSecurityPolicy に追加されました。AllowedProcMounts が指定されない場合、コンテナ内の /proc パスがマスクされないようになりました。(#64283, @￰jessfraz) [SIG API Machinery、SIG Apps、SIG Architecture、SIG Node]
  • Azure Cloud Provider は kubernetes.azure.com/managed=falsealpha.service-controller.kubernetes.io/exclude-balancer=true のラベルがついたアンマネジメントノード(オンプレ用途など)をサポートしました(#67984, @￰feiskyer) [SIG Azure、SIG Cloud Provider]
  • SCTP は Pod、Service、Endpoint および NetworkPolicy で使われる TCP/UDP と共に追加プロトコル(アルファ)としてサポートされました(#64973, @￰janosi) [SIG API Machinery、SIG Apps、SIG Architecture、SIG CLI、SIG Cloud Provider、SIG Cluster Lifecycle、SIG Network、SIG Node、SIG Scheduling]
  • autoscaling/v2beta2 と custom_metrics/v1beta2 が導入され、Ojbect と Pod のメトリクスセレクターや、ターゲットとして AverageValue が指定できるようになりました(#64097, @￰damemi) [SIG API Machinery、SIG Architecture、SIG Autoscaling、SIG CLI、SIG Testing]
    :pencil:実際の指定方法はドキュメントの Horizontal Pod Autoscaler Walkthroughを参照
  • Feature Gate のアルファ機能で NodeLease が使用できるようになりました。kubelet は kube-node-lease ネームスペース上に Lease オブジェクトを作成し、定期的に更新します。リース期間はデフォルトは 40s で、kubelet.config.k8s.io/v1beta1.KubeletConfiguration の NodeLeaseDurationSeconds フィールドで変更できます。(#66257, @￰mtaufen) [SIG API Machinery、SIG Apps、SIG Architecture、 SIG Cluster Lifecycle、SIG Node、SIG Testing]
    :pencil: Lease とはノードのハートビートの表現するために作成されたリソースです。 最終的にハートビートは Lease が使用される予定です
  • PodReadinessGate がデフォルトで有効になりました(#67406, @￰freehan) [SIG Node]
    :pencil: この機能が有効な場合、Pod の Readiness 条件をカスタマイズできるようになります
  • Azure Cloud Provider は kubernetes.azure.com/resource-group= <rg-name>alpha.service-controller.kubernetes.io/exclude-balancer=true というラベルの付いたクロスリソースグループノードをサポートしました(#67604, @￰feiskyer) [SIG Azure、SIG Cloud Provider、SIG Storage]
  • Admission Webhooks のアノテーションがサポートされました(#58679, @￰CaoShuFeng) [SIG API Machinery、SIG Auth]
  • スケジューラーは全てのノードをスコアリングせずに Pod をスケジュールできるようになりました。これにより大きなクラスターでスケジューラーのパフォーマンスが向上します。(#66733, @￰bsalamat) [SIG Scheduling]
    :pencil: デフォルトのスコアリングするノード数は 50% になっています。 ただし ソースコードに最低台数の設定値が 100 と定義されているため、100 未満のノード数の場合は今まで通り全てのノードをスコアリングします。
  • Azure のゾーンに分けられていない Managed Disks のノードアフィニティが追加されました(#67229, @￰feiskyer) [SIG Azure]
  • ローカルストレージのための Attacher/Detacher インタフェースをリファクタリングしました(#66884, @￰NickrenREN) [SIG Storage]
  • Azure Managed Disks の DynamicProvisioningScheduling と VolumeScheduling がサポートされました。この機能を使う場合は、Feature Gates の DynamicProvisioningScheduling と VolumeScheduling を有効にすべきです。(#67121, @￰feiskyer) [SIG Azure、SIG Storage]
  • audit.k8s.io API グループは v1beta1 から v1 に移行しました(#65891, @￰CaoShuFeng) [SIG API Machinery]
  • Quota Admission Configuration API は v1alpha1 から v1beta1 に移行しました(#66156, @￰vikaschoudhary16) [SIG Node、SIG Scheduling]
  • kube-apiserver --help フラグのヘルプがセクションで表示されるようになりました(#64517, @￰sttts)
    :pencil:出力例
Usage:
  kube-apiserver [flags]

Generic flags:

      --advertise-address ip
                The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
      --cors-allowed-origins strings
                List of allowed origins for CORS, comma separated.  An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.
      --external-hostname string
                The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).
...
Etcd flags:

      --default-watch-cache-size int
                Default watch cache size. If zero, watch cache will be disabled for resources that do not have a default watch size set. (default 100)
      --delete-collection-workers int
                Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup. (default 1)
      --deserialization-cache-size int
                Number of deserialized json objects to cache in memory.
      --enable-garbage-collector
                Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager. (default true)
...
  • AzureDisk のストレージクラスのために Azure Managed Disk がアベイラブルゾーンをサポートし、新しいパラメータ zonedzone および zones が追加されました(#66553, @￰feiskyer) [SIG Azure]
  • kubectl create job コマンドが追加されました(#60316, @￰soltysh) [SIG CLI]
    :pencil: 以下のようにコマンドから Job を作成することができます
    kubectl create job my-job --image=busybox
  • 証明書のブートストラップとローテーションを提供する Feature Gate の RotateKubeletServerCertificate がアルファからベータに移行しました(#66726, @￰liggitt) [SIG Auth、SIG Node]
  • アベイラブルゾーンを持つ Azure ノードには、failure-domain.beta.kubernetes.io/zone=<region>-<zoneID> のラベルが付与されるようになりました(#66242, @￰feiskyer) [SIG Azure]
  • kubeadm config print-default コマンドで デフォルトのコンポーネント設定が確認できるようになりました(#66074, @￰rosti) [SIG Cluster Lifecycle]
  • MountPropagation 機能が GA に昇格しました。これにより Featue Gate の MountPropagation は 非推奨となり、 v1.13 で削除される予定です。(#67255, @￰bertinatto) [SIG Apps、SIG Architecture、SIG Node、SIG Storage]
  • Juju charms にUbuntu 18.04 (Bionic) シリーズが追加されました(#65644, @￰tvansteenburgh)
  • kubeadm 設定に独自の API Endpoint を持つ複数のコントロールプレーンインスタンスを定義できるようになりました。ブートストラップのコントロールプレーンインスタンスの API Endpoint は、 InitConfiguration.APIEndpoint で定義し、追加するコントロールプレーンインスタンスの API Endpoint は、JoinConfiguration.APIEndpoint を使用して定義します。(#67832, @￰fabriziopandini)
  • kubectl apply コマンドに --server-dry-run フラグが追加されました。このフラグを使用すると、データ変更なしで結果を確認できます(#68069, @￰apelisse)
  • CSI Plugin discovery のメカニズムを改善し、CSI Driver と Kubernetes が相互にカスタマイズできるようになる CSI Cluster Registration を導入しました(#67803, @￰saad-ali)
  • Pod 内で PID の名前空間の共有する PodShareProcessNamespace 機能がベータに昇格しました(#66507, @￰verb)
watawuwu
Rust、Scala、Golang、PHPでアプリ開発、GCPを活用したインフラ構築、ConcourseCIを使ったDevOps、Kubernetes!!
https://www.3bi.tech
zlab
技術で新しい世界へシフトする。
https://zlab.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away