国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s debug 淺談

這篇具有很好參考價值的文章主要介紹了k8s debug 淺談。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一? ?k8s debug 淺談

說明: 本文只是基于對'kubectl debug'淺顯認識總結的知識點,后續(xù)'實際使用'再補充案例

Kubernetes 官方出品調(diào)試工具上手指南(無需安裝,開箱即用)

debug-application

簡化 Pod 故障診斷: kubectl-debug 介紹

1.18 版本之前需要自己安裝kubectl debug? ? ?下載位置? ??debug_0.1.1_linux_amd64.tar.gz

①? 低版本安裝kubectl-debug工具

# linux x86_64

export PLUGIN_VERSION=0.1.1

mv  debug_${PLUGIN_VERSION}_linux_amd64.tar.gz kubectl-debug.tar.gz

tar -zxvf kubectl-debug.tar.gz kubectl-debug

mv kubectl-debug /usr/local/bin/

機制: 關于為什么安裝kubectl-debug,但是卻可以使用'kubectl debug'命令參考'plugin的'機制

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

+++++++++++++  "推薦下面的方式,而不是plugin插件的方式"  +++++++++++++

1、在 'v1.23 及以上'版本中,該功能'默認'開啟

2、針對 '1.23 以下'的 K8S 版本,需要通過'以下'方式,'手動'開啟

 1) '控制面' 開啟 EphemeralContainers featureGate

 2) 進入 'master' 節(jié)點,編輯 /etc/kubernetes/manifests/ 下的 

  kube-apiserver.yaml、kube-controller-manager.yaml、kube-scheduler.yaml

  備注: 實際'操作'只修改kube-apiserver.yaml即可

 3) 在 command 部分添加 - --feature-gates=EphemeralContainers=true

 4) kubelet 服務開啟該功能

 5) 在節(jié)點上'編輯' /var/lib/kubelet/kubeadm-flags.env

   添加 --feature-gates=EphemeralContainers=true

   或者設置KUBELET_EXTRA_ARGS="--feature-gates=EphemeralContainers=true"#

 6) 重啟 kubelet:

   systemctl restart kubelet

細節(jié): v1.18.4 '版本中' 必須使用 kubectl 'alpha' debug

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生?

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

?②? 臨時容器

1、 EphemeralContainer '臨時容器'

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

Debugging using a copy of the Pod

③? ?debug的背景

1、kubectl是 k8s 管理員的日常工具,當'調(diào)試'或'排查 pod'問題時

2、一般情況使用 'logs'、describe、exec '子命令'便可以找到'問題'原因

java 排錯? --> 鏡像如果沒有'提供相關'的工具,怎么排錯呢? --> 'gcc 日志'分析、jvm性能分析

補充: 容器所在節(jié)點'執(zhí)行nsenter',查看pod或容器  ps: 不一定有'worker節(jié)點的登陸權限'

?思考: 哪些場景'不滿足'驅(qū)使我們使用'kubectl debug'

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

--feature-gates="EphemeralContainers=true"

④? ?kubectl debug原理

kubectl debug 調(diào)試運行中的pod

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

1、內(nèi)置的 kubectl debug 命令其實很'簡單'

2、通過 '--target' 參數(shù)指定'Pod中的哪個容器',給'正在運行中的 Pod' 增加一個'臨時'容器

備注: 默認是'主'容器,'第一個',也即'業(yè)務容器'

補充:--image參數(shù)就是用于指定使用'哪個鏡像來debug',這個鏡像包含我們'常使用的工具'即可

3、'共享進程命名空間',容器文件系統(tǒng)通過 '/proc/$pid/root' 鏈接對 pod 中的'其他容器'可見

++++++++++++  "分割線"  ++++++++++++

運行 debug 命令, 把'日志級別'設置為 10 ,查看創(chuàng)建 debug 容器的'過程':

kubectl run ephemeral-demo --image=pause:3.5 --restart=Never

kubectl -v=10 debug -it ephemeral --image=busybox:1.33.1 --target=temp_demo  

GET 獲取 pod -> 'PATCH' 增加臨時容器 -> 'GET' 獲取臨時容器 -> 'POST' 進入臨時容器

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

kubeadm 安裝的集群如何啟動 kubectl debug 調(diào)試容器

1、當'debug'連接到Pod后,使用 'chroot /host' 突破 chroot,并完全'進入'主機

2、可以獲取到'節(jié)點完全的權限',查看到節(jié)點所有的文件,甚至'重啟節(jié)點'

二? ?如何啟動臨時容器

①? 已經(jīng)運行k8s集群中開啟臨時容器

需求: 在kubeadm 安裝的'已經(jīng)運行'的 Kubernetes 集群中開啟'臨時容器'功能

1、/etc/kubernetes/manifests/kube-apiserver.yaml

添加 'EphemeralContainers=true' 開啟'臨時容器'功能,如下'所示'

- --feature-gates=DynamicKubeletConfig=true,EphemeralContainers=true

備注: 如果要開啟'多個特性'門控功能用 ',' 隔開

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

②? 集群初始化的時候開啟臨時容器功能

說明: 如果想在'初始化' Kubernetes 集群時'開啟'臨時容器功能,則修改 'kubeadm' 配置文件

# init.yaml 
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.19.3
apiServer:
  extraArgs:
    feature-gates: EphemeralContainers=true

然后通過 'kubeadm init' 初始化 Kubernetes 集群:

kubeadm init --config init.yaml

③? 驗證

1、隨著集群的運行,我們需要'驗證其有效性'

2、最簡單方法是檢查 'Pod API',它現(xiàn)在應該包含'臨時容器'部分以及通常容器

kubectl explain pod.spec.ephemeralContainers

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

④? 容器進程共享?

k8s debug 淺談,kubernetes學習筆記,kubernetes,容器,云原生

share-process-namespace

ephemeral-containers

feature-gates

1、驗證 Pod 中是否允許'進程共享',那么可以運行:

kubectl get pod pod_name -o json  | jq .spec.shareProcessNamespace --> 'true'

⑤??docker 逃逸方法匯總文章來源地址http://www.zghlxwxcb.cn/news/detail-758178.html

容器逃逸: 避免'忘記'密碼,'重啟'服務器? --> 弄一個備用'緊急的逃生'通路

引申:?鏡像是否做過'安全'掃描

到了這里,關于k8s debug 淺談的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 云原生Kubernetes:K8S集群實現(xiàn)容器運行時遷移(docker → containerd) 與 版本升級(v1.23.14 → v1.24.1)

    云原生Kubernetes:K8S集群實現(xiàn)容器運行時遷移(docker → containerd) 與 版本升級(v1.23.14 → v1.24.1)

    目錄 一、理論 1.K8S集群升級 2.環(huán)境 3.升級策略 4.master1節(jié)點遷移容器運行時(docker → containerd)? 5.master2節(jié)點遷移容器運行時(docker → containerd)? 6.node1節(jié)點容器運行時遷移(docker → containerd)? 7.升級集群計劃(v1.23.14 →?v1.24.1) 8.升級master1節(jié)點版本(v1.24.1) 9.升級master2節(jié)點版本

    2024年02月03日
    瀏覽(38)
  • 云上攻防-云原生篇&;Kubernetes&;K8s安全&;API&;Kubelet未授權訪問&;容器執(zhí)行

    云上攻防-云原生篇&;Kubernetes&;K8s安全&;API&;Kubelet未授權訪問&;容器執(zhí)行

    curl -XPOST -k “https://192.168.139.132:10250/run///” -d “cmd=id” 執(zhí)行的命令是test03容器里的命令,需要進行容器逃逸。 1、攻擊8080端口:API Server(Master)未授權訪問 舊版本的k8s的API Server默認會開啟兩個端口:8080和6443。 6443是安全端口,安全端口使用TLS加密;但是8080端口無需認證,

    2024年04月22日
    瀏覽(71)
  • 01-k8s學習筆記之認識 Kubernetes

    應用部署的三大階段 k8s 的特點 Apache Mesos Docker Swarm Google Kubernetes

    2024年01月16日
    瀏覽(29)
  • 云原生 黑馬Kubernetes教程(K8S教程)筆記——第一章 kubernetes介紹——Master集群控制節(jié)點、Node工作負載節(jié)點、Pod控制單元

    云原生 黑馬Kubernetes教程(K8S教程)筆記——第一章 kubernetes介紹——Master集群控制節(jié)點、Node工作負載節(jié)點、Pod控制單元

    參考文章:kubernetes介紹 本章節(jié)主要介紹應用程序在服務器上部署方式演變以及kubernetes的概念、組件和工作原理。 在部署應用程序的方式上,主要經(jīng)歷了三個時代: 傳統(tǒng)部署:互聯(lián)網(wǎng)早期,會直接將應用程序部署在物理機上 優(yōu)點:簡單,不需要其它技術的參與 缺點:不能為

    2024年02月04日
    瀏覽(35)
  • 云原生Kubernetes:K8S概述

    云原生Kubernetes:K8S概述

    目錄 一、理論 1.云原生 2.K8S 3.k8s集群架構與組件 4.K8S網(wǎng)絡 二、總結 (1)概念 云原生是一種基于容器、微服務和自動化運維的軟件開發(fā)和部署方法。它可以使應用程序更加高效、可靠和可擴展,適用于各種不同的云平臺。 如果要更直接通俗的來解釋下上面的概念,云原生更

    2024年02月10日
    瀏覽(33)
  • 【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

    【云原生 ? Kubernetes】認識 k8s、k8s 架構、核心概念點介紹

    目錄 一、Kubernetes 簡介 二、Kubernetes 架構 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務 service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結 Kubernetes 簡稱 k8s,是支持云原生部署的一個平臺,起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(859)
  • 【云原生 ? Kubernetes】認識 k8s 網(wǎng)絡、外部網(wǎng)絡訪問 k8s 內(nèi)部服務

    【云原生 ? Kubernetes】認識 k8s 網(wǎng)絡、外部網(wǎng)絡訪問 k8s 內(nèi)部服務

    目錄 一、認識 Kubernetes 網(wǎng)絡 二、外部網(wǎng)絡如何訪問 k8s 內(nèi)部服務 1. NodePort 2. Load Balancer 3. Ingress Kubernetes 最底層的網(wǎng)絡為節(jié)點網(wǎng)絡,用來保證 k8s 集群的節(jié)點(master 和 worker、worker 節(jié)點之間)能夠做正常的 IP 尋址和通訊。 Kubernetes 第二層網(wǎng)絡就是 Pod 網(wǎng)絡,構建于節(jié)點網(wǎng)絡之上

    2024年01月16日
    瀏覽(106)
  • 云原生_kubernetes(k8s)介紹

    云原生_kubernetes(k8s)介紹

    目錄 一、應用部署方式演變 二、k8s介紹 三、k8s的組件 四、k8s中的概念 五、k8s資源管理方式 1、命令式對象管理 2、命令式對象配置 3、聲明式對象配置 在部署應用程序的方式上,主要經(jīng)歷了三個時代: 1 、物理機部署: 互聯(lián)網(wǎng)早期,會直接將應用程序部署在物理機上 優(yōu)點

    2023年04月13日
    瀏覽(104)
  • 云原生Kubernetes:K8S存儲卷

    云原生Kubernetes:K8S存儲卷

    目錄 一、理論 1.存儲卷 2.emptyDir 存儲卷 3.hostPath卷 4.NFS共享存儲 5.PVC 和 PV 6.靜態(tài)創(chuàng)建PV 7.動態(tài)創(chuàng)建PV 二、實驗 ?1.emptyDir 存儲卷 2.hostPath卷 3.NFS共享存儲 4.靜態(tài)創(chuàng)建PV 5.動態(tài)創(chuàng)建PV 三、問題 1.生成pod一直pending 2.shoumount -e未顯示共享目錄 3.靜態(tài)創(chuàng)建pv 報錯 4.使用 Deployment 來創(chuàng)建

    2024年02月07日
    瀏覽(33)
  • 云原生Kubernetes:K8S安全機制

    云原生Kubernetes:K8S安全機制

    目錄 一、理論 1.K8S安全機制 2.Authentication認證 3.Authorization授權 4.Admission Control準入控制 5.User訪問案例 6.ServiceAccount訪問案例 二、實驗 1.Admission Control準入控制 2.User訪問案例 3.ServiceAccount訪問案例 三、問題 1.生成資源報錯 2.鏡像拉取失敗 四、總結 (1)概念 Kubernetes 作為一個分

    2024年02月07日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包