<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      k3d入門指南:在Docker中運行K3s

      在這里插入圖片描述
      在本文中,我們將簡單了解k3d,這是一款可讓您在安裝了Docker的任何地方運行一次性Kubernetes集群的工具,此外在本文中我們還將探討在使用k3d中可能會出現的一切問題。

      什么是k3d?

      k3d是一個小型程序,用于在Docker中運行K3s集群。 K3s是經過CNCF認證的輕量級Kubernetes發行和沙箱項目。它是為資源有限環境設計的,被打包為單個二進制文件,所需RAM小于512MB。 要了解有關K3s的更多信息,請查看我們之前的公眾號文章及B站上的視頻。

      k3d借助從K3s倉庫構建的Docker鏡像在安裝了Docker的任何機器上的Docker容器中啟動多個K3s節點。 這樣,一臺物理(或虛擬)機(稱為Docker Host)可以運行多個K3s集群,每個集群同時有多個server和agent節點。

      k3d能做什么?

      2021年1月,發布k3dv4.0.0,包含以下功能:

      • 創建/停止/啟動/刪除/擴大/縮小K3s集群(和單個節點)
      • 通過命令行標志
      • 通過配置文件
      • 管理可與集群一起使用的容器鏡像倉庫并與之交互
      • 管理集群的Kubeconfigs
      • 將本地Docker daemon中的鏡像導入集群中運行的容器運行時中

      顯然,還有更多的方法,您可以用來對使用過程中的細節進行調整。

      k3d的用途是什么?

      k3d的主要應用場景是在Kubernetes上進行本地開發,因為k3d輕量、簡單的特性,在這一場景下幾乎不會遇到麻煩和資源使用問題。 開發k3d的初衷是為開發人員提供一個簡單的工具,使他們能夠在開發環境的機器上運行輕量級的Kubernetes集群,從而在類似于生產的環境中獲得快速的迭代時間(相對于在本地運行docker-compose與生產中的Kubernetes要快得多)。

      隨著時間的推移,k3d還發展成為一種運維工具,用于在隔離的環境中測試某些Kubernetes(或特別是K3s)功能。 例如,使用k3d,您可以輕松地創建多節點集群,在其上部署一些應用程序,輕松停止一個節點并查看Kubernetes的反應,還能夠將您的應用重新調度到其他節點上。

      此外,您可以在持續集成系統中使用k3d來快速啟動集群,在其上部署測試堆棧并運行集成測試。完成操作后,您就可以輕松地停用整個集群。無需擔心適當的清理和可能的殘留。

      我們還提供了一個k3d-dind鏡像(類似于電影《盜夢空間》中的夢中的夢,我們在容器內的容器中放置了容器。)通過此操作,您可以創建一個運行k3d的docker-in-docker環境,該環境會在Docker中生成一個K3s集群。這意味著您只有一個容器(k3d-dind)在您的Docker主機上運行,而該容器又在其中運行了整個K3s / Kubernetes集群。

      如何使用k3d?

      1、安裝k3d(如需使用也可安裝kubectl)

      注意:本文介紹內容對版本有要求,請至少使用k3d v4.1.1以上版本

      2、可以嘗試以下其中一個示例,或使用文檔或CLI幫助文本找到適合您自己的方式(k3d [command] --help)

      “簡單”的方式

      k3d cluster create

      該命令將創建一個帶有兩個容器的K3s集群:一個Kubernetes控制平面節點(server)和一個位于其前面的負載均衡器(serverlb)。 它將它們都放置在專用的Docker網絡中,并在Docker主機上隨機選擇的免費端口上暴露Kubernetes API。 它還在后臺創建了一個名為Docker的卷,作為鏡像導入的準備。

      默認情況下,如果不提供name參數,集群將被命名為k3s-default,并且容器將顯示為k3d---<#>,因此在本例中,兩個容器將顯示為 k3d- k3s-default-serverlb和k3d-k3s-default-server-0

      k3d等待一切準備就緒,從集群中拉取Kubeconfig并將其與默認的Kubeconfig合并(通常位于$ HOME / .kube / config或者KUBECONFIG環境變量指向的任何路徑中)。
      不用擔心,您也可以調整該行為。

      使用kubectl查看您剛創建的用于顯示節點的內容:. kubectl get nodes
      k3d還為您提供了一些命令來列出您所創建的東西:.k3d cluster | node | registry list

      “簡單但精妙”的方式

      k3d cluster create mycluster --api-port 127.0.0.1:6445 --servers 3 --agents 2 --volume '/home/me/mycode:/code@agent[*]' --port '8080:80@loadbalancer'
      

      此命令生成帶有六個容器的K3s集群:* 1個負載均衡器* 3個server(控制平面節點)* 2個agent(以前為worker節點)

      通過--api-port 127.0.0.1:6445,您可以使用k3d將Kubernetes API端口(6443內部)映射到127.0.0.1 / localhost的端口6445。這意味著隨后將在Kubeconfig中包含以下連接字符串:server: https://127.0.0.1:6445以連接到此集群。
      該端口將從負載均衡器映射到您的主機系統。請求將從那里被代理到server節點,從而有效地模擬生產環境設置,在該環境中server節點也可能發生故障,并且希望故障轉移到另一個server上。

      --volume /home/me/mycode:/code@agent[] 綁定將你的本地目錄/home/me/mycode掛載到所有([] agent 節點)內部的路徑/code。使用索引(0或1)替換*,以便只把它掛載到其中一個節點。
      告訴k3d應該將卷安裝到哪個節點的規范稱為“節點過濾器”,它也用于其他標志,例如端口映射的--port標志。

      也就是說,--port '8080:80@loadbalancer'將本地主機的端口8080映射到負載均衡器(serverlb)上的端口80,該負載均衡器可用于將HTTP ingress流量轉發到集群。 例如,可以將Web應用程序部署到集群(Deployment)中,該集群通過一個 Ingress(如myapp.k3d.localhost)在外部暴露(Service)。

      然后(前提是一切都設置為將該域解析為本地主機IP),則可以將瀏覽器指向http://myapp.k3d.localhost:8080 訪問您的應用程序。 然后,流量從您的主機通過Docker橋接口流向負載均衡器。 從那里,它被代理到集群,并通過Ingress和Service傳遞到您的應用程序Pod。

      注意:你必須設置一些機制,將myapp.k3d.localhost路由到本地主機IP(127.0.0.1)。
      最常見的方法是在你的/etc/hosts文件中使用127.0.0.1
      myapp.k3d.localhost的條目(C:\Windows\System32\drivers\etc/hosts)。。
      但是,這不允許使用通配符(.localhost),因此一段時間后可能會變得有些麻煩,因此您可能需要了解dnsmasq(MacOS /
      UNIX)或Acrylic(Windows)之類的工具來減輕負擔。 提示:可以在某些系統(至少是Linux操作系統,包括SUSE
      Linux和openSUSE)上安裝libnss-myhostname軟件包,以將
      .localhost域自動解析為127.0.0.1,這意味著您不必再手動操作。例如
      ,如果您希望通過Ingress進行測試,則需要在其中設置域。

      在此處,需要注意的事是:如果創建多個server節點,則K3s將被分配到--cluster-init標志,這意味著它將K3s的默認內部數據庫(默認為SQLite)更改為etcd。

      “配置即編碼”方式

      從k3d v4.0.0(發布于2021年1月)開始,我們支持使用配置文件,來配置一切您以前通過命令行標志所做的代碼(不久之后甚至可能支持更多)。在撰寫本文時,您可以在repo中找到用于驗證配置文件的JSON模式:
      https://github.com/rancher/k3d/blob/092f26a4e27eaf9d3a5bc32b249f897f448bc1ce/pkg/config/v1alpha2/schema.json

      示例配置文件:

      # k3d configuration file, saved as e.g. /home/me/myk3dcluster.yaml
      apiVersion: k3d.io/v1alpha2  # this will change in the future as we make everything more stable
      kind: Simple  # internally, we also have a Cluster config, which is not yet available externally
      name: mycluster  # name that you want to give to your cluster (will still be prefixed with `k3d-`)
      servers: 1  # same as `--servers 1`
      agents: 2  # same as `--agents 2`
      kubeAPI:  # same as `--api-port 127.0.0.1:6445`
        hostIP: "127.0.0.1"
        hostPort: "6445"
      ports:
        - port: 8080:80  # same as `--port 8080:80@loadbalancer
          nodeFilters:
            - loadbalancer
      options:
        k3d:  # k3d runtime settings
          wait: true  # wait for cluster to be usable before returining; same as `--wait` (default: true)
          timeout: "60s"  # wait timeout before aborting; same as `--timeout 60s`
        k3s:  # options passed on to K3s itself
          extraServerArgs:  # additional arguments passed to the `k3s server` command
            - --tls-san=my.host.domain
          extraAgentArgs: []  # addditional arguments passed to the `k3s agent` command
        kubeconfig:
          updateDefaultKubeconfig: true  # add new cluster to your default Kubeconfig; same as `--kubeconfig-update-default` (default: true)
      switchCurrentContext: true  # also set current-context to the new cluster's context; same as `--kubeconfig-switch-context` (default: true)
      

      假設我們將其另存為/home/me/myk3dcluster.yaml,我們可以使用它來配置新集群
      k3d cluster create --config /home/me/myk3dcluster.yaml

      注意:您仍然可以設置額外的參數或標志,這些參數或標志將優先于(或將被合并)你在配置文件中定義的任何參數。

      k3d還能做什么?

      你可以在很多場景下使用k3d,例如:

      您可以通過使用在此demo repo中準備好的腳本來自己嘗試所有這些操作:
      https://github.com/iwilltry42/k3d-demo。

      THORSTEN KLEIN
      trivago的DevOps工程師,SUSE自由軟件工程師,也是k3d的維護者。

      posted @ 2021-05-14 10:38  k3s中文社區  閱讀(2630)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久精品国产亚洲夜色av| 亚洲一区在线成人av| 在线天堂最新版资源| 国产欧美在线一区二区三| 日本国产精品第一页久久| 免费无码一区二区三区蜜桃大 | 亚洲国产成人久久综合三区| 国产精品十八禁一区二区| 精品无码三级在线观看视频| 亚洲日韩中文字幕在线播放| 国产情侣草莓视频在线| 国内自拍视频一区二区三区| 日本精品一区二区不卡| 国内精品一区二区不卡| 无码人妻精品一区二区三区蜜桃| 美乳丰满人妻无码视频| 国产美女深夜福利在线一 | 亚洲高清WWW色好看美女| 婷婷久久综合九色综合88| 国产精品黄色片| 噜噜噜亚洲色成人网站∨| 人人妻人人爽人人添夜夜欢视频 | 日韩无专区精品中文字幕| 久九九精品免费视频| 日韩无专区精品中文字幕| 泗洪县| 国产成人高清精品亚洲一区| 日本午夜精品一区二区三区电影| 加勒比无码人妻东京热| 国内外成人综合免费视频| 成全影院电视剧在线观看| 999福利激情视频| 国产精品久久久国产盗摄| 欧洲熟妇熟女久久精品综合| 99国产欧美另类久久久精品| 国产精品自在拍首页视频8| 日韩精品亚洲专区在线观看| 中文字幕av国产精品| 国产成人毛片无码视频软件| 超碰成人人人做人人爽| 成年在线观看免费人视频|