原创 基於velero及minio實現etcd數據備份與恢復

1、Velero簡介 Velero 是vmware開源的一個雲原生的災難恢復和遷移工具,它本身也是開源的,採用Go語言編寫,可以安全的備份、恢復和遷移Kubernetes集羣資源數據;官網https://velero.io/。Velero

原创 k8s實戰案例之運行dubbo微服務

1、dubbo微服務架構圖 通過上述架構可以瞭解到,生產者通過註冊中心,將服務註冊至註冊中心,消費者通過註冊中心找到生產者,從而實現消費者拿到生產者的實際地址,然後直接和生產者通信;管理端通過註冊中心發現生產者和消費者,通過svc來管理

原创 k8s實戰案例之運行Java單體服務-jenkins

1、jenkins架構 基於java命令,運⾏java war包或jar包,本次以jenkins.war 包部署⽅式爲例,且要求jenkins的數據保存⾄外部存儲(NFS或者PVC),其他java應⽤看實際需求是否需要將數據保存⾄外部存儲

原创 k8s實戰案例之基於StatefulSet控制器運行MySQL一主多從

1、前言 Pod調度運⾏時,如果應⽤不需要任何穩定的標示、有序的部署、刪除和擴展,則應該使⽤⼀組⽆狀態副本的控制器來部署應⽤,例如 Deployment 或 ReplicaSet更適合⽆狀態服務需求,⽽StatefulSet適合管理所有有狀

原创 k8s實戰案例之部署redis單機和redis cluster

1、在k8s上部署redis單機 1.1、redis簡介 redis是一款基於BSD協議,開源的非關係型數據庫(nosql數據庫),作者是意大利開發者Salvatore Sanfilippo在2009年發佈,使用C語言編寫;redis是基於

原创 k8s實戰案例之部署Zookeeper集羣

1、Zookeeper簡介 zookeeper是一個開源的分佈式協調服務,由知名互聯網公司Yahoo創建,它是Chubby的開源實現;換句話講,zookeeper是一個典型的分佈式數據一致性解決方案,分佈式應用程序可以基於它實現數據的發佈/

原创 k8s實戰案例之部署Nginx+Tomcat+NFS實現動靜分離

1、基於鏡像分層構建及自定義鏡像運行Nginx及Java服務並基於NFS實現動靜分離 1.1、業務鏡像設計規劃 根據業務的不同,我們可以導入官方基礎鏡像,在官方基礎鏡像的基礎上自定義需要用的工具和環境,然後構建成自定義出自定義基礎鏡像,

原创 基於nerdctl+buildkitd+containerd實現鏡像構建

1、容器技術簡介 容器技術除了的docker之外,還有coreOS的rkt、google的gvisor、以及docker開源的containerd、redhat的podman、阿⾥的pouch等,爲了保證容器⽣態的標準性和健康可持續發展,包

原创 K8s Pod狀態與容器探針

1、pod的調度流程及常見狀態 1.1、pod的調度流程 Pod創建過程如上圖所示,首先用戶向apiserver發送創建pod的請求,apiserver收到用於創建pod請求後,對應會對該用戶身份信息進行驗證,該用戶是否是合法的用戶,是否

原创 k8s資源對象(二)

Configmap和Secret資源介紹 secret和configmap資源都是通過掛載的方式將對應數據掛載到容器內部環境中去使用,兩者的使用沒有太多的不同 ,configmap資源通常用於爲pod提供配置文件;secret資源主要用

原创 k8s資源對象

  什麼是資源對象?   所謂資源對象是指在k8s上創建的資源實例;即通過apiserver提供的各資源api接口(可以理解爲各種資源模板),使用yaml文件或者命令行的方式向對應資源api接口傳遞參數賦值實例化的結果;比如我們在k8s上創

原创 kubernetes域名解析服務CoreDNS

  k8s dns組件歷史簡介   kubernetes的DNS組件歷史有三個,分別是skydns、kube-dns和coredns;在k8s 1.3版本之前使用的是skydns,之後的版本到1.17及之間的版本都是使用的kube-dns,

原创 分佈式kv存儲系統之etcd集羣管理

  etcd簡介   etcd是CoreOS團隊於2013年6月發起的開源項目,它的目標是構建一個高可用的分佈式鍵值(key-value)數據庫。etcd內部採用raft協議作爲一致性算法,etcd基於Go語言實現。    官方網站:htt

原创 基於kubeasz部署高可用k8s集羣

  在部署高可用k8s之前,我們先來說一說單master架構和多master架構,以及多master架構中各組件工作邏輯   k8s單master架構   提示:這種單master節點的架構,通常只用於測試環境,生產環境絕對不允許;這是因

原创 基於Containerd容器引擎和kubeadm工具部署K8sv1.26.3

  前文我瞭解了基於ubuntu2204部署containerd容器引擎以及containerd客戶端工具的部署和使用相關話題,回顧請參考:https://www.cnblogs.com/qiuhom-1874/p/17301455.htm