環境説明:
ホスト名 | オペレーティングシステムのバージョン | IP | ドッキングウィンドウのバージョン | オムレツバージョン | コンフィギュレーション | リマーク |
---|---|---|---|---|---|---|
マスター | CentOSに1810年7月6日 | 172.27.9.131 | ドッカー18.09.6 | V1.14.2 | 2C2G | マスターホスト |
node01 | CentOSに1810年7月6日 | 172.27.9.135 | ドッカー18.09.6 | V1.14.2 | 2C2G | ノードノード |
node02 | CentOSに1810年7月6日 | 172.27.9.136 | ドッカー18.09.6 | V1.14.2 | 2C2G | ノードノード |
K8Sは、展開を参照してくださいをクラスタ化:Centos7.6展開K8S(v1.14.2)クラスタ
教材K8Sを参照してください:基本概念、kubectlコマンドと情報の共有を
A、K8Sコアコンポーネント
Kubernetesは、主に以下のコアコンポーネントで構成されます。
- etcdは、クラスタ全体の状態を保存します。
- apiserverは唯一の入り口リソースの操作を提供し、認証、許可、アクセス制御、APIの登録と発見メカニズムを提供します。
- このような等故障検出、自動拡張、ロールオーバーなど、クラスタの状態を維持する責任コントローラマネージャ.;
- スケジューラは、ポッド対応マシンをスケジュールするために所定のスケジューリングポリシーに応じたスケジューリングリソースに責任があります。
- コンテナのライフサイクルを維持する責任kubelet、それはまた、ボリューム(CVI)とネットワーク(CNI)の管理を担当します。
- コンテナランタイムは、画像の管理と実際に実行ポッドおよびコンテナ(CRI)の責任です。
- KUBE-プロキシクラスタは、サービス発見と負荷分散のために内部のサービスを提供する責任があります
二、kubectlプロフィール
kubectlがKubernetesコマンドラインツール(CLI)で、それはKubernetesのユーザーであり、必要な経営管理者
ツールを。kubectlツール制御Kubernetesクラスターマネージャー。これは、クラスタリソースを確認し、作成、削除、およびグループ更新することができます
メンバーを、そしてより。kubectlは、様々な機能Kubernetesクラスタの管理を容易にするために、サブコマンドの多数を提供します。
1.kubectlの使用状況
- サブコマンドのリストを参照するにはkubectl -h
- kubectlオプションはグローバルオプションを参照してください
- サブコマンドのヘルプを表示するにはkubectl <コマンド> --help
- kubectl [コマンド] [PARAMS] -o = <フォーマット>(例えばJSON、YAML、jsonpath等)出力形式を設定します
- [リソース]ビューのリソースを説明kubectl定義されました
2.kubectlプラグKREW
krew
これは、aptのか、yumを、検索のサポート、インストールおよび管理kubectlプラグに似kubectlプラグを、管理するためのツールです。
三、KREWインストール
1.gitインストール
[root@master ~]# yum -y install git
KREWインストール2.
set -x; cd "$(mktemp -d)" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/download/v0.3.2/krew.{tar.gz,yaml}" &&
tar zxvf krew.tar.gz &&
./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" install \
--manifest=krew.yaml --archive=krew.tar.gz
その理由は、ネットワークメディアが原因である可能性があり、ダウンロードしたGitHubのをアップロードすることはできません。https://github.com/loong576/krew-for-kubectl.git
3.負荷の環境変数
[root@master ~]# export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
恒久的にログアウトした後、失敗を回避するために、ユーザーの環境変数ファイルに書き込むことができます。
4.インストール資格
[root@master ~]# kubectl plugin list
The following compatible plugins are available:
/root/.krew/bin/kubectl-krew
インストールは完了です
四、KREW使用
1.プラグインデックス更新
[root@master ~]# kubectl krew update
Updated the local copy of plugin index.
2.プラグ検索
[root@master ~]# kubectl krew search
[root@master ~]# kubectl krew search crt
すべてのアドインとあいまい検索を検索
3.プラグインをインストール
[root@master ~]# kubectl krew install get-all
[root@master ~]# kubectl krew install ns tail
4.ビューがプラグインをインストールされています
[root@master ~]# kubectl krew list
PLUGIN VERSION
get-all v1.2.1
krew v0.3.2
ns v0.7.1
tail v0.10.1
プラグの詳細を確認してください。5.
[root@master ~]# kubectl krew info ns
NAME: ns
URI: https://github.com/ahmetb/kubectx/archive/v0.7.1.tar.gz
SHA256: 6df4def2caf5a9c291310124098ad6c4c3123936ddd4080b382b9f7930a233ec
VERSION: v0.7.1
HOMEPAGE: https://github.com/ahmetb/kubectx
DESCRIPTION:
Also known as "kubens", a utility to set your current namespace and switch
between them.
CAVEATS:
\
| If fzf is installed on your machine, you can interactively choose
| between the entries using the arrow keys, or by fuzzy searching
| as you type.
|
| See https://github.com/ahmetb/kubectx for customization and details.
/
6.プラグインの更新
[root@master ~]# kubectl krew upgrade ns
Updated the local copy of plugin index.
F1118 17:21:47.271927 81116 root.go:58] failed to upgrade plugin "ns": can't upgrade, the newest version is already installed
アップデートプラグ-nsが、それは最新バージョンですので、更新に失敗し、コマンドですべて更新プラグイン「をkubectlアップグレードKREW」
7.プラグ--ns
[root@master ~]# kubectl
kubectl kubectl-get_all kubectl-krew kubectl-ns kubectl-tail
[root@master ~]# kubectl ns weave
[root@master ~]# kubectl-ns default
コマンドを通じてkubectl <プラグイン名>バーレーンkubectl- <プラグイン名>使用プラグインのような「kubectl NS織り」と「kubectl-NSデフォルト」に切り替えることができるデフォルトの表領域ウィジェットまたは
8.プラグ--get-全て
[root@master ~]# kubectl-get_all
このコマンドは、「すべての--all-の名前空間を取得kubectl」に似ていますが、より完全な。
9.プラグ---テール
[root@master ~]# kubectl-tail
[root@master ~]# kubectl-tail --ns default
[root@master ~]# kubectl-tail --rs kubeapps-8fd98f6f5
[root@master ~]# kubectl-tail --rs kubeapps/kubeapps-8fd98f6f5
テール出力ポッドをログに記録し、上記のコマンドは次のとおりです。すべてのポッドログ出力、デフォルトの名前空間ポッドログのすべての出力、すべての名前空間のすべての出力でさらにreplicaSetポッドログkubeapps-8fd98f6f5出力名前空間kubeappsとさらにreplicaSetがありますkubeapps- 8fd98f6f5ポッドログ。
プラグアンインストール10
[root@master ~]# kubectl krew uninstall tail
Uninstalled plugin tail
プラグイン尾のアンインストール
五、KREWアンインストール
1.レビューのインストールディレクトリ
rm -rf ~/.krew
[root@master ~]# kubectl krew version
OPTION VALUE
GitTag v0.3.2
GitCommit bd754e1
IndexURI https://github.com/kubernetes-sigs/krew-index.git
BasePath /root/.krew
IndexPath /root/.krew/index
InstallPath /root/.krew/store
DownloadPath /tmp/krew-downloads
BinPath /root/.krew/bin
2.アンインストール
[root@master ~]# rm -rf /root/.krew
本論文では、すべてのスクリプトと設定ファイルがアップロードされました:K8S練習(XIII):kubectlプラグイン管理ツールをKREW