亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker與K8s關(guān)系介紹不會(huì)Docker也可以使用K8s

 更新時(shí)間:2022年06月21日 14:46:46   作者:kevinyan  
想學(xué)K8s,必須得先學(xué)會(huì)Docker嗎?這是很多網(wǎng)友在開(kāi)始有想法想要學(xué)?K8s的時(shí)候都會(huì)冒出來(lái)的想法,要回答這個(gè)問(wèn)題,我們需要先搞清楚?Docker?和?K8s?他們的角色是什么,相互之間是什么關(guān)系

K8s和Docker 的關(guān)系

Docker 和 K8s 這兩個(gè)經(jīng)常一起出現(xiàn),兩者的Logo 看著也有一定聯(lián)系一個(gè)是背上馱著集裝箱的鯨魚(yú)一個(gè)是船的舵輪。

不過(guò)兩者不能放在一個(gè)維度上討論,Docker 是當(dāng)前流行的 Linux 容器解決方案,利用 Namespaces 、Cgroups 以及聯(lián)合文件系統(tǒng)UnionFS 實(shí)現(xiàn)了同一主機(jī)上容器進(jìn)程間的相互隔離。

  • NameSpaces:隔離進(jìn)程,讓進(jìn)程只能訪問(wèn)到本命名空間里的掛載目錄、PID、NetWork 等資源
  • Cgroups: 限制進(jìn)程能使用的計(jì)算機(jī)系統(tǒng)各項(xiàng)資源的上限,包括 CPU、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)帶寬等等
  • 聯(lián)合文件系統(tǒng)UnionFS : 保存一個(gè)操作系統(tǒng)的所有文件和目錄,在它基礎(chǔ)之上添加應(yīng)用運(yùn)行依賴(lài)的文件。創(chuàng)建容器進(jìn)程的時(shí)候給進(jìn)程指定Mount Namespace 把鏡像文件掛載到容器里,用 chroot 把進(jìn)程的 Root目錄切換到掛載的目錄里,從而讓容器進(jìn)程各自擁有獨(dú)立的操作系統(tǒng)目錄。

而 K8s 是擁有容器編排能力的集群管理解決方案,可以按照應(yīng)用的定義調(diào)度各個(gè)運(yùn)行著應(yīng)用組件 Docker 容器,但是 Docker 并不是 K8s 對(duì)容器的唯一選擇,K8s 的 容器運(yùn)行時(shí)支持對(duì)接多種容器 ,比如CoreOS公司的Rkt容器(之前稱(chēng)為Rocket,現(xiàn)更名為Rkt),Apache 開(kāi)源的 Mesos 容器等。只要容器實(shí)現(xiàn)了 K8s 容器運(yùn)行時(shí)的接口約定,都能讓 K8s 進(jìn)行調(diào)度。

Docker 公司也推出過(guò)自己的容器集群管理方案 Docker Swarm ,跟 K8s 算是競(jìng)品,但是在生產(chǎn)上幾乎沒(méi)人使用。

Docker Swarm 沒(méi)有流行起來(lái)的深層次的原因就不深究了,從一些IT媒體的報(bào)道看,可能的原因是

  • 跟 Docker 深度綁定,人天生對(duì)集權(quán)主義非常反感。
  • Docker 公司在大規(guī)模集群管理上的經(jīng)驗(yàn)不足,不像谷歌那樣能高屋建瓴地給出好的解決方法。

容器用Docker,需要學(xué)到什么程度

看完 K8s 和 Docker 的關(guān)系后,我們已經(jīng)有答案了,想學(xué) K8s 不一定非得會(huì) Docker。但是畢竟 Docker 還是目前最流行的 Linux 容器方案,絕大部分情況下我們還是會(huì)選擇使用 Docker,那么我們 Docker 掌握到什么程度更易于我們學(xué)習(xí) K8s 呢?

這個(gè)主要看我們想學(xué)會(huì) K8s 干什么,即使運(yùn)行在 K8s 之上的容器選擇 Docker,如果我們是搭建一些基建類(lèi)的軟件,比如 MySQL、Redis之類(lèi)的,因?yàn)檫@些組織已經(jīng)提供了軟件容器的鏡像,我的使用體驗(yàn)是,完全用不到那些 Docker 的各種命令。

比如要在 K8s 集群上運(yùn)行一個(gè) MySQL 應(yīng)用,寫(xiě)好應(yīng)用的清單文件(就是各種配置和期望的狀態(tài)),然后直接運(yùn)行

kubectl apply -f mysql.yaml 

就好,K8s 的容器運(yùn)行時(shí)會(huì)根據(jù)清單文件里的鏡像名,幫我們調(diào) Docker 的接口去下載鏡像、運(yùn)行容器。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - image: mysql:5.7
          name: mysql
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: superpass
          ports:
            - containerPort: 3306
              name: mysql
          volumeMounts:
            - name: mysql-persistent-storage
              mountPath: /var/lib/mysql
            - name: mysql-config
              mountPath: /etc/mysql/conf.d/my.cnf
              subPath: my.cnf

上面配置文件,有刪減。完整可運(yùn)行的案例,請(qǐng)參考:

kubernetes環(huán)境部署單節(jié)點(diǎn)redis數(shù)據(jù)庫(kù)的方法

使用Kubernetes集群環(huán)境部署MySQL數(shù)據(jù)庫(kù)

不過(guò),我們使用 K8s 除了搭建這種基礎(chǔ)軟件外,學(xué) K8s 更多是讓自己開(kāi)發(fā)的服務(wù)能依托 K8s 集群管理、調(diào)度的能力變的更具魯棒性、更portable。這個(gè)時(shí)候 Docker 方面的技能掌握基本的 Dockerfile 編寫(xiě)、打包上傳鏡像的命令。這部分的幾個(gè)簡(jiǎn)單的知識(shí),感覺(jué)花個(gè)兩小時(shí)就能掌握,這里推薦一下我以前的文章

基于Docker鏡像部署go項(xiàng)目的方法步驟

Java 應(yīng)用怎么打包成 Docker 鏡像

學(xué)會(huì)這幾個(gè)簡(jiǎn)單的Docker知識(shí)就完全夠用,能支撐我們開(kāi)始 K8s 的學(xué)習(xí)和練習(xí)啦,其他 Docker 相關(guān)的知識(shí)完全可以在做 K8s 練習(xí)時(shí)遇到問(wèn)題、解決問(wèn)題的過(guò)程中再學(xué)。

總結(jié)

這篇文章把 Docker 和 K8s 的關(guān)系給大家做了一個(gè)解答,希望還在遲疑自己現(xiàn)有的知識(shí)儲(chǔ)備能不能直接學(xué) K8s 的,趕緊行動(dòng)起來(lái),K8s 是典型的入門(mén)有點(diǎn)難,后面越用越香。

更多關(guān)于Docker與K8s關(guān)系的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Kubernetes中Deployment的升級(jí)與回滾

    Kubernetes中Deployment的升級(jí)與回滾

    這篇文章介紹了Kubernetes中Deployment的升級(jí)與回滾?,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • KubeSphere接入外部Elasticsearch實(shí)戰(zhàn)示例

    KubeSphere接入外部Elasticsearch實(shí)戰(zhàn)示例

    這篇文章主要為大家介紹了KubeSphere接入外部Elasticsearch實(shí)戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Dashboard管理Kubernetes集群與API訪問(wèn)配置

    Dashboard管理Kubernetes集群與API訪問(wèn)配置

    這篇文章介紹了Dashboard管理Kubernetes集群與API訪問(wèn)配置的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Kubernetes scheduler啟動(dòng)監(jiān)控資源變化解析

    Kubernetes scheduler啟動(dòng)監(jiān)控資源變化解析

    這篇文章主要為大家介紹了Kubernetes scheduler啟動(dòng)監(jiān)控資源變化解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes(K8S)容器集群管理環(huán)境完整部署詳細(xì)教程-下篇

    Kubernetes(K8S)容器集群管理環(huán)境完整部署詳細(xì)教程-下篇

    本系列文章主要介紹了Kubernetes(K8S)容器集群管理環(huán)境完整部署的詳細(xì)教程,分為上中下三篇文章,此為中篇,主要講解了K8S部署metrics-server插件,K8S部署集群dashboard插件,K8S部署集群coredns插件,K8S部署kube-state-metrics插件,K8S部署harbor私有倉(cāng)庫(kù)
    2022-01-01
  • Kubernetes控制節(jié)點(diǎn)的部署

    Kubernetes控制節(jié)點(diǎn)的部署

    這篇文章介紹了Kubernetes控制節(jié)點(diǎn)的部署,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Kubernetes kubectl中Pod創(chuàng)建流程源碼解析

    Kubernetes kubectl中Pod創(chuàng)建流程源碼解析

    這篇文章主要為大家介紹了Kubernetes kubectl中Pod創(chuàng)建流程源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes?controller?manager運(yùn)行機(jī)制源碼解析

    Kubernetes?controller?manager運(yùn)行機(jī)制源碼解析

    這篇文章主要為大家介紹了Kubernetes?controller?manager運(yùn)行機(jī)制源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes(K8S)容器集群管理環(huán)境完整部署詳細(xì)教程-中篇

    Kubernetes(K8S)容器集群管理環(huán)境完整部署詳細(xì)教程-中篇

    本系列文章主要介紹了Kubernetes(K8S)容器集群管理環(huán)境完整部署的詳細(xì)教程,分為上中下三篇文章,此為中篇,需要的朋友可以參考下
    2022-01-01
  • Kubernetes Informer數(shù)據(jù)存儲(chǔ)Index與Pod分配流程解析

    Kubernetes Informer數(shù)據(jù)存儲(chǔ)Index與Pod分配流程解析

    這篇文章主要為大家介紹了Kubernetes Informer數(shù)據(jù)存儲(chǔ)Index與Pod分配流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論