1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)-創(chuàng)新互聯(lián)

      博文大綱:
      一、資源創(chuàng)建
      二、解決客戶端無法訪問k8s內(nèi)部pod所運(yùn)行的服務(wù)
      三、搭建私有倉庫,并自定義鏡像
      四、版本擴(kuò)容、縮容
      五、服務(wù)的升級與回滾

      十余年的靜樂網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整靜樂建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“靜樂網(wǎng)站設(shè)計(jì)”,“靜樂網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

      一、資源創(chuàng)建

      本次博文主要介紹如何使用命令行的方式創(chuàng)建資源!

      [root@master ~]# kubectl run test --image=nginx:latest --replicas=5
      //基于httpd的鏡像創(chuàng)建一個deployment類型的控制組,名稱為test,并指定副本數(shù)量為5
      [root@master ~]# kubectl get deployments.       //查看deployment控制器
      NAME   READY   UP-TO-DATE   AVAILABLE   AGE
      test   5/5     5            5           6m26s
      //可以看到deployment的name是我們指定的test
      [root@master ~]# kubectl get replicasets.        //查看replicasets這個控制器
      NAME              DESIRED   CURRENT   READY   AGE
      test-66cbf74d74   5         5         5       7m50s
      //可以看到replicasets的NAME就是在deployment的NAME后面追加了一串ID號
      [root@master ~]# kubectl get pod -o wide        //查看pod的詳細(xì)信息
      NAME                    READY   STATUS    RESTARTS   AGE     IP           NODE     NOMINATED NODE   READINESS GATES
      test-66cbf74d74-5tcqz   1/1     Running   0          9m33s   10.244.1.7   node01              
      test-66cbf74d74-6975b   1/1     Running   0          9m33s   10.244.2.3   node02              
      test-66cbf74d74-d7wcg   1/1     Running   0          9m33s   10.244.1.6   node01              
      test-66cbf74d74-d9lj6   1/1     Running   0          9m33s   10.244.1.5   node01              
      test-66cbf74d74-r4fmp   1/1     Running   0          9m33s   10.244.2.2   node02              
      //可以看到該pod的NAME就是在上面replicasets的后面又追加了一段ID

      也可以使用以下方法,查看控制器的詳細(xì)信息!方法如下:

      [root@master ~]# kubectl describe deployments. test
      //查看名為test控制器的詳細(xì)信息

      返回的信息如圖:
      K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)

      [root@master ~]# kubectl describe replicasets. test
      //查看replicasets控制器的詳細(xì)信息

      返回的結(jié)果如圖:
      K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)

      從以上創(chuàng)建一個pod的過程中,就可以看出當(dāng)我們執(zhí)行創(chuàng)建資源的命令后,deployment這個控制器會通過replicaset控制器去管理并創(chuàng)建所需的pod!

      二、解決客戶端無法訪問k8s內(nèi)部pod所運(yùn)行的服務(wù)

      當(dāng)k8s集群創(chuàng)建pod完成后,集群內(nèi)部是可以訪問pod所提供的服務(wù)的,方法如下:

      [root@master ~]# kubectl get pod -o wide         //查看pod的詳細(xì)信息
      NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
      test-66cbf74d74-5tcqz   1/1     Running   0          28m   10.244.1.7   node01              
      test-66cbf74d74-6975b   1/1     Running   0          28m   10.244.2.3   node02              
      test-66cbf74d74-d7wcg   1/1     Running   0          28m   10.244.1.6   node01              
      test-66cbf74d74-d9lj6   1/1     Running   0          28m   10.244.1.5   node01              
      test-66cbf74d74-r4fmp   1/1     Running   0          28m   10.244.2.2   node02              

      集群內(nèi)部測試訪問:
      K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)
      集群內(nèi)部訪問是沒有問題,但是此時除了集群內(nèi)部,外部是訪問不到的,這就很傷腦筋了。不過好在k8s提供了完美的解決方案,實(shí)現(xiàn)過程如下:

      [root@master ~]# kubectl run web --image=nginx:latest --port=80 --replicas=2
      //創(chuàng)建一個名為web的deployment的資源對象,并映射容器的80端口到宿主機(jī)
      [root@master ~]# kubectl expose deployment web --name=service --port=80 --type=NodePort
      //創(chuàng)建一個service(名稱可以自定義),將部署web資源對象的80端口映射出來
      [root@master ~]# kubectl get svc service      //查看創(chuàng)建service的信息
      NAME      TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
      service   NodePort   10.110.139.176           80:31070/TCP   35s
      //可以看出將部署的服務(wù)端口映射到了宿主機(jī)的31070端口

      客戶端訪問測試:
      K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)
      注意:是訪問群集中任意節(jié)點(diǎn)都可以訪問k8s集群中pod所提供的服務(wù)!

      三、搭建私有倉庫,并自定義鏡像

      搭建私有倉庫可以參考博文:Docker搭建私有倉庫(registry與Harbor)

      倉庫選擇registry或者是Harbor都可以,為了簡單起見。這里搭建registry私有倉庫,方法如下:

      [root@master ~]# docker run -tid --name registry -p 5000:5000 --restart always registry:latest 
      [root@master ~]# vim /usr/lib/systemd/system/docker.service 
      ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.1:5000
      [root@master ~]# systemctl daemon-reload 
      [root@master ~]# systemctl restart docker
      //重啟docker服務(wù)使配置文件生效,node01、node02的操作一致
      [root@node01 ~]# scp root@master:/usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service
      [root@node01 ~]# systemctl daemon-reload 
      [root@node01 ~]# systemctl restart docker
      //node01的操作
      [root@node02 ~]#  scp root@master:/usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service 
      [root@node02 ~]# systemctl daemon-reload 
      [root@node02 ~]# systemctl restart docker
      //node02的操作
      ##############搭建私有倉庫完成##################
      [root@master ~]# mkdir v{1,2,3}
      [root@master ~]# cd v1
      [root@master v1]# echo -e "FROM nginx:latest\nADD index.html /usr/share/nginx/html/" > Dockerfile
      [root@master v1]# echo -e "

      hello lvzhenjiang:v1

      " > index.html [root@master v1]# docker build -t 192.168.1.1:5000/nginx:version1 . [root@master v1]# cp Dockerfile ../v2/ [root@master v1]# cp Dockerfile ../v3/ [root@master v1]# echo -e "

      hello lvzhenjiang:v2

      " > ../v2/index.html [root@master v1]# echo -e "

      hello lvzhenjiang:v3

      " > ../v3/index.html [root@master v1]# cd ../v2 [root@master v2]# docker build -t 192.168.1.1:5000/nginx:version2 . [root@master v2]# cd ../v3 [root@master v3]# docker build -t 192.168.1.1:5000/nginx:version3 . //生成三個不同版本的鏡像,在主頁上進(jìn)行區(qū)分 [root@master v3]# docker push 192.168.1.1:5000/nginx:version1 [root@master v3]# docker push 192.168.1.1:5000/nginx:version2 [root@master v3]# docker push 192.168.1.1:5000/nginx:version3 //將鏡像上傳到私有倉庫中 ##################創(chuàng)建pod進(jìn)行測試################### [root@master v3]# kubectl run nginx --image=192.168.1.1:5000/nginx:version1 --port=80 --replicas=4 //基于自定義鏡像(192.168.1.1:5000/nginx:v1)創(chuàng)建pod,副本數(shù)量為4個,并映射端口 [root@master v3]# kubectl get pod -o wide | grep nginx | awk '{print $6}' 10.244.2.11 10.244.2.10 10.244.1.16 10.244.1.15 //創(chuàng)建四個副本的IP地址 [root@master v3]# curl 10.244.2.11

      hello lvzhenjiang:v1

      [root@master v3]# curl 10.244.2.10

      hello lvzhenjiang:v1

      //訪問副本的任意IP地址都可以看到同樣的頁面

      四、版本擴(kuò)容、縮容

      第一種方法:

      [root@master v3]# kubectl scale deployment nginx --replicas=8
      //使用命令行的方式進(jìn)行擴(kuò)容操作(縮容也是一樣的道理)
      [root@master v3]# kubectl get pod -o wide | grep nginx | wc -l
      8
      [root@master v3]# kubectl get deployments. nginx -o yaml
      [root@master v3]# kubectl get deployments. nginx -o json
      //也可以將nginx資源類型已json或yaml文件格式輸出(其中也可查看到副本的數(shù)量)

      第二種方法:

      [root@master v3]# kubectl edit deployments. nginx
      //編輯名為nginx的資源類型
           19 spec:                  //找到spec字段
           20   progressDeadlineSeconds: 600
           21   replicas: 6           //更改副本數(shù)量
      //在保存退出的一瞬間就生效了
      [root@master v3]# kubectl get pod -o wide | grep nginx | wc -l
      6
      //查看副本數(shù)量

      五、服務(wù)的升級與回滾

      服務(wù)升級操作:

      [root@master v3]# kubectl set image deployment nginx nginx=192.168.1.1:5000/nginx:version2
      //將nginx資源的鏡像升級為192.168.1.1:5000/nginx:version2
      [root@master v3]# kubectl get pod -o wide | grep nginx | awk '{print $6}'
      10.244.1.19
      10.244.1.21
      10.244.1.20
      10.244.2.14
      10.244.2.15
      10.244.2.16
      [root@master v3]# curl 10.244.1.19
      

      hello lvzhenjiang:v2

      //可以通過測試訪問的方式進(jìn)行驗(yàn)證 [root@master v3]# kubectl get deployments. nginx -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR nginx 6/6 6 6 18m nginx 192.168.1.1:5000/nginx:version2 run=nginx //可以通過查看nginx資源的信息進(jìn)行查看 [root@master v3]# kubectl describe deployments. nginx //也可以通過查看nginx資源的詳細(xì)信息進(jìn)行查看

      查詢結(jié)果如下:
      K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)

      [root@master v3]#  kubectl set image deployment nginx nginx=192.168.1.1:5000/nginx:version3
      //再次升級
      [root@master v3]# kubectl get deployments. nginx -o wide
      NAME    READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                            SELECTOR
      nginx   6/6     6            6           20m   nginx        192.168.1.1:5000/nginx:version3   run=nginx
      //根據(jù)顯示信息可以看出已經(jīng)升級成功

      服務(wù)回滾操作:

      [root@master v3]# kubectl rollout undo deployment nginx
      //對nginx資源進(jìn)行回滾操作
      [root@master v3]# kubectl get deployments. nginx -o wide
      NAME    READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                            SELECTOR
      nginx   6/6     4            6           22m   nginx        192.168.1.1:5000/nginx:version2   run=nginx
      //從查詢結(jié)果中可以查看已經(jīng)回滾到上一個版本
      [root@master v3]# kubectl rollout undo deployment nginx
      [root@master v3]# kubectl get deployments. nginx -o wide
      NAME    READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                            SELECTOR
      nginx   5/6     6            5           53m   nginx        192.168.1.1:5000/nginx:version3   run=nginx
      //再次執(zhí)行回滾操作,發(fā)現(xiàn)又回到版本3

      由此可以看出在k8s集群中版本的升級、回滾操作與docker swarm中差不多一致!

      但是在k8s中回滾操作可以通過回滾到指定的版本,在以后的博文中會介紹到!

      ————————本文到此為止,感謝閱讀————————

      另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


      網(wǎng)站標(biāo)題:K8s資源對象的基本管理之使用命令行的方式(升級、回滾、擴(kuò)容、縮容)-創(chuàng)新互聯(lián)
      當(dāng)前路徑:http://www.ef60e0e.cn/article/dspoeg.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        天柱县| 景德镇市| 海丰县| 韶山市| 雷山县| 尖扎县| 剑河县| 比如县| 乐业县| 巧家县| 中西区| 舟曲县| 连平县| 洪雅县| 雷波县| 海林市| 达孜县| 米林县| 吴桥县| 含山县| 拉萨市| 江口县| 胶州市| 莱州市| 凤山市| 元谋县| 高唐县| 绍兴县| 诸暨市| 平乡县| 达孜县| 南涧| 唐河县| 双辽市| 新乡市| 南陵县| 神池县| 乌审旗| 泾阳县| 海盐县| 万安县|