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

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

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

      k8s 核心概念 namespace、pod、deployment、service

      2024-01-17 19:11  youxin  閱讀(321)  評論(0)    收藏  舉報(bào)

      1、Namespace
      Namespace是kubernetes系統(tǒng)中的一種非常重要資源,它的主要作用是用來實(shí)現(xiàn)多套環(huán)境的資源隔離或者多租戶的資源隔離。

      k8s在集群啟動之后,會默認(rèn)創(chuàng)建幾個namespace。

      [root@master ~]# kubectl get namespace
      NAME STATUS AGE
      default Active 45h # 所有未指定Namespace的對象都會被分配在default命名空間
      kube-node-lease Active 45h # 集群節(jié)點(diǎn)之間的心跳維護(hù),v1.13開始引入
      kube-public Active 45h # 此命名空間下的資源可以被所有人訪問(包括未認(rèn)證用戶)
      kube-system Active 45h # 所有由Kubernetes系統(tǒng)創(chuàng)建的資源都處于這個命名空間
       
      namespace資源命令操作

      //查看當(dāng)前集群的namespace
      kubectl get ns
      //查看指定namespace
      kubectl get ns default
      //k8s支持的格式有很多,比較常見的是wide、json、yaml
      kubectl get ns default -o yaml
      //查看namespace詳情
      kubectl describe ns default
      //創(chuàng)建namespace
      kubectl create ns dev
      //刪除namespace
      kubectl delete ns dev
       
      yaml文件方式創(chuàng)建namespace,創(chuàng)建文件ns-dev.yaml寫入下面內(nèi)容。
      創(chuàng)建 :kubectl create -f ns-dev.yaml
      刪除 :kubectl delete -f ns-dev.yaml

      apiVersion: v1
      kind: Namespace
      metadata:
        name: dev

       

       


      2、Pod
      Pod是kubernetes集群進(jìn)行管理的最小單元,程序要運(yùn)行必須部署在容器中,而容器必須存在于Pod中。

      Pod可以認(rèn)為是容器的封裝,一個Pod中可以存在一個或者多個容器。

      // 查看指定ns下的pod
      kubectl get pod -n dev
      //查看default命名空間下的pod
      kubectl get pod
      //查看pod詳細(xì)信息
      kubectl describe pod pod名稱
      //查看pod部署在哪個集群上IP
      kubectl get pod名稱 -n dev -o wide
      //刪除pod
      kubectl delete pod pod名稱
       
      本次創(chuàng)建pod,只是單純的創(chuàng)建一個pod,并沒有創(chuàng)建deploy。把pod刪除后,不會再次重啟一個pod,因?yàn)闆]有創(chuàng)建deploy。

      新建pod-nginx.yaml文件,內(nèi)容如下

      apiVersion: v1
      kind: Pod
      metadata:
        name: nginx
        namespace: default
      spec:
        containers:
        - image: nginx:1.17.1
          name: pod
          ports:
          - name: nginx-port
            containerPort: 80
            protocol: TCP

       


       Deployment
      在kubernetes中,Pod是最小的控制單元,但是kubernetes很少直接控制Pod,一般都是通過Pod控制器來完成的。Pod控制器用于pod的管理,確保pod資源符合預(yù)期的狀態(tài),當(dāng)pod的資源出現(xiàn)故障時,會嘗試進(jìn)行重啟或重建pod。

      在kubernetes中Pod控制器的種類有很多,本文只介紹一種Deployment,也是現(xiàn)在最推薦的一種。

      //獲取當(dāng)前deploy
      kubectl get deploy
      //查看deploy詳細(xì)信息
      kubectl describe deploy deploy名稱
      //刪除deploy,deploy下的pod也會自動刪除
      kubectl delete deploy deploy名稱
       
      如果刪除通過deploy創(chuàng)建的pod,會發(fā)現(xiàn)pod會自動起來,那是因?yàn)閐eploy中配置了起來副本個數(shù),會保證pod的高可用,當(dāng)我們想對pod重啟時,直接刪除對應(yīng)的pod就行。 如果想要徹底刪除pod,直接刪掉對應(yīng)的deploy,pod就會自動刪除并且不會自動起了。

      新建deploy-nginx.yaml文件,內(nèi)容如下

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nginx
        namespace: default
      spec:
        replicas: 3
        selector:
          matchLabels:
            run: nginx
        template:
          metadata:
            labels:
              run: nginx
          spec:
            containers:
            - image: nginx:1.17.1
              name: nginx
              ports:
              - containerPort: 80
                protocol: TCP

       

       

      4、Service
      通過上面的學(xué)習(xí),已經(jīng)能夠利用Deployment來創(chuàng)建一組Pod來提供具有高可用性的服務(wù)。

      雖然每個Pod都會分配一個單獨(dú)的Pod IP,然而卻存在如下兩問題:

      Pod IP 會隨著Pod的重建產(chǎn)生變化
      Pod IP 僅僅是集群內(nèi)可見的虛擬IP,外部無法訪問。
      這樣對于訪問這個服務(wù)帶來了難度。因此,kubernetes設(shè)計(jì)了Service來解決這個問題。

      Service可以看作是一組同類Pod對外的訪問接口。借助Service,應(yīng)用可以方便地實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡。

      //查看service
      kubectl get svc
      //刪除service
      kubectl delete svc service名稱
      //查看service詳細(xì)信息
      kubectl describe svc cmp-monitor-agent

      新建svc-nginx.yaml文件,內(nèi)容如下

      apiVersion: v1
      kind: Service
      metadata:
        name: svc-nginx
        namespace: default
      spec:
        clusterIP: 10.109.179.231 #固定svc的內(nèi)網(wǎng)ip
        ports:
        - port: 80
          protocol: TCP
          targetPort: 80
        selector:
          run: nginx
        type: ClusterIP

       


      參考:https://blog.csdn.net/weixin_41919486/article/details/126236928

      主站蜘蛛池模板: 国产精品XXXX国产喷水| 亚洲精品日韩在线观看| 亚洲AV成人无码久久精品四虎| 国产精品中文字幕一区| 日韩一欧美内射在线观看| 97一期涩涩97片久久久久久久 | 亚洲精品一区久久久久一品av | 国产精品中文第一字幕| 日本一区二区三深夜不卡| 亚洲精品国产中文字幕| 国产亚洲精久久久久久无码77777| 久久99日韩国产精品久久99| 日韩区一区二区三区视频| 最近2019中文字幕免费看| 深夜免费av在线观看| av午夜福利亚洲精品福利| 色欲综合久久中文字幕网| 亚洲精品国产字幕久久麻豆| 天天澡日日澡狠狠欧美老妇| 国产精品无码免费播放| 亚洲一二三区精品美妇| 久久影院综合精品| 四川丰满少妇无套内谢| 国产成人午夜福利在线播放| 越南女子杂交内射bbwxz| 激情综合五月丁香亚洲| 奶头好大揉着好爽视频| 亚洲欧美日韩国产手机在线| 亚洲国产成人午夜在线一区| 久久精品国产91久久麻豆| 光棍天堂在线手机播放免费| 国产精品无码久久久久AV| 成人国产亚洲精品一区二区| 免费av网站| 亚洲欧美综合中文| 久久久久四虎精品免费入口| 久久亚洲中文字幕伊人久久大| 国产精品中文字幕观看| аⅴ天堂中文在线网| 欧美人与动欧交视频| 欧美成人精品三级在线观看|