日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Docker应用:Kubernetes(容器集群)

發(fā)布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker应用:Kubernetes(容器集群) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Docker應用:Kubernetes(容器集群) 原文:Docker應用:Kubernetes(容器集群)

閱讀目錄:

  • Docker應用:Hello World
  • Docker應用:Docker-compose(容器編排)
  • Docker應用:Kubernetes(容器集群)

?

前言:

  終于出第三篇了,上個月就已經弄好了,一直沒弄上來,步入正題之前有3個建議給想要學習Kubernetes的同學。

  1、在國內因為防火墻的原因,你是不可能在Docker上在線開啟的Kubernetes功能的。所以如果你會fan qiang上網,那萬事大吉。

  2、如果你離香港澳門比較近,那建議你周末抽空過去一趟,上午買罐奶粉,在店里吃個便餐順便上網把Kubernetes功能開啟了,

一天時間不用。又能旅游散心、又把事情辦了,一舉多得,還是萬事大吉。

  3、如果上面2種你都沒有條件,那真的很遺憾,你要控制住你的雙手,一不注意,你可能會把電腦砸掉。還要準備菊花茶,清熱解毒

以免怒火攻心長痘痘,板藍根小柴胡也要買點,不然你氣憤身體忽冷忽熱的容易感冒。

  好了,說這些是想告訴你,你如果不能在線開啟Kubernetes功能,那將浪費很多很多。。的時間,別人不知道,反正我就是斷斷續(xù)續(xù)的

加起來可能至少2個星期才完成。而且我后邊也不會把解決過程發(fā)出來,太羅嗦,有怒氣你們直接懟防火墻就對了,機智.jpg

?

一、Kubernetes簡單介紹

1、Kubernetes簡單點說就是關于Docker的集群方案,具體介紹請可以點擊這里,在之前2章中都只是介紹了單機、單運用的開發(fā)情況,但是

很明顯這是不夠的,互聯(lián)網時代,一個完整的系統(tǒng)可能由幾十、幾百個子系統(tǒng)組成,這不可能都部署在一臺機器上,所以單機單應用的Docker

部署方案最多運用在企業(yè)內部小系統(tǒng)上,超出這個范圍就要考慮docker集群了,這就引出Kubernetes,他就是專為Docker集群而生的。

?

2、Kubernetes功能模塊可以分為:

  • Container(容器)
  • Pod(容器組)
  • Label(標簽)
  • Replication Controller(復制控制器)
  • Service(服務)
  • Node(節(jié)點)
  • Kubernetes Master(Kubernetes主節(jié)點)

  Container、Pod這2個都是關于容器的,比較好理解,Label可以理解為對Pod的標識,

  Replication Controller則是實現Pod拷貝的功能,負載均衡應該就是他完成的,Node(節(jié)點),Kubernetes Master(Kubernetes主節(jié)點)

  比較好理解,主要是yaml格式編寫要熟練,后續(xù)講到。

?

3、Kubernetes模塊圖示,直接摘抄了啊

?

?二、開啟Kubernetes

1、先來看看,Kubernetes啟動成功后是有2個running的,啟動失敗那個Kubernetes會一直提示 “** is starting”,直到永遠。

?

2、驗證一下,在PowerShell中輸入以下指令查看Kubernete版本

1 kubectl version

?

?三、部署web鏡像

?1、新建WebMVC項目,修改HomeController

 1     public class HomeController : Controller
 2     {
 3         public IActionResult Index()
 4         {
 5             ViewData["Message"] = string.Format("IP:{0}", Dns.GetHostAddresses(Dns.GetHostName()).FirstOrDefault());
 6 
 7             return View();
 8         }
 9 
10         ....
11     }

2、編寫Dockerfile

 1 FROM microsoft/dotnet:2.1-sdk AS build
 2 WORKDIR /app
 3 
 4 # copy csproj and restore as distinct layers
 5 COPY *.sln .
 6 COPY WebApp-HelloWorld/*.csproj ./WebApp-HelloWorld/
 7 RUN dotnet restore
 8 
 9 # copy everything else and build app
10 COPY WebApp-HelloWorld/. ./WebApp-HelloWorld/
11 WORKDIR /app/WebApp-HelloWorld
12 RUN dotnet publish -c Release -o out
13 
14 
15 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS runtime
16 WORKDIR /app
17 COPY --from=build /app/WebApp-HelloWorld/out ./
18 ENTRYPOINT ["dotnet", "WebApp-HelloWorld.dll"]

運行 docker build -t helloworld . ,要先創(chuàng)建鏡像,后邊的kubernete才能用

3、編寫kubernete-web-pod.yaml

 1 apiVersion: v1
 2 kind: Pod 
 3 metadata:
 4   name: kubernete-web-pod 
 5   labels: 
 6     app: kubernete-web-pod
 7 spec: 
 8   containers: 
 9     - name: helloworld 
10       image: helloworld
11       imagePullPolicy: IfNotPresent 
12       ports:
13         - containerPort: 80 

4、創(chuàng)建Pod

1 kubectl create -f kubernete-web-pod.yaml
2 kubectl get pod

5、暴露容器地址

1 kubectl port-forward kubernete-web-pod 8010:80

6、瀏覽器訪問

搞定!

四、容器集群

1、創(chuàng)建?kubernete-web-replicaset.yaml

 1 apiVersion: apps/v1
 2 kind: ReplicaSet 
 3 metadata:
 4   name: kubernete-web-replicaset
 5 spec:
 6   replicas: 3 # pod實例的個數
 7   selector:
 8     matchLabels: # 標簽名稱
 9       app: kubernete-web-pod
10   template: 
11     metadata:
12       labels:
13         app: kubernete-web-pod
14     spec:
15       containers:
16       - name: kubernete-web-replicaset
17         image: helloworld
18         imagePullPolicy: IfNotPresent 

2、執(zhí)行指令

1 kubectl create -f kubernete-web-replicaset.yaml

3、創(chuàng)建Service統(tǒng)一入口

1 kubectl expose replicaset kubernete-web-replicaset --type=loadBalancer --port=8020 --target-port=80 --name kubernete-web-service

這樣就構成了集群負載均衡了,我們在瀏覽器上試試

3、開3個窗口http://localhost:8020/

?

?

大功告成!。。。。?;丶?/p>

?

posted on 2019-04-15 22:20 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lonelyxmas/p/10713750.html

總結

以上是生活随笔為你收集整理的Docker应用:Kubernetes(容器集群)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。