日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

從未有過的Kubectl指南

來源: 責編: 時間:2024-05-09 09:28:26 194觀看
導讀你是哪種工程師?光看外表,有人能猜出來嗎?很可能猜不出來。譯自The guide to kubectl I never had.,作者 Jake Page。如果有人通過觀察你的鍵盤就能猜出來呢?現在可能稍微容易一點了。當鍵盤上的“k”鍵已經磨損時,你就知道

你是哪種工程師?光看外表,有人能猜出來嗎?很可能猜不出來。77F28資訊網——每日最新資訊28at.com

譯自The guide to kubectl I never had.,作者 Jake Page。77F28資訊網——每日最新資訊28at.com

如果有人通過觀察你的鍵盤就能猜出來呢?現在可能稍微容易一點了。77F28資訊網——每日最新資訊28at.com

當鍵盤上的“k”鍵已經磨損時,你就知道自己正在與一位Kubernetes工程師打交道。77F28資訊網——每日最新資訊28at.com

在Glasskube辦公室,你會發現到處都是備用的 “k” 鍵,以備不時之需。77F28資訊網——每日最新資訊28at.com

當然,我是在開玩笑。77F28資訊網——每日最新資訊28at.com

我并不確定磨損的鍵盤能說明其主人的什么情況。但我確實知道,對于任何想要成為一名熟練的Kubernetes管理員的人來說,kubectl 有多重要。77F28資訊網——每日最新資訊28at.com

kubectl 是用于與 Kubernetes API 通信的 CLI 工具,它乍一看似乎很簡單,但很快就會變得復雜。77F28資訊網——每日最新資訊28at.com

因此,在這篇博文中,我的目標是編寫我剛開始時希望擁有的指南。首先關注命令語法和有用的命令,然后再轉向插件和工具的充滿活力的生態系統,這些插件和工具旨在擴展 kubectl 和 Kubernetes 的功能。77F28資訊網——每日最新資訊28at.com

同時分享一些提示和技巧,以及一份有用的 kubectl 速查表。77F28資訊網——每日最新資訊28at.com

讓我們開始吧。77F28資訊網——每日最新資訊28at.com

免責聲明

這不是一篇關于 Kubernetes 的文章。K8s 是一項極其龐大的技術,涵蓋了眾多概念,例如各種類型的 Kubernetes 對象及其交互。對于此討論,我假設你熟悉這些概念。相反,我將專門關注 kubectl、它的用法以及圍繞它構建的工具。77F28資訊網——每日最新資訊28at.com

開始之前

如果你支持讓 Kubernetes 軟件包管理對每個人都更好的開源項目,那么請考慮支持Glasskube,在 GitHub 上給我們一顆星。77F28資訊網——每日最新資訊28at.com

安裝

要安裝 kubectl,你可以根據你的操作系統選擇一些不同的選項。以下是如何在一些常見平臺上安裝它:77F28資訊網——每日最新資訊28at.com

Linux (Ubuntu/Debian)77F28資訊網——每日最新資訊28at.com

sudo apt-get update && sudo apt-get install -y kubectl

使用 Homebrew 的 MacOS77F28資訊網——每日最新資訊28at.com

brew install kubectl

使用 Chocolatey 的 Windows77F28資訊網——每日最新資訊28at.com

choco install kubernetes-cli

安裝后,你可以通過運行以下命令來驗證 kubectl 是否已正確安裝:77F28資訊網——每日最新資訊28at.com

kubectl version --client

kubectl 命令:

kubectl 是一個命令行界面 (CLI) 工具,用于與 Kubernetes API 通信。命令有很多,多到無法記住。77F28資訊網——每日最新資訊28at.com

圖片圖片77F28資訊網——每日最新資訊28at.com

聲明式工作

Kubernetes 資源的聲明性管理涉及使用 YAML 清單文件指定資源的所需狀態,并將這些清單應用到集群。77F28資訊網——每日最新資訊28at.com

創建 YAML 文件

無論 Kubernetes 對象是由您自己編寫的還是由其他人編寫的,所有對象均定義在 YAML 文件中。Kubernetes API 就是通過 YAML 文件定義來了解集群狀態的:77F28資訊網——每日最新資訊28at.com

apiVersion: apps/v1kind: Deploymentmetadata:  name: glasskube-deploymentspec:  replicas: 3  selector:    matchLabels:      app: glasskube      env: prod  template:    metadata:      labels:        app: glasskube        env: prod    spec:      containers:      - name: glasskube-container        image: your-glasskube-image:latest

若要從頭開始創建此部署,請使用 kubectl create 命令:77F28資訊網——每日最新資訊28at.com

kubectl create -f glasskube-deployment.yaml

應用 YAML 文件(客戶端應用)

運用 YAML 文件是管理 Kubernetes 資源的標準方法。您可以用 YAML 格式定義您資源的所需狀態,并將這些 YAML 文件應用于該集群。77F28資訊網——每日最新資訊28at.com

kubectl apply -f manifest.yaml

服務器端應用 (SSA)

服務器端應用是將配置更改應用到 Kubernetes 資源的一種較新方法。使用 SSA,變更會直接應用于服務器端,這意味著 Kubernetes API 服務器負責確保實現所需狀態。77F28資訊網——每日最新資訊28at.com

kubectl apply --server-side -f manifest.yaml

插件和工具

每當我看到一些來回討論 Kubernetes 的內容時,它到底是什么。它最適合哪些用例以及如何最好地思考它,Kelsey Hightower的同一條推文會浮現在我腦海里。77F28資訊網——每日最新資訊28at.com

圖片圖片77F28資訊網——每日最新資訊28at.com

值得稱贊的:77F28資訊網——每日最新資訊28at.com

kubectl-cf:一種在 kubeconfig 文件(而不是上下文)之間切換的更快方法。77F28資訊網——每日最新資訊28at.com

可見性

Kubernetes 集群是復雜的系統,包含許多相互依賴的活動部分,以使您的應用得以運行。始終清晰地了解正在發生的事情至關重要。77F28資訊網——每日最新資訊28at.com

k9s

K9s是一個方便、輕量級的交互式 Kubernetes 儀表盤,運行在終端中。除了可視化你的 k8s 資源外,你還可以輕松的進入 pods 中,編輯清單,并且在一處管理你的工作負載。這或許是我最喜歡的 Kubernetes 管理工具之一。77F28資訊網——每日最新資訊28at.com

安裝說明在這里。77F28資訊網——每日最新資訊28at.com

圖片圖片77F28資訊網——每日最新資訊28at.com

kubectl tree

一個 kubectl 插件,用于通過對象上的 ownersReferences 探索 Kubernetes 對象之間的所有權關系。77F28資訊網——每日最新資訊28at.com

圖片圖片77F28資訊網——每日最新資訊28at.com

安裝說明此處。77F28資訊網——每日最新資訊28at.com

值得一提:77F28資訊網——每日最新資訊28at.com

kubectl-watch:另一個觀察工具,可視化查看 Kubernetes 資源的增量更改。77F28資訊網——每日最新資訊28at.com

故障排除

Inspektor-Gadget:77F28資訊網——每日最新資訊28at.com

Inspektor-gadget是用于調試和檢查 Kubernetes 資源和應用程序的工具(或小工具)集合。77F28資訊網——每日最新資訊28at.com

Inspektor Gadget 工具稱為小工具。您可以部署一個、兩個或多個小工具。77F28資訊網——每日最新資訊28at.com

圖片圖片77F28資訊網——每日最新資訊28at.com

安裝說明此處。77F28資訊網——每日最新資訊28at.com

值得一提:77F28資訊網——每日最新資訊28at.com

kubectl node-shell:直接在正在運行的節點的主機操作系統中啟動根 shell。77F28資訊網——每日最新資訊28at.com

日志記錄

Stern:77F28資訊網——每日最新資訊28at.com

Stern允許您跟蹤 Kubernetes 上的多個 Pod 和 Pod 中的多個容器。每個結果都使用顏色編碼,以便更快速地進行調試。77F28資訊網——每日最新資訊28at.com

安裝:77F28資訊網——每日最新資訊28at.com

kubectl krew install stern

使用 kubectl 插件的一些安全影響包括可能的漏洞、權限提升和無意的數據泄露。請確保僅使用積極維護的插件,并且最好在它們周圍有一個活躍的社區。77F28資訊網——每日最新資訊28at.com

別名

有如此多的 kubectl 命令需要記住,通過使用鍵盤快捷鍵或別名來簡化您的生活。77F28資訊網——每日最新資訊28at.com

您將在此處找到一個存儲庫,其中包含一個腳本,用于生成數百個方便的 shell 別名 kubectl。問題是許多別名很長,可能難以回憶。不過不用擔心,我找到了Benoit Couetil 撰寫的這篇非常實用的博客文章,介紹如何處理上述腳本生成的眾多別名。77F28資訊網——每日最新資訊28at.com

Kubectl 速查表

沒有速查表,任何指南都是不完整的,對吧?77F28資訊網——每日最新資訊28at.com

# Basic Commands# List API Resourceskubectl api-resources# List Resourceskubectl get [name]# Explain Resourceskubectl explain# Working with Pods# Create a new deployment named "nginx-deployment" with the nginx imagekubectl run nginx-deployment --image=nginx# Show Resource Usage of a Podkubectl top pod -n [namespace] [pod-name]# Run Command in Podkubectl run -it [pod-name] --image [image-name] --rm -- [command]# Show Resource Labelskubectl get pods -n [namespace] -L [label1] -L [label2]# Execute Command in Podkubectl exec -it [pod-name] -- [command]# Port Forwardingkubectl port-forward [pod-name] [local-port]:[remote-port]# Filtering Pods by Node Namekubectl get pods --field-selector spec.nodeName=[node-name]# Filtering Pods by Phasekubectl get pods --field-selector status.phase=Running# Delete a pod named "my-pod" in the default namespacekubectl delete pod my-pod# Working with Nodes# Watch Nodes (Old School)watch kubectl get nodes -o wide# Watch Nodes (New School)kubectl get nodes -w# Node Resource Utilizationkubectl top node [node-name]# Get Node Resourcekubectl describe node [node-name]# Working with Deployments, Daemonsets, and StatefulSets# Restart Workloadkubectl rollout restart -n [namespace] [kind]/[name]# Rollout Statuskubectl rollout status [kind]/[name]# Rollout Historykubectl rollout history [kind]/[name]# Scale Deploymentkubectl scale deployment/[name] --replicas=[replica-count]#Update Deployment Imagekubectl set image deployment/[deployment-name] [container-name]=new-image:tag# Watch events related to a deploymentkubectl events -n glasskube-system --for=deployment/glasskube-controller-manager  # Delete DaemonSetkubectl delete daemonset [daemonset-name]# Working with Jobs# Run CronJob Manuallykubectl create job -n [namespace] --from=cronjob/[cron-job-name] [job-name]# Working with Secrets# Get Value from Secretkubectl get secret -n [namespace] [secret-name] -o=jsnotallow='{.data.[key]}' | base64 --decode# Create Secretkubectl create secret generic [secret-name] --from-literal=key1=value1 --from-file=ssh-privatekey=~/.ssh/id_rsa# Get a value from a secretkubectl get secrets -n [namespace] [secret-name] --template='{{ .data.[key-name] | base64decode }}'# Working with Containers# Show Container Logskubectl logs -n [namespace] [pod-name] kubectl logs -n [namespace] deployment/[deployment-name]# Run Command in Containerkubectl exec -it -n [namespace] [pod-name] -- [command]# Working Imperatively# Modify Resourcekubectl edit -n [namespace] [resource-kind]/[resource-name]# Delete Resourcekubectl delete [resource-kind]/[resource-name]# Create Resourcekubectl create -f [resource-file]# Working Declaratively# Use Server-Side Apply (SSA)kubectl apply --server-side -f [resource-file]# Events and Logs# Show Events for Resourcekubectl get events -n [namespace] --field-selector involvedObject.kind=[kind] --field-selector involvedObject.name=[name]# Filtering Events by Typekubectl get events --field-selector type=Warning# Filtering Events by Involved Object Namekubectl get events --field-selector involvedObject.name=[resource-name]# Show Resource Usagekubectl top

其他資源

  • 精選插件列表:https://github.com/ishantanu/awesome-kubectl-plugins
  • 別名列表:https://github.com/ahmetb/kubectl-aliases
  • Krew 插件倉庫:https://krew.sigs.k8s.io/plugins/

本文鏈接:http://www.www897cc.com/showinfo-26-87504-0.html從未有過的Kubectl指南

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: JS世界的新星:探索除了Vue和React之外的“后起之秀”

下一篇: 壓力很大嗎?可以考慮移動下 WAL 日志目錄

標簽:
  • 熱門焦點
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 服務存儲設計模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數據從主存儲加載到KV緩存中,加速后續的訪問。在存在重復度的場景,Cache-Aside可以提升服務性能,降低底層存儲的壓力,缺點是緩存和底
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大“烤”之下的除了眾生,還有各大企業發布的ESG報告。ESG是“環境保
  • 華為HarmonyOS 4.0將于8月4日發布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發布。此前,華為已經針對開發者公布了HarmonyOS4.0,以便于開發者提前進行適配,也因此被曝光出了一些新系統的特性
  • 聯想YOGA 16s 2022筆記本將要推出,屏幕支持觸控功能

    聯想此前宣布,將于11月2日19:30召開聯想秋季輕薄新品發布會,推出聯想 YOGA 16s 2022 筆記本等新品。官方稱,YOGA 16s 2022 筆記本將搭載 16 英寸屏幕,并且是一
  • onebot M24巧系列一體機采用輕薄機身設計,現已在各平臺開售

    onebot M24 巧系列一體機目前已在線上線下各平臺同步開售。onebot M24 巧系列采用一體化輕薄機身設計,最薄處為 10.15mm,擁有寶石紅、午夜藍、石墨綠、雅致
  • 上海舉辦人工智能大會活動,建設人工智能新高地

    人工智能大會在上海浦江兩岸隆重拉開帷幕,人工智能新技術、新產品、新應用、新理念集中亮相。8月30日晚,作為大會的特色活動之一的上海人工智能發展盛典人工
Top 主站蜘蛛池模板: 思茅市| 礼泉县| 五家渠市| 南安市| 故城县| 襄汾县| 永仁县| 三河市| 乌拉特前旗| 沅陵县| 宝鸡市| 奎屯市| 葵青区| 泸州市| 临武县| 蒙城县| 襄垣县| 佛山市| 舒兰市| 广汉市| 渭南市| 乐至县| 鲁甸县| 泰宁县| SHOW| 长武县| 乌兰县| 健康| 泸定县| 通化县| 乐亭县| 贵州省| 成武县| 游戏| 张家界市| 开鲁县| 桐城市| 江都市| 特克斯县| 贺州市| 城口县|