如何提升Kubernetes技能?睡的醒滿滿2020-06-19 08:50:53

首先你要熟悉一款cri的外掛這是基本功,k8s做的一切編排最終都落到對cri外掛的編排,然後熟悉一款cni外掛k8s整個網路模型設計不管你是最後是iptables或者使用ipvs實現的網路(最好選ipvs),再然後要熟悉一款csi外掛,有了csi會給省不少事情,其他的就都是一些上層服務了能玩轉pod玩轉svc大部分工作就都能做了。如果想往運維開發方向走的話可以瞭解一下crd+operator的開發模式,這樣路就走寬了,工資能提個檔!

如何提升Kubernetes技能?博哥愛運維2021-05-20 18:32:24

看我頭條裡面錄的k8s影片,對著實操就可以提升了。

如何提升Kubernetes技能?實戰架構2021-05-20 09:20:46

這是我曾經的步驟:

step1.肯定是要先對各個概念有一個初步瞭解

step2.動手部署kubernetes單節點叢集

step3.然後進行大量的練習與研究

step4.真實生產環境的實踐

step1.肯定是要先對各個概念有一個初步瞭解

Dockerfile:製作映象的描述檔案。

Image :可容器化部署的映象檔案。

Tag :給映象設定標籤,標明用途。

Repository :存放image映象檔案的遠端倉庫。

Registry :映象私服。

Container :容器,執行在pod中,執行映象中的服務。

Namespaces:

使用Namespace來組織kubernetes的各種物件,可以實現使用者的分組(多租戶),對不同的租戶還可以進行單獨的資源設定和管理,是的整個叢集的資源配置非常靈活。

Pod:

作為 Kubernetes 叢集中的基本單元,Pod 就是最小並且最簡單的 Kubernetes 物件,這個簡單的物件其實就能夠獨立啟動一個後端程序並在叢集的內部為呼叫方提供服務。

每一個 Kubernetes 的 Pod 其實都具有兩種不同的容器,兩種不同容器的職責其實十分清晰,一種是 InitContainer,這種容器會在 Pod 啟動時執行,主要用於初始化一些配置,另一種是 Pod 在 Running 狀態時內部存活的 Container,它們的主要作用是對外提供服務或者作為工作節點處理非同步任務等等。

一個pod可以執行多個容器。

Controller:

在kubernetes內部提供了大量的controller,比如node controller,pod controller,endpoint controller等等。

這些controller都是由controller-manager進行管理。

每個Controller透過API Server提供的介面實時監控整個叢集的每個資源物件的當前狀態,當發生各種故障導致系統狀態發生變化時,會嘗試透過CRUD操作將系統狀態修復到“期望狀態”。

Service:

Kubernetes中一個應用服務會有一個或多個例項(Pod),每個例項(Pod)的IP地址由網路外掛動態隨機分配(Pod重啟後IP地址會改變)。為遮蔽這些後端例項的動態變化和對多例項的負載均衡,引入了Service這個資源物件。

Service用來對pod進行負載均衡。

PV和PVC:

實現儲存的持久化,pvc用來宣告pod需要的資源量,pv負責與實際的儲存資源關聯。

StorageClass:

對pv和pvc進行分類,只有storageClass相同的pv和pvc才能關聯到一起。實際使用價值很高,防止錯誤掛載。

Taints/ Tolerations:

此節點已被key=value汙染,Pod排程不允許(PodToleratesNodeTaints策略)或儘量不(TaintTolerationPriority策略)排程到此節點,除非是能夠容忍(Tolerations)key=value汙點的Pod。

在自建叢集中有可能會遇到這個特性,比如在自建叢集上部署redis叢集,為了不引入更復雜的分散式儲存,有可能對node打汙點,讓redis叢集只能分佈在這些機器。

如上,只是列出了主要的概念,還有很多細節領域需要透過實踐不斷的從理論覆盤,然後再實踐,反覆的體會與運用,

step2.動手部署kubernetes單節點叢集

實踐出真知。

部署kubernetes單節點叢集

參見我的文章:kubernetes-1:使用kubeadm搭建K8S單master節點叢集

在反覆的安裝過程中去研究並體會各個元件的原理和用途。

step3.然後進行大量的練習與研究

kubernetes-16:製作oraclejdk映象

kubernetes-22:zookeeper-ui介面管理web的容器化

kubernetes-23:grafana與prometheus完成redis-cluster的可觀察

kubernetes-7:elasticsearch容器化

kubernetes&微服務-6:skywalking6。4生產容器化

kubernetes-19:helm安裝

kubernetes-12:gitlab容器化

kubernetes-11:jenkins容器化

kubernetes-10:prometheus容器化

kubernetes-14:zookeeper容器化

kubernetes-8:kibana容器化

kubernetes-20:redis-cluster容器化

kubernetes-10:prometheus-operator容器化

kubernetes-9:nginx-ingress容器化

kubernetes-6:apollo配置中心容器化

kubernetes-13:maven倉庫nexus3容器化

kubernetes-issue-1:ephemeral-storage引發的pod驅逐問題

kubernetes-4:阿里雲上建立容器映象服務

kubernetes-5:mysql容器化

kubernetes-15:全鏈路追蹤skywalking容器化

step4.真實生產環境的實踐

阿里雲&kubernetes&微服務生產實踐-3:rocketmq生產主從容器化

阿里雲&kubernetes&微服務生產實踐-2:apollo架構-1

阿里雲&kubernetes&微服務生產實踐-5:elasticsearch生產容器化

阿里雲自建kubernetes叢集與微服務的生產實踐系列-1:整體架構-1

grafana&prometheus生產級容器化監控-2:監控rocketmq

grafana&prometheus生產級容器化監控-3:監控mysql

grafana&prometheus生產級容器化監控-1:生產級容器化

更多相關文章,請參見我的頭條號,有大量關於容器化的生產實踐。