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

當(dāng)前位置:首頁(yè) > 科技  > 軟件

從未有過(guò)的Kubectl指南

來(lái)源: 責(zé)編: 時(shí)間:2024-05-09 09:28:26 214觀看
導(dǎo)讀你是哪種工程師?光看外表,有人能猜出來(lái)嗎?很可能猜不出來(lái)。譯自The guide to kubectl I never had.,作者 Jake Page。如果有人通過(guò)觀察你的鍵盤就能猜出來(lái)呢?現(xiàn)在可能稍微容易一點(diǎn)了。當(dāng)鍵盤上的“k”鍵已經(jīng)磨損時(shí),你就知道

你是哪種工程師?光看外表,有人能猜出來(lái)嗎?很可能猜不出來(lái)。Jdt28資訊網(wǎng)——每日最新資訊28at.com

譯自The guide to kubectl I never had.,作者 Jake Page。Jdt28資訊網(wǎng)——每日最新資訊28at.com

如果有人通過(guò)觀察你的鍵盤就能猜出來(lái)呢?現(xiàn)在可能稍微容易一點(diǎn)了。Jdt28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)鍵盤上的“k”鍵已經(jīng)磨損時(shí),你就知道自己正在與一位Kubernetes工程師打交道。Jdt28資訊網(wǎng)——每日最新資訊28at.com

在Glasskube辦公室,你會(huì)發(fā)現(xiàn)到處都是備用的 “k” 鍵,以備不時(shí)之需。Jdt28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)然,我是在開玩笑。Jdt28資訊網(wǎng)——每日最新資訊28at.com

我并不確定磨損的鍵盤能說(shuō)明其主人的什么情況。但我確實(shí)知道,對(duì)于任何想要成為一名熟練的Kubernetes管理員的人來(lái)說(shuō),kubectl 有多重要。Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl 是用于與 Kubernetes API 通信的 CLI 工具,它乍一看似乎很簡(jiǎn)單,但很快就會(huì)變得復(fù)雜。Jdt28資訊網(wǎng)——每日最新資訊28at.com

因此,在這篇博文中,我的目標(biāo)是編寫我剛開始時(shí)希望擁有的指南。首先關(guān)注命令語(yǔ)法和有用的命令,然后再轉(zhuǎn)向插件和工具的充滿活力的生態(tài)系統(tǒng),這些插件和工具旨在擴(kuò)展 kubectl 和 Kubernetes 的功能。Jdt28資訊網(wǎng)——每日最新資訊28at.com

同時(shí)分享一些提示和技巧,以及一份有用的 kubectl 速查表。Jdt28資訊網(wǎng)——每日最新資訊28at.com

讓我們開始吧。Jdt28資訊網(wǎng)——每日最新資訊28at.com

免責(zé)聲明

這不是一篇關(guān)于 Kubernetes 的文章。K8s 是一項(xiàng)極其龐大的技術(shù),涵蓋了眾多概念,例如各種類型的 Kubernetes 對(duì)象及其交互。對(duì)于此討論,我假設(shè)你熟悉這些概念。相反,我將專門關(guān)注 kubectl、它的用法以及圍繞它構(gòu)建的工具。Jdt28資訊網(wǎng)——每日最新資訊28at.com

開始之前

如果你支持讓 Kubernetes 軟件包管理對(duì)每個(gè)人都更好的開源項(xiàng)目,那么請(qǐng)考慮支持Glasskube,在 GitHub 上給我們一顆星。Jdt28資訊網(wǎng)——每日最新資訊28at.com

安裝

要安裝 kubectl,你可以根據(jù)你的操作系統(tǒng)選擇一些不同的選項(xiàng)。以下是如何在一些常見平臺(tái)上安裝它:Jdt28資訊網(wǎng)——每日最新資訊28at.com

Linux (Ubuntu/Debian)Jdt28資訊網(wǎng)——每日最新資訊28at.com

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

使用 Homebrew 的 MacOSJdt28資訊網(wǎng)——每日最新資訊28at.com

brew install kubectl

使用 Chocolatey 的 WindowsJdt28資訊網(wǎng)——每日最新資訊28at.com

choco install kubernetes-cli

安裝后,你可以通過(guò)運(yùn)行以下命令來(lái)驗(yàn)證 kubectl 是否已正確安裝:Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl version --client

kubectl 命令:

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

圖片圖片Jdt28資訊網(wǎng)——每日最新資訊28at.com

聲明式工作

Kubernetes 資源的聲明性管理涉及使用 YAML 清單文件指定資源的所需狀態(tài),并將這些清單應(yīng)用到集群。Jdt28資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建 YAML 文件

無(wú)論 Kubernetes 對(duì)象是由您自己編寫的還是由其他人編寫的,所有對(duì)象均定義在 YAML 文件中。Kubernetes API 就是通過(guò) YAML 文件定義來(lái)了解集群狀態(tài)的:Jdt28資訊網(wǎng)——每日最新資訊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

若要從頭開始創(chuàng)建此部署,請(qǐng)使用 kubectl create 命令:Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl create -f glasskube-deployment.yaml

應(yīng)用 YAML 文件(客戶端應(yīng)用)

運(yùn)用 YAML 文件是管理 Kubernetes 資源的標(biāo)準(zhǔn)方法。您可以用 YAML 格式定義您資源的所需狀態(tài),并將這些 YAML 文件應(yīng)用于該集群。Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl apply -f manifest.yaml

服務(wù)器端應(yīng)用 (SSA)

服務(wù)器端應(yīng)用是將配置更改應(yīng)用到 Kubernetes 資源的一種較新方法。使用 SSA,變更會(huì)直接應(yīng)用于服務(wù)器端,這意味著 Kubernetes API 服務(wù)器負(fù)責(zé)確保實(shí)現(xiàn)所需狀態(tài)。Jdt28資訊網(wǎng)——每日最新資訊28at.com

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

插件和工具

每當(dāng)我看到一些來(lái)回討論 Kubernetes 的內(nèi)容時(shí),它到底是什么。它最適合哪些用例以及如何最好地思考它,Kelsey Hightower的同一條推文會(huì)浮現(xiàn)在我腦海里。Jdt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Jdt28資訊網(wǎng)——每日最新資訊28at.com

值得稱贊的:Jdt28資訊網(wǎng)——每日最新資訊28at.com

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

可見性

Kubernetes 集群是復(fù)雜的系統(tǒng),包含許多相互依賴的活動(dòng)部分,以使您的應(yīng)用得以運(yùn)行。始終清晰地了解正在發(fā)生的事情至關(guān)重要。Jdt28資訊網(wǎng)——每日最新資訊28at.com

k9s

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

安裝說(shuō)明在這里。Jdt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl tree

一個(gè) kubectl 插件,用于通過(guò)對(duì)象上的 ownersReferences 探索 Kubernetes 對(duì)象之間的所有權(quán)關(guān)系。Jdt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Jdt28資訊網(wǎng)——每日最新資訊28at.com

安裝說(shuō)明此處。Jdt28資訊網(wǎng)——每日最新資訊28at.com

值得一提:Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl-watch:另一個(gè)觀察工具,可視化查看 Kubernetes 資源的增量更改。Jdt28資訊網(wǎng)——每日最新資訊28at.com

故障排除

Inspektor-Gadget:Jdt28資訊網(wǎng)——每日最新資訊28at.com

Inspektor-gadget是用于調(diào)試和檢查 Kubernetes 資源和應(yīng)用程序的工具(或小工具)集合。Jdt28資訊網(wǎng)——每日最新資訊28at.com

Inspektor Gadget 工具稱為小工具。您可以部署一個(gè)、兩個(gè)或多個(gè)小工具。Jdt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片Jdt28資訊網(wǎng)——每日最新資訊28at.com

安裝說(shuō)明此處。Jdt28資訊網(wǎng)——每日最新資訊28at.com

值得一提:Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl node-shell:直接在正在運(yùn)行的節(jié)點(diǎn)的主機(jī)操作系統(tǒng)中啟動(dòng)根 shell。Jdt28資訊網(wǎng)——每日最新資訊28at.com

日志記錄

Stern:Jdt28資訊網(wǎng)——每日最新資訊28at.com

Stern允許您跟蹤 Kubernetes 上的多個(gè) Pod 和 Pod 中的多個(gè)容器。每個(gè)結(jié)果都使用顏色編碼,以便更快速地進(jìn)行調(diào)試。Jdt28資訊網(wǎng)——每日最新資訊28at.com

安裝:Jdt28資訊網(wǎng)——每日最新資訊28at.com

kubectl krew install stern

使用 kubectl 插件的一些安全影響包括可能的漏洞、權(quán)限提升和無(wú)意的數(shù)據(jù)泄露。請(qǐng)確保僅使用積極維護(hù)的插件,并且最好在它們周圍有一個(gè)活躍的社區(qū)。Jdt28資訊網(wǎng)——每日最新資訊28at.com

別名

有如此多的 kubectl 命令需要記住,通過(guò)使用鍵盤快捷鍵或別名來(lái)簡(jiǎn)化您的生活。Jdt28資訊網(wǎng)——每日最新資訊28at.com

您將在此處找到一個(gè)存儲(chǔ)庫(kù),其中包含一個(gè)腳本,用于生成數(shù)百個(gè)方便的 shell 別名 kubectl。問(wèn)題是許多別名很長(zhǎng),可能難以回憶。不過(guò)不用擔(dān)心,我找到了Benoit Couetil 撰寫的這篇非常實(shí)用的博客文章,介紹如何處理上述腳本生成的眾多別名。Jdt28資訊網(wǎng)——每日最新資訊28at.com

Kubectl 速查表

沒(méi)有速查表,任何指南都是不完整的,對(duì)吧?Jdt28資訊網(wǎng)——每日最新資訊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 插件倉(cāng)庫(kù):https://krew.sigs.k8s.io/plugins/

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

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

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

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

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 中興AX5400Pro+上手體驗(yàn):再升級(jí) 雙2.5G網(wǎng)口+USB 3.0這次全都有

    2021年11月的時(shí)候,中興先后發(fā)布了兩款路由器產(chǎn)品,中興AX5400和中興AX5400 Pro,從產(chǎn)品命名上就不難看出這是隸屬于同一系列的,但在外觀設(shè)計(jì)上這兩款產(chǎn)品可以說(shuō)是完全沒(méi)一點(diǎn)關(guān)系
  • 十個(gè)可以手動(dòng)編寫的 JavaScript 數(shù)組 API

    JavaScript 中有很多API,使用得當(dāng),會(huì)很方便,省力不少。 你知道它的原理嗎? 今天這篇文章,我們將對(duì)它們進(jìn)行一次小總結(jié)。現(xiàn)在開始吧。1.forEach()forEach()用于遍歷數(shù)組接收一參
  • SpringBoot中使用Cache提升接口性能詳解

    環(huán)境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對(duì) Spring 應(yīng)用程序提供了透明式添加緩存的支持。和事務(wù)支持一樣,抽象緩存允許一致地使用各
  • 慕巖炮轟抖音,百合網(wǎng)今何在?

    來(lái)源:價(jià)值研究所 作者:Hernanderz“難道就因?yàn)樽约旱囊粋€(gè)產(chǎn)品牛逼了,從客服到總裁,都不愿意正視自己產(chǎn)品和運(yùn)營(yíng)上的問(wèn)題,選擇逃避了嗎?”這一番話,出自百合網(wǎng)聯(lián)合創(chuàng)
  • 阿里大調(diào)整

    來(lái)源:產(chǎn)品劉有媒體報(bào)道稱,近期淘寶天貓集團(tuán)啟動(dòng)了近年來(lái)最大的人力制度改革,涉及員工績(jī)效、層級(jí)體系等多個(gè)核心事項(xiàng),目前已形成一個(gè)初步的“征求意見版”:1、取消P序列
  • 華為發(fā)布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發(fā)者大會(huì)2023(HDC.Together)大會(huì)上,HarmonyOS 4正式發(fā)布。自2019年發(fā)布以來(lái),HarmonyOS一直以用戶為中心,經(jīng)歷四年多的發(fā)展HarmonyOS已
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網(wǎng)消息,據(jù)彭博社報(bào)道,在8月3日印度突然禁止在沒(méi)有許可證的情況下向印度進(jìn)口電腦/平板及顯示器等產(chǎn)品后,蘋果、三星電子和惠普等大公司暫停向印度
  • 支持aptX Lossless無(wú)損傳輸 iQOO TWS 1賽道版發(fā)布限時(shí)優(yōu)惠價(jià)369元

    2023年7月4日,“無(wú)損音質(zhì),聲動(dòng)人心”iQOO TWS 1正式發(fā)布,支持aptX Lossless無(wú)損傳輸,限時(shí)優(yōu)惠價(jià)369元。iQOO TWS 1耳機(jī)率先支持端到端aptX Lossless無(wú)
  • 3699元!iQOO Neo8 Pro頂配版今日首銷:1TB UFS 4.0同價(jià)位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro兩個(gè)版本,其中標(biāo)準(zhǔn)版搭載高通驍龍8+,而Pro版更是首發(fā)搭載了聯(lián)發(fā)科天璣9200+旗艦
Top 主站蜘蛛池模板: 黄平县| 商丘市| 札达县| 宝兴县| 赣州市| 南靖县| 河源市| 浮梁县| 墨玉县| 泰兴市| 贺州市| 蓬溪县| 资溪县| 东乌珠穆沁旗| 新宁县| 汪清县| 东莞市| 达尔| 灵丘县| 墨竹工卡县| 盖州市| 海伦市| 山丹县| 赫章县| 泽普县| 高陵县| 康平县| 沐川县| 万宁市| 恩平市| 林西县| 米林县| 吉林市| 北宁市| 隆德县| 玉林市| 商洛市| 乌兰浩特市| 湖北省| 黎平县| 乌审旗|