Kubernetesクラスターと通信するためのクライアントに移動します。
使用することをお勧めします Kubernetes リリースのタグ >=および Kubernetes リリースのタグ <。
v0.x.y
v1.17.0
kubernetes-1.x.y
v1.17.0
このライブラリをプロジェクトに追加する最も速い方法は、go1.16+で実行することです。 詳細なインストール手順とトラブルシューティングについては、INSTALL.mdを参照してください。
go get k8s.io/client-go@latest
kubernetes
discovery
dynamic
plugin/pkg/client/auth
transport
tools/cache
各 Kubernetes リリースについて、メジャー バージョン (最初の桁) 残るでしょう。
v1.x.y
0
バグ修正により、パッチバージョン(3桁目)が変更されます。である PR 古いKubernetesリリースブランチにチェリーピックすると、更新されます 対応するブランチに、対応する新しいタグを付けます パッチバージョンの変更。
client-go
マイナーバージョンのインクリメントごとに新しいブランチとタグを作成します 数。パッチの増分ごとに新しいタグのみを作成します バージョン番号。メジャーの定義については、semverを参照してください。 マイナー、およびパッチ。
クライアントゴーのマスターブランチのHEADは、マスターのHEADを追跡します ブランチをメインの Kubernetes リポジトリに配置します。
タグは、go API が互換性のない方法で変更される可能性があることを示します。 異なるバージョン。
v0.x.y
特定の要求に関するガイドラインについては、INSTALL.mdを参照してください。 クライアントゴーのバージョン。
Kubernetes はクライアントと下位互換性があるため、古いバージョンは多くの異なる Kubernetes クラスター バージョンで動作します。
client-go
バグ修正は古いバージョンにバックポートしますが、新機能はバックポートしません。
client-go
Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | |
---|---|---|---|---|---|---|
kubernetes-1.15.0 |
✓ | +- | +- | +- | +- | +- |
kubernetes-1.16.0 |
+- | ✓ | +- | +- | +- | +- |
kubernetes-1.17.0/ v0.17.0 |
+- | +- | ✓ | +- | +- | +- |
kubernetes-1.18.0/ v0.18.0 |
+- | +- | +- | ✓ | +- | +- |
kubernetes-1.19.0/ v0.19.0 |
+- | +- | +- | +- | ✓ | +- |
kubernetes-1.20.0/ v0.20.0 |
+- | +- | +- | +- | +- | ✓ |
HEAD |
+- | +- | +- | +- | +- | +- |
鍵:
✓クライアントゴーとKubernetesの両方でまったく同じ機能/ APIオブジェクト バージョン。
+client-go には、 Kubernetes クラスターは、クライアントゴーに追加の新しい API があるため、または サーバーが古いAPIを削除したこと。しかし、彼らが持っているすべてのもの 一般的な(つまり、ほとんどのAPI)が機能します。アルファAPIが消える可能性があることに注意してください 1 回のリリースで大幅に変更されました。
-Kubernetes クラスターには、クライアントゴー ライブラリでは使用できない機能があります。 サーバーに追加の新しいAPIがあるため、またはclient-goには 古い API を削除しました。ただし、共通して共有するすべてのもの(つまり、ほとんどのAPI) 動作します。
変更の詳細については、変更ログを参照してください。 クライアントゴーバージョン間。
枝 | 正規のソースコードの場所 | メンテナンス状況 |
---|---|---|
release-1.4 |
Kubernetes メイン リポジトリ、1.4 ブランチ | = - |
release-1.5 |
Kubernetes メイン リポジトリ、1.5 ブランチ | = - |
release-2.0 |
Kubernetes メイン リポジトリ、1.5 ブランチ | = - |
release-3.0 |
Kubernetes メイン リポジトリ、1.6 ブランチ | = - |
release-4.0 |
Kubernetes メイン リポジトリ、1.7 ブランチ | = - |
release-5.0 |
Kubernetes メイン リポジトリ、1.8 ブランチ | = - |
release-6.0 |
Kubernetes メイン リポジトリ、1.9 ブランチ | = - |
release-7.0 |
Kubernetes メイン リポジトリ、1.10 ブランチ | = - |
release-8.0 |
Kubernetes メイン リポジトリ、1.11 ブランチ | =- |
release-9.0 |
Kubernetes メイン リポジトリ、1.12 ブランチ | =- |
release-10.0 |
Kubernetes メイン リポジトリ、1.13 ブランチ | =- |
release-11.0 |
Kubernetes メイン リポジトリ、1.14 ブランチ | =- |
release-12.0 |
Kubernetes メイン リポジトリ、1.15 ブランチ | =- |
release-13.0 |
Kubernetes メイン リポジトリ、1.16 ブランチ | =- |
release-14.0 |
Kubernetes メイン リポジトリ、1.17 ブランチ | ✓ |
release-1.18 |
Kubernetes メイン リポジトリ、1.18 ブランチ | ✓ |
release-1.19 |
Kubernetes メイン リポジトリ、1.19 ブランチ | ✓ |
release-1.20 |
Kubernetes メイン リポジトリ、1.20 ブランチ | ✓ |
クライアントゴーヘッド | Kubernetes メイン リポジトリ、マスター ブランチ | ✓ |
鍵:
✓メインの Kubernetes リポジトリの変更は、ボットによって client-go にアクティブに発行されます
=メンテナンスは手動で行われ、重大なセキュリティバグにのみパッチが適用されます。
-廃止;アップグレードしてください。
最初の安定したタグから少なくとも6か月間ブランチを維持します カットされています。(たとえば、リリース2.0ブランチの時計は、次のときに時を刻み始めました。 タグ付きv2.0.0、最初のアルファを作成したときではありません。このポリシーは、以下に適用されます。 2.0 以上のすべてのバージョン。
client-goの最初のリリースでは、維持するのが最も簡単だと考えました マイナー バージョンごとに個別のディレクトリ。それはすぐに間違いであることが判明しました。 最上位フォルダを1.4および1.5ブランチに保持して、 既存のユーザーは壊れません。
このリポジトリはまだk8s.io/kubernetes/staging/src/client-go のミラーです。 コード開発は引き続きステージング領域で行われます。
Kubernetes以降、ステージング領域からコードを同期すると、 また、Kubernetes バージョン タグを client-go に同期し、プレフィックスを付けます。Kubernetes からは、Kubernetes リリースごとに一致する semvertag も作成されます。
v1.8.0
kubernetes-
v1.17.0
v0.x.y
v1.x.y
たとえば、チェックアウトした場合またはタグ client-go、あなたが得るコードはあなたがチェックアウトした場合とまったく同じですKubernetesのタグ、そしてディレクトリをに変更します。
kubernetes-1.17.0
v0.17.0
v1.17.0
staging/src/k8s.io/client-go
目的は、ユーザーが公開されたリポジトリ間で一致するコミットをすばやく見つけられるようにすることです。 サンプル-apiserver、apiextension-apiserverのように、 等。Kubernetesバージョンタグは下位互換性を主張していません クライアントゴーの保証。次の場合は、セマンティックバージョンを確認してください 下位互換性を気にします。
最新バージョンを取得するには、go1.16+を使用し、コマンドを使用してフェッチしますコマンド。例えば:
go get
go get k8s.io/client-go@latest
特定のバージョンを取得するには、go1.11+を使用し、コマンドを使用して目的のバージョンをフェッチします。例えば:
go get
go get k8s.io/client-go@v0.20.4
詳細な手順とトラブルシューティングについては、INSTALL.mdを参照してください。
アプリケーションがクラスター内のPodで実行されている場合は、 クラスター内の例、それ以外の場合はお願いします クラスタ外の例を参照してください。
client-goをインストールするための依存関係管理を正しく使用する方法については、INSTALL.md を参照してください。
Kubernetes メインリポジトリ内のクライアント パッケージに対してプル要求を送信してください。ステージング領域の変更は、このリポジトリに毎日公開されます。