mysql注册slave_创建slave库?spm=a2c4e.11155472的搜索结果-阿里云开发者社区
云原生必備知識: 應用儲存
所屬技術領域:
云原生
| 名詞定義 |
由于容器本身是非持久化的,因此需要解決在容器中運行應用程序遇到的一些問題。首先,當容器崩潰時,kubelet將重新啟動容器,但是寫入容器的文件將會丟失,容器將會以鏡像的初始狀態重新開始;第二,在通過一個Pod中一起運行的容器,通常需要共享容器之間一些文件。Kubernetes通過存儲卷解決上述的兩個問題。在Docker有存儲卷的概念卷,但Docker中存儲卷只是磁盤的或另一個容器中的目錄,并沒有對其生命周期進行管理。Kubernetes的存儲卷有自己的生命周期,它的生命周期與使用的它Pod生命周期一致。因此,相比于在Pod中運行的容器來說,存儲卷的存在時間會比的其中的任何容器都長,并且在容器重新啟動時會保留數據。當然,當Pod停止存在時,存儲卷也將不再存在。在Kubernetes支持多種類型的卷,而Pod可以同時使用各種類型和任意數量的存儲卷。在Pod中通過指定下面的字段來使用存儲卷:? spec.volumes:通過此字段提供指定的存儲卷? spec.containers.volumeMounts:通過此字段將存儲卷掛接到容器中
| 技術特點 |
1通過scale來完成擴容或縮容假設 redis-slave 這個pod原來定義了5個副本(reolics:5)擴容到10個,執行命令: kubectl scale rc redis-slave --replicas=10縮容到2個,執行命令:kubectl scale rc redis-slave --replicas=22動態擴容縮容(HPA)通過對cpu使用率的監控,HPA(Horizontal Pod Autoscaler),來動態的擴容或縮容。pod cpu使用率是靠heapster組件來獲取的,所以要預先安裝好。創建HPA:在創建HPA前需要已經存在一個RC或Deployment對象,并且該RC或Deployment中的Pod必須定義 resource.request.cpu的請求值,否則無法獲取cpu使用情導致HPA 無法工作| 相關詞 |
本地存儲,常用的有 emptydir/hostpath;
網絡存儲:網絡存儲當前的實現方式有兩種,一種是 in-tree,它的實現代碼是放在 K8s 代碼倉庫中的,隨著 K8s 對存儲類型支持的增多,這種方式會給 K8s 本身的維護和發展帶來很大的負擔;而第二種實現方式是 out-of-tree,它的實現其實是給 K8s 本身解耦的,通過抽象接口將不同存儲的 driver 實現從 K8s 代碼倉庫中剝離,因此 out-of-tree 是后面社區主推的一種實現網絡存儲插件的方式;
Projected Volumes:它其實是將一些配置信息,如 secret/configmap 用卷的形式掛載在容器中,讓容器中的程序可以通過 POSIX 接口來訪問配置數據;
emptryDir (本地數據卷)emptyDir類型的Volume在Pod分配到Node上時被創建,Kubernetes會在Node上自動分配一個目錄,因此無需指定宿主機Node上對應的目錄文件。 這個目錄的初始內容為空,當Pod從Node上移除時,emptyDir中的數據會被永久刪除。emptyDir Volume主要用于某些應用程序無需永久保存的臨時目錄,多個容器的共享目錄等。
hostPath(本地數據卷)hostPath類型的存儲卷用于將宿主機的文件系統的文件或目錄掛接到Pod中,除了需要指定path字段之外,在使用hostPath類型的存儲卷時,也可以設置type,type支持的枚舉值由下表。另外在使用hostPath時,
需要注意下面的事項:? 具有相同配置的Pod(例如:從同一個podTemplate創建的),可能會由于Node的文件不同,而行為不同。? 在宿主機上創建的文件或目錄,只有root用戶具寫入的權限。您要么在容器中以root身份運行進程,要么在主機上修改的文件或目錄的權限,以便具備寫入內容到hostPath的存儲卷中。
nfs(網絡數據卷)在Kubernetes中,可以通過nfs類型的存儲卷將現有的NFS(網絡文件系統)到的掛接到Pod中。在移除Pod時,NFS存儲卷中的內容被不會被刪除,只是將存儲卷卸載而已。這意味著在NFS存儲卷總可以預先填充數據,并且可以在Pod之間共享數據。NFS可以被同時掛接到多個Pod中,并能同時進行寫入。需要注意的是:在使用nfs存儲卷之前,必須已正確部署和運行NFS服務器,并已經設置了共享目錄。
persistentVolumeClaimpersistentVolumeClaim類型存儲卷將PersistentVolume掛接到Pod中作為存儲卷。使用此類型的存儲卷,用戶并不知道存儲卷的詳細信息。
subPath有時,可以在一個pod中,將同一個卷共享,使其有多個用處。volumeMounts.subPath特性可以用來指定卷中的一個子目錄,而不是直接使用卷的根目錄。
secret(信息數據卷)Kubemetes提供了Secret來處理敏感數據,比如密碼、Token和密鑰,相比于直接將敏感數據配置在Pod的定義或者鏡像中,Secret提供了更加安全的機制(Base64加密),防止數據泄露。Secret的創建是獨立于Pod的,以數據卷的形式掛載到Pod中,Secret的數據將以文件的形式保存,容器通過讀取文件可以獲取需要的數據。
適用場景:
? 場景一:如果 pod 中的某一個容器在運行時異常退出,被 kubelet 重新拉起之后,如何保證之前容器產生的重要數據沒有丟失?? 場景二:如果同一個 pod 中的多個容器想要共享數據,應該如何去做?以上兩個場景,其實都可以借助 Volumes 來很好地解決
資料來源:
名詞定義:https://www.cnblogs.com/hongdada/p/11586514.html
技術特點:簡書https://www.jianshu.com/p/d867539a15cf
適用場景:https://yq.aliyun.com/articles/720251?spm=a2c4e.11155472.0.0.68b67958mJPSr4
相關詞:https://www.cnblogs.com/hongdada/p/11586514.html
文章
存儲 · Kubernetes · 監控 · Cloud Native · 安全 · 數據安全/隱私保護 · Docker · 容器 · Perl
2020-02-20
總結
以上是生活随笔為你收集整理的mysql注册slave_创建slave库?spm=a2c4e.11155472的搜索结果-阿里云开发者社区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3 配置ftp文件服务器,03-FTP和
- 下一篇: linux cmake编译源码,linu