国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s service的概念以及創(chuàng)建方法

這篇具有很好參考價(jià)值的文章主要介紹了k8s service的概念以及創(chuàng)建方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Service 的功能:

  • Service主要用于提供網(wǎng)絡(luò)服務(wù),通過Service的定義,能夠?yàn)榭蛻舳藨?yīng)用提供穩(wěn)定的訪問地址(域名或IP地址)和負(fù)載均衡功能,以及屏蔽后端Endpoint的變化,是K8s實(shí)現(xiàn)微服務(wù)的核心資源。

Service主要解決了什么問題:

  • 引入Service主要是解決Pod的動(dòng)態(tài)變化,通過創(chuàng)建Service,可以為一組具有相同功能的容器應(yīng)用提供一個(gè)統(tǒng)一的入口地址,并且將請(qǐng)求負(fù)載分發(fā)到后端的各個(gè)容器應(yīng)用上。
  • 由于pod的不穩(wěn)定性,比如水平擴(kuò)展時(shí),pod異常時(shí)生成新的pod,都會(huì)讓pod擁有新的ip地址,這不利于前端的訪問,所以需要把pod綁定到固定的IP(域名)上,所以Service就出現(xiàn)了。

本文主要介紹Service的創(chuàng)建方法,命令行模式和聲明模式,

Service主要是為Pod提供統(tǒng)一訪問入口的資源對(duì)象,所有需要先創(chuàng)建一個(gè)pod

  1. 創(chuàng)建Pod

     kubectl run nginx --image=nginx --port=80 --labels="app=nginx" 
    
  • kubectl run nginx : 創(chuàng)建一個(gè)名為nginx的pod
  • --image=nginx:使用nginx鏡像文件
  • --port=80:聲明服務(wù)的端口
  • --labels="app=nginx" :給pod打上標(biāo)簽
    note: 如果pod想要外部訪問,必須打上標(biāo)簽
  1. 命令行模式創(chuàng)建service并綁定“ app = nginx” 的pod

     kubectl expose pod nginx --port=80 --target-port=80  --type=NodePort
    
  • kubectl expose pod nginx : 創(chuàng)建一個(gè)svc,svc的名稱就是nginx,自動(dòng)選擇nginx pod的標(biāo)簽
  • --port=80: svc的端口
  • --target-port=80:容器的端口
  • --type=NodePort:svc的類型,NodePort模式,會(huì)自動(dòng)把svc的80端口映射到所有node主機(jī)的隨機(jī)端口(端口范圍:30000-32767),這樣客戶端可以通過任意node主機(jī)的IP + 端口訪問到Pod。

svc的幾種類型

類型 描述
ClusterIP 集群內(nèi)部使用
NodePort 對(duì)外暴露應(yīng)用端口(集群外可訪問)
LoadBalancer 對(duì)外暴露應(yīng)用,將Service映射到一個(gè)已存在的負(fù)載均衡器的IP地址上,適合公有云
ExternalName 將Service映射為一個(gè)外部域名地址,通過externalName字段進(jìn)行設(shè)置

查看svc

# kubectl get svc nginx -o wide
NAME    TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE   SELECTOR
nginx   NodePort   10.105.125.73   <none>        80:30974/TCP   12m   app=nginx
  • CLUSTER-IP : Service地址(是一個(gè)不會(huì)變化的ip地址)
  • PORT(S): svc端口和node端口的映射
  • SELECTOR: 通過標(biāo)簽選擇綁定哪些Pod

由于已經(jīng)通過NodePort模式將svc的端口映射到了node主機(jī)的 30974 端口,即可以通過node的ip加端口訪問到Pod的服務(wù)
k8s service的概念以及創(chuàng)建方法,k8s學(xué)習(xí),kubernetes,容器,云原生

  1. 通過yaml 文件聲明式的創(chuàng)建svc
    編寫yaml文件

     # cat nginx.yaml
    
    apiVersion: v1			# api版本
    kind: Service			# 綁定資源類型,首字符必須大寫
    metadata:				# metadata 元數(shù)據(jù)
     name: nginx-svc			# 定義 svc的名稱
     labels:				# 下面是定義標(biāo)簽
      tier: frontend		
    spec:				# 規(guī)格
     ports:				# 定義端口,svc和pod
      - port: 80		# svc的端口
    	protocol: TCP		# 協(xié)議
        targetPort: 80		# 容器的端口
     selector:			# 標(biāo)簽選擇
      app: nginx
     type: NodePort		# svc 類型
    

    創(chuàng)建svc(svc 是service的簡(jiǎn)寫)

    查看那些資源對(duì)象存在簡(jiǎn)寫: kubectl api-resources

     # kubectl create -f  nginx.yaml
    

    查看svc

     # kubectl get svc nginx-svc -o wide
    
    NAME        TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE     SELECTOR
    nginx-svc   NodePort   10.107.55.165   <none>        80:32238/TCP   5m40s   app=nginx
    
  • -o wide : 顯示更多信息

    svc nginx-svc的類型為 NodePort 同樣可以通過 node的ip加端口訪問到pod 里的容器服務(wù)。

Additional information:

可以使用命令行創(chuàng)建svc的使用使用 -o yaml輸出yaml格式信息。

例如:

kubectl expose pod nginx --port=80 --target-port=80  --type=NodePort --dry-run=client  -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: nginx
  name: nginx
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  type: NodePort
status:
  loadBalancer: {}
  • --dry-run=client : 以客戶端的模式運(yùn)行(運(yùn)行測(cè)試并不生效)
  • -o yaml:以yaml格式輸出

--dry-run=client ,以客戶端的方式嘗試運(yùn)行,配置 -o yaml 輸出簡(jiǎn)略的信息
--dry-run=server ,以服務(wù)端的方式運(yùn)行,配合-o yaml 輸出非常詳細(xì)的信息文章來源地址http://www.zghlxwxcb.cn/news/detail-837278.html

kubectl expose pod nginx --port=80 --target-port=80  --type=NodePort --dry-run=server -o yaml
Error from server (AlreadyExists): services "nginx" already exists
  • 在server模式下,由于 svc nginx 已經(jīng)存在所以報(bào)錯(cuò),刪除svc nginx即可正常顯示

到了這里,關(guān)于k8s service的概念以及創(chuàng)建方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Kubernetes 啟動(dòng)Pod的方法-Pod的調(diào)度算法-Pod間的通信-k8s的控制器-Pod資源控制-發(fā)布Service服務(wù)

    Kubernetes 啟動(dòng)Pod的方法-Pod的調(diào)度算法-Pod間的通信-k8s的控制器-Pod資源控制-發(fā)布Service服務(wù)

    目錄 Pod 參考文檔:Pod | Kubernetes Pod配置文件:simple-pod.yaml 對(duì)master進(jìn)行如下操作 Pod的狀態(tài)有: 參考文檔:(70條消息) Pod生命周期中的狀態(tài)解釋_pod狀態(tài)_鬧玩兒扣眼珠子的博客-CSDN博客 進(jìn)入Pod內(nèi)的nginx容器: 當(dāng)我們創(chuàng)建一個(gè)Pod,其中的步驟是什么?(啟動(dòng)Pob的流程) 大概步驟:

    2024年02月13日
    瀏覽(100)
  • Kubernetes(k8s)概念介紹

    Kubernetes(k8s)概念介紹

    K8s是一個(gè)開源的用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,k8s的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效,k8s提供了應(yīng)用部署,規(guī)劃,更新,維護(hù)的一種機(jī)制。k8s是google在2014年開源的容器化集群部署管理系統(tǒng),使用k8s可以進(jìn)行容器化應(yīng)用部署,它有利于應(yīng)用擴(kuò)展,k8s目標(biāo)

    2024年02月15日
    瀏覽(91)
  • Kubernetes(K8S)的基礎(chǔ)概念

    Kubernetes(K8S)的基礎(chǔ)概念

    用于自動(dòng)部署、擴(kuò)展和管理“容器化( containerized) 應(yīng)用程序”的開源系統(tǒng) 可以理解成K8S是負(fù)責(zé)自動(dòng)化運(yùn)維管理多個(gè)容器化程序(比如Docker)的集群,是–個(gè)生態(tài)極其豐富的容器編排框架工具 由來: k8S由google的Borg系統(tǒng)(博格系統(tǒng),google內(nèi)部使用的大規(guī)模容器編排工具)作為原型,后

    2024年02月05日
    瀏覽(95)
  • 【云原生 ? Kubernetes】認(rèn)識(shí) k8s、k8s 架構(gòu)、核心概念點(diǎn)介紹

    【云原生 ? Kubernetes】認(rèn)識(shí) k8s、k8s 架構(gòu)、核心概念點(diǎn)介紹

    目錄 一、Kubernetes 簡(jiǎn)介 二、Kubernetes 架構(gòu) 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服務(wù) service 6. 發(fā)布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念總結(jié) Kubernetes 簡(jiǎn)稱 k8s,是支持云原生部署的一個(gè)平臺(tái),起源于谷歌。谷歌早在十幾

    2024年02月03日
    瀏覽(859)
  • 【Spring Cloud Kubernetes】使用k8s原生service實(shí)現(xiàn)服務(wù)注冊(cè)和發(fā)現(xiàn)

    @TOC 現(xiàn)在微服務(wù)開發(fā)模式應(yīng)用的越來越廣泛,注冊(cè)中心 Eureka 也逐漸被其它注冊(cè)中心產(chǎn)品替代,比如阿里出品的 Nacos 。隨著云原生相關(guān)技術(shù)的普及, k8s 迅猛發(fā)展,我們把 K8s 中的 Pod 暴露給外部訪問,通過少了 Service ,這也是今天的主角。 有沒有發(fā)現(xiàn),其實(shí) Service 已經(jīng)解決了

    2024年02月12日
    瀏覽(167)
  • kubernetes(k8s) pod(資源限制、基礎(chǔ)概念)

    kubernetes(k8s) pod(資源限制、基礎(chǔ)概念)

    目錄 ?一、資源限制 1、概念 1.2、Pod和容器的資源請(qǐng)求和限制 1.3、CPU資源單位 1.4、內(nèi)存資源單位 1.5、CPU和內(nèi)存的Requests和Limits的特點(diǎn) 1.6、案例 二、pod 的兩種使用方式 三、pod 資源共享 四、底層容器Pause 1、pause 共享資源 1.1、網(wǎng)絡(luò) 1.2、存儲(chǔ) 1.3、小結(jié) 2、Pause主要功能 3、Pod

    2024年02月05日
    瀏覽(103)
  • 【Kubernetes】第二十二篇 - k8s 部署 MySQL 服務(wù)(secret、deployment、service)

    上一篇,介紹基于 k8s 項(xiàng)目部署流程設(shè)計(jì); 本篇,介紹 MySQL 服務(wù)的部署; 部署 MySQL 可以為指定 node 添加污點(diǎn),專門用于 mysql 部署(當(dāng)前只有一個(gè)節(jié)點(diǎn),不考慮); 為了保證mysql容器重啟時(shí)數(shù)據(jù)不會(huì)丟失:創(chuàng)建 mysql 數(shù)據(jù)目錄,用于存儲(chǔ) mysql 數(shù)據(jù),實(shí)現(xiàn) MySQL 數(shù)據(jù)的持久化;

    2024年02月03日
    瀏覽(52)
  • Kubernetes(K8s)從入門到精通系列之五:K8s的基本概念和術(shù)語之應(yīng)用類

    Service: Service指的是無狀態(tài)服務(wù),通常多個(gè)程序副本提供服務(wù),在特殊情況下也可以是有狀態(tài)的單實(shí)例服務(wù),比如MySQL這種數(shù)據(jù)存儲(chǔ)類的服務(wù)。 K8s里的Service具有一個(gè)全局唯一的虛擬ClusterIP地址,客戶端可以通過這個(gè)虛擬IP地址+服務(wù)的端口直接訪問該服務(wù),再通過部署K8s集群的

    2024年02月14日
    瀏覽(92)
  • Kubernetes(K8s)從入門到精通系列之四:K8s的基本概念和術(shù)語之集群類

    集群表示一個(gè)由Master和Node組成的K8s集群。 Master指的是集群的控制節(jié)點(diǎn)。 在每個(gè)K8s集群都需要有一個(gè)或一組被稱為Master的節(jié)點(diǎn),來負(fù)責(zé)整個(gè)集群的管理和控制。 Master通常占據(jù)一個(gè)獨(dú)立的服務(wù)器(在高可用部署中建議至少使用3臺(tái)服務(wù)器),是整個(gè)集群的大腦。 在Master上運(yùn)行以下

    2024年02月15日
    瀏覽(27)
  • Kubernetes(K8s)從入門到精通系列之七:K8s的基本概念和術(shù)語之安全類

    開發(fā)的Pod應(yīng)用需要通過API Server查詢、創(chuàng)建及管理其他相關(guān)資源對(duì)象,所以這類用戶才是K8s的關(guān)鍵用戶。K8s設(shè)計(jì)了Service Account這個(gè)特殊的資源對(duì)象,代表Pod應(yīng)用的賬號(hào),為Pod提供必要的身份驗(yàn)證。在此基礎(chǔ)上,K8s實(shí)現(xiàn)和完善了基于角色的訪問控制權(quán)限系統(tǒng)——RBAC(Role-Based Acce

    2024年02月15日
    瀏覽(92)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包