日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用kubectl管理k8s集群(三十)

發布時間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用kubectl管理k8s集群(三十) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


前言

Foreword

在搭建k8s集群之前,我們需要先了解下kubectl的使用,以便在集群部署出現問題時進行檢查和處理。命令和語法記不住沒有關系,但是請記住主要的語法和命令以及幫助命令的使用。

在下一篇,我們將講述使用Kubeadm來創建k8s集群。

THE END



目錄


使用kubectl管理k8s集群

  • 概述

  • 語法

  • 主要命令(command)說明

  • 資源類型(TYPE)說明

  • 命令標準(flags)說明

  • 格式化輸出



?使用kubectl管理k8s集群


概述


Kubectl是一個命令行界面,用于運行針對Kubernetes集群的命令。Kubectl的配置文件在$HOME/.kube目錄。我們可以通過設置KUBECONFIG環境變量或設置命令參數--kubeconfig來指定其他位置的kubeconfig文件。


?語法


我們可以使用以下語法kubectl從終端窗口運行命令:

kubectl [command] [TYPE] [NAME] [flags]

其中commandTYPENAME,和flags分別是:

  • command:指定要在一個或多個資源進行的操作,例如creategetdescribedelete。例如“kubectl get cs”。

  • TYPE:指定資源類型。資源類型不區分大小寫,可以指定單數,復數或縮寫形式。例如,以下命令產生相同的輸出:

kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1
  • NAME:指定資源的名稱。名稱區分大小寫。如果省略名稱,則顯示所有資源的詳細信息,如“kubectl get pods”。

在對多個資源執行操作時,我們可以按類型和名稱指定每個資源,或指定一個或多個文件:

1)????????要按類型和名稱指定資源:

    • 如果資源類型相同,則對資源進行分組:TYPE1 name1 name2 name<#>
      ? ? ?例:kubectl ?get pod example-pod1 example-pod2

    • 分別指定多種資源類型:TYPE1/name1 TYPE1/name2 TYPE2/name3 ? ? ?TYPE<#>/name<#>
      ? ? ?例:kubectl ?get pod/example-pod1 replicationcontroller/example-rc1

2)????要使用一個或多個文件指定資源:?-f file1 -f file2 -f file<#>

    • 注意使用YAML而不是JSON因為YAML往往更加用戶友好,特別是對于配置文件。
      ? ? ?例:kubectl ? ? ?get pod -f ./pod.yaml

  • flags:指定的可選標志,不過值得注意的是,使用命令行指定參數會覆蓋默認值以及相關的環境變量。例如,我們可以使用-s--server標志來指定Kubernetes API服務器的地址和端口。

?

?主要命令(command)說明


Kubectl的主體操作命令如下表所示:

操作

描述

annotate

添加或更新一個或多個資源的注釋。

api-versions

列出可用的API版本。

apply

通過文件名或標準輸入流(stdin)對資源進行配置,例如“kubectl apply --prune ?-f manifest.yaml -l app=nginx

attach

附加到一個正在運行的容器,以查看輸出流或與容器(stdin)交互。

autoscale

自動縮放由Replication Controller管理的pod集。

cluster-info

顯示有關群集中主服務器和服務的端點信息。

config

指定kubeconfig文件。

create

從文件或標準輸入流(stdin)創建一個或多個資源。例如使用pod.json創建podkubectl create -f ./pod.json”。

delete

通過文件,標準輸入、指定標簽選擇器,名稱,資源選擇器或資源來刪除資源。例如刪除所有的podkubectl delete pods ?--all”。

describe

顯示一個或多個資源的詳細。例如查看podcoredns-5c98db65d4-h5v9h”的詳情“kubectl describe pod ?coredns-5c98db65d4-h5v9h -n kube-system”,這里使用了“-n”指定了命名空間。

edit

在服務器上編輯一個資源。

exec

Pod容器中執行命令。

explain

查看資源的文檔。例如pod,節點,服務等。例如“kubectl explain pods”。

expose

將復制控制器,服務或pod公開為新的Kubernetes服務。

get

列出一個或多個資源。例如“kubectl get pods -n kube-system ?-o wide”命令將列出“kube-system”命名空間下的所有pod并且以表格狀輸出pod的相關附加信息(節點名稱)。

label

添加或更新一個或多個資源的標簽。

logs

輸出容器在pod中的日志。例如執行以下命令“kubectl logs ?etcd-k8s-master -n kube-system”將在終端中輸出該容器的日志。

patch

使用patch策略更新資源的字段。

port-forward

將一個或多個本地端口轉發到pod

proxy

運行代理指定到Kubernetes ?API server

replace

從文件或標準輸入中替換資源。

rolling-update

通過逐步替換指定的Replication ?Controller及其pod來執行滾動更新。

run

在群集上運行指定的映像。例如運行Nginxkubectl run nginx ?--image=nginx”。

scale

設置新的Deployment, ?ReplicaSet, Replication Controller 或者 Job副本數量。例如“ubectl ?scale --replicas=3 -f foo.yaml”。

version

顯示客戶端和服務器上運行的Kubernetes版本。

api-resources

輸出服務端支持的所有的API資源類型。

api-versions

輸出服務端支持的API版本。

更多命令,我們可以執行“kubectl help來查看當前所有支持的命令,也可以訪問官方地址

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

來查看所有的命令說明。在使用的過程中,如果我們不了解單個命令的具體語法,我們可以使用“kubectl <command> --help”來獲取詳細介紹,如:

kubectl scale --help


資源類型(TYPE)說明


我們可以使用“kubectlapi-resources”命令來獲取服務端目前支持的所有的資源類型,如下圖所示:



?命令標準(flags)說明


同樣的,我們可以使用命令“kubectl options”來輸出當前支持的所有可選標志:

其中,在前面我們說過,“-s”可以指定Kubernetes API 服務器地址,“-n”可以指定命名空間,“--kubeconfig”可以指定kubeconfig配置文件。主要的一些說明如下所示:


格式化輸出


默認情況下,所有的kubectl命令默認輸出格式是可讀的純文本格式。要以特定格式將詳細信息輸出到終端窗口,我們需要使用“-o”或多個“-output”標志。

語法:

kubectl [command] [TYPE] [NAME]-o=<output_format>

?

支持的輸出格式如下表所示:

輸出格式

描述

-o=custom-columns=<spec>

輸入指定的逗號分隔的列名列表來打印表格?

-o=custom-columns-file=<filename>

使用文件中的自定義列模板來打印表。

-o=json

輸出JSON格式的API對象。

-o=jsonpath=<template>

打印在jsonpath表達式中定義的字段

-o=jsonpath-file=<filename>

打印由文件中的jsonpath表達式定義的字段。

-o=name

僅打印資源名稱。

-o=wide

以純文本格式輸出任何附加信息。對于pod,包括節點名稱。

-o=yaml

輸出YAML格式的API對象。

例如:

kubectl get pods -n kube-system -o wide


?

往期文章



Docker最全教程——從理論到實戰(一)

Docker最全教程——從理論到實戰(二)

Docker最全教程——從理論到實戰(三)

Docker最全教程——從理論到實戰(四)

Docker最全教程——從理論到實戰(五)

Docker最全教程——從理論到實戰(六)

Docker最全教程——從理論到實戰(七)

Docker最全教程——從理論到實戰(八)? ??

Docker最全教程——從理論到實戰(九)

Docker最全教程之使用Tencent Hub來完成CI(十)

Docker最全教程——數據庫容器化(十一)

Docker最全教程——數據庫容器化之持久保存數據(十二)

Docker最全教程——MongoDB容器化(十三)

Docker最全教程——Redis容器化以及排行榜實戰(十四)

Docker最全教程之Ubuntu下安裝Docker(十五)

Docker最全教程之樹莓派和Docker(十六)

Docker最全教程之使用TeamCity來完成內部CI、CD流程(十七)

Docker最全教程之使用Docker搭建Java開發環境(十八)

Docker最全教程之Go實戰,墻裂推薦(十九)

Docker最全教程之使用.NET Core推送釘釘消息(二十)

Docker最全教程之使用 Visual Studio Code玩轉Docker(二十一)

Docker最全教程之Python爬網實戰(二十二)

使用PHP搭建個人博客站點

Docker最全教程之使用Node.js搭建團隊技術文檔站(二十四)

Docker最全教程之MySQL容器化 (二十五)

Docker+ Kubernetes已成為云計算的主流(二十六)

容器化之后如何節省云端成本?(二十七)

了解Kubernetes主體架構(二十八)

使用Minikube部署本地Kubernetes集群(二十九)




總結

以上是生活随笔為你收集整理的使用kubectl管理k8s集群(三十)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。