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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

K8s随笔

發布時間:2025/3/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 K8s随笔 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、常用命令

//查看所有ns下的cr: kubectl get application --all-namespaces//切換到指定的ns kubens <namespace-name>//刪除優雅退出失敗的terminating的pod kubectl?delete?pods <pod> --grace-period=0 --force//查看pod日志的最后10行 kubectl?logs <podname> -n <ns> --tail=10//更新鏡像 kubectl set image deployment <dploy-name> <容器名>=<image-name>//輸出yaml文件到本地 kubectl get deploy <deploy-name> -o yaml > <file-name>//持續觀察 kubectl get pod <pod-name> -w//查看端口占用 netstat -anp | grep 8080//scale kubectl scale --replicas=3 deploy <deployment-name>//重啟deployment kubectl rollout restart deploy <deployment-name>// 查看歷史版本 kubectl rollout history deploy <deployment-name>//回滾到歷史版本3 kubectl rollout undo daemonset/abc --to-revision=3//統計數目 kubectl get app -A | wc -l//vi查找關鍵字 進入vi中,先按下"ESC"跳轉成命令輸入模式; 輸入斜杠“/”,這時屏幕會跳轉到底部,輸入欄出現"/"; 輸入你需要查找的關鍵字,回車; 如果要繼續查找關鍵字,輸入n; 向前查找,輸入N(大寫);

2、CRD.yaml編寫:

(1)CRD的type:integer類型--reconcile的int類型;

(2)CRD的format:float64 type:number類型--reconcile的float64類型;

(3)CRD的type: object ?x-kubernetes-preserve-unknown-fields: true類型--map[string]interface{}類型

// +kubebuilder:pruning:PreserveUnknownFields CompStatus runtime.RawExtension `json:"compStatus,omitempty"`

對于map類型的CRUD,可以使用gjson和sjson進行操作,

參考鏈接:k8s之CRD定義map[string]interface{}類型_fourierr的博客-CSDN博客

3、k8s錯誤事件

1、back-off restarting failed container // 說明pod啟動成功后又退出了,一般是容器里沒有能持續運行的常駐進程。

4、return ctrl.Result{},err?時如果err不為空則表示reconcile error,會打印堆棧信息,如果是自定義錯誤返回,則會打印出日志打印的堆棧

github.com/go-logr/zapr.(*zapLogger).Error sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1 k8s.io/apimachinery/pkg/util/wait.BackoffUntil k8s.io/apimachinery/pkg/util/wait.JitterUntil k8s.io/apimachinery/pkg/util/wait.Until

ResourceQuota 用來限制 namespace 中所有的 Pod 占用的總的資源 request 和 limit。
LimitRange 用來限制 namespace 中 單個Pod 默認資源 request 和 limit

4、port、targetPort、nodePort

targetPort是pod上的端口;

port是service暴露在cluster ip上的端口,<cluster ip>:port?是提供給集群內部訪問service的入口;

nodePort是提供給集群外部訪問service的一種方式;

5、PV、PVC、StorageClass

PV是用來定義一個存儲卷的;
PV是用來描述或定義一個存儲卷的;
StorageClass作用是創建PV模板,用戶提交PVC指定StorageClass,對用的sc則會為其自動創建PV并進行綁定

6、serviceAccount

Kubernetes 內部的賬號系統有 User、Group、ServiceAccount,當我們通過 RBAC 授權獲得資源權限之后,其實這 3 個資源的權限能力是一樣的。因為使用場景的不同,針對人的權限一般會提供 User、Group 對象;當面對 Pod 之間或外部系統服務對 Kubernetes API 的調用一般會采用 ServiceAccount。

7、k8s的命名要求必須小寫字母開頭,且只能包含字母、數字、減號

8、k8s調度成功->pending,這時候會執行pod綁定到節點、拉取鏡像等;
pod里的容器進程都啟動成功->running,至少一個容器在運行或重啟。

9、pod內存占用超過80%,就有OOMKill和被驅逐的風險

10、kubevela主要是把workload和trait都抽象成crd,application統一管理這些crd,實現traid和workload解耦,可擴展性更強,一鍵式混合環境部署。

11、?Scheme用于提供GVK與對應Go?types?的映射關系,每一種Controller都需要一個scheme

12、k8s event事件默認1小時自動刪除;

13、DiscoveryClient發現客戶端用于獲取Resource資源組、Version版本等信息;

14、RESTMapper用于管理所有對象的信息。可以直接通過version,group獲取到RESTMapper,然后通過kind類型可以獲取到相對應的信息;

15、Terraform能在任意的基礎設施上管理維護任意資源,是HashCorp公司開源的,比如針對AWS,我們可以用它創建,修改,刪除S3 Bucket等各種資源,同時可以通過自定義terraform Provider來支持新的基礎設施,provider其實也是對crud和import的?rest api的一層抽象,有點類似于CNI,CSI這種。

16、不應該在一個reconciler邏輯中進行兩次資源的update(update status除外),否則會引發版本不一致的報錯

17、FluxCD,GitOps——使用Git去管理Kubernetes集群:在GitOps中,一旦Git倉庫中的代碼被更改,CI/CD Pipeline也就會對Kubernetes集群進行更改,同時也應用了Kubernetes控制循環的思想,用Git管理的Kubernetes集群的期望狀態也會和Git倉庫中的實時狀態不斷地進行比較。

18、云原生三大開源項目OAM/KubeVela、OCM?、OpenKruise(Kubernetes 的擴展,CloneSet、UnitedDeployment、AdvancedStatefulSet)

19、metadata.generation是版本迭代的概念,表示這個資源的元配置數據被修改了多少次,每次修改generation都會增長1,而status.observedGeneration就是最近觀察到的可用的版本迭代。

20、配置漂移(Infrastructure/Configuration Drift)即當用戶聲明的應用部署計劃和生產環境實際運行的實例狀態發生不一致。

21、Finalizers是一種刪除攔截機制,能夠實現刪除前回調Pre-delete,比如資源a種創建了外部資源b,希望在刪除該資源a的同時級聯刪除關聯的外部資源。也就是說刪除存在Finalizers字段的資源時,不會立即刪除該資源,而是會首先設置deletionTimestamp值,deletionTimestamp值被設置后該資源就只能等待被刪除而不能進行其他操作,同時負責watch該對象的控制器會刪除級聯的資源,然后再更新清除對應的資源的對應的Finalizer值,之后apiserver會自動將該對象刪除。

22、ControllerRevision主要用來保存歷史版本信息,每一個ControllerRevision對應了資源的一個版本,通過ControllerRevision,控制器能夠管理資源的不同版本,并進行更新以及回滾操作。
對于資源的更新操作,會先查看有沒有對應的ControllerRevision,如果沒有說明資源已經更新過,Controller就會創建一個新版本的ControllerRevision及一個新的?ControllerRevision?hash?版本號。

23、k8s 對 API 訪問提供了三種安全訪問控制措施:認證、鑒權和準入控制Admission Control,其中認證是解決用戶是誰的問題,鑒權是解決用戶能做什么的問題,Admission Control 則是資源管理的作用。Admission webhooks是Admission的擴展,是一種HTTP回調,能夠接收Admission請求并對它們做一些事情,主要有MutatingAdmissionWebhook和ValidatingAdmissionWebhook,如果啟用了MutatingAdmissionWebhook,當開始創建一種k8s資源對象的時候,創建請求會發到你所編寫的controller中,然后我們就可以做一系列的操作,包括植入注解等;而ValidatingAdmissionWebhook 是按照你自定義的邏輯是否允許資源的創建。

總結

以上是生活随笔為你收集整理的K8s随笔的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 色播日韩| 伊人国产一区 | 97caoporn| 韩国三级丰满少妇高潮 | 一区二区高潮 | 免费看欧美一级特黄a大片 国产免费的av | 小视频在线 | 亚洲色欲色欲www | 日韩在线一区二区三区 | 成人在线观看免费 | 99九九热 | 欧美视频区| 国产制服91一区二区三区制服 | 国产 日韩 欧美 在线 | 亚洲第一大综合区 | 99热伊人| www.av天天 | 91爱 | 粉嫩视频在线观看 | 免费黄色三级网站 | 国产精品调教 | 污片免费看 | www裸玉足久久久 | 欧美噜噜噜 | 懂色aⅴ国产一区二区三区 亚洲欧美国产另类 | 成人看片| 国产中出 | 91秦先生在线播放 | 国产精品99在线观看 | 日本精品视频在线 | 91精品久久久久久综合五月天 | 人人澡人人澡 | 国产福利小视频 | 亚洲国产精品视频一区 | 午夜电影你懂的 | 岛国一区二区三区 | 一区二区三区四区影院 | 国产精品久久无码 | 欧美精品在线观看一区二区 | 加勒比精品在线 | 伊人精品影院 | 男人天堂社区 | 亚洲第一视频区 | 国产一级做a爰片在线看免费 | 日韩av大片在线观看 | 亚洲高清视频网站 | 免费激情网址 | wwwwww在线观看 | 黄色网址中文字幕 | 亚洲卡一卡二卡三 | 91蜜桃婷婷狠狠久久综合9色 | 大地资源二中文在线影视免费观看 | 国内精品免费 | 91久久爽久久爽爽久久片 | 日本一区二区久久 | 国产一区二区伦理 | 国产美女福利在线 | 国产在线视频99 | 天天爽天天搞 | 欧美一区二区三区四区在线 | 黄页网站在线看 | 婷婷色婷婷开心五月四房播播 | 亚洲三级在线视频 | 97精品一区二区视频在线观看 | x88av视频 | 九九99视频 | 国产精品嫩 | 国产无码日韩精品 | 欧美成人综合网站 | 黄色网页在线看 | 人妻少妇一区二区 | 国产日韩一区二区在线观看 | 国产精品久久综合 | 欧美做受喷浆在线观看 | 久久久久久久久网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩在线视频一区二区三区 | 中文字幕日韩人妻在线视频 | 精品无码av一区二区三区 | 麻豆视频在线免费看 | 99热3 | 国产97自拍 | 杨贵妃颤抖双乳呻吟求欢小说 | 久久国产精品毛片 | 婷婷丁香六月天 | va视频在线观看 | 九色国产精品 | 欧美成人免费在线 | 亚洲一区中文字幕在线观看 | 久草免费在线色站 | 国产精品美女毛片真酒店 | 黄色片子视频 | 成人性生交生交视频 | 欧美一级精品 | 欧美性色网站 | 日本久久黄色 | 91精品国产欧美一区二区成人 | 中文字幕在线观看网址 | 九色视频在线播放 |