欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

kubernetes創(chuàng)建資源的方法

Kubernetes概述

Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規(guī)??缮炜s、應(yīng)用容器化管理。在生產(chǎn)環(huán)境中部署一個應(yīng)用程序時,通常要部署該應(yīng)用的多個實例以便對應(yīng)用請求進(jìn)行負(fù)載均衡。

站在用戶的角度思考問題,與客戶深入溝通,找到鎮(zhèn)原網(wǎng)站設(shè)計與鎮(zhèn)原網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋鎮(zhèn)原地區(qū)。

在Kubernetes中,我們可以創(chuàng)建多個容器,每個容器里面運(yùn)行一個應(yīng)用實例,然后通過內(nèi)置的負(fù)載均衡策略,實現(xiàn)對這一組應(yīng)用實例的管理、發(fā)現(xiàn)、訪問,而這些細(xì)節(jié)都不需要運(yùn)維人員去進(jìn)行復(fù)雜的手工配置和處理。

Kubernetes 特點

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

可擴(kuò)展: 模塊化,插件化,可掛載,可組合

自動化: 自動部署,自動重啟,自動復(fù)制,自動伸縮/擴(kuò)展

一,兩種創(chuàng)建資源的方法

1. 基于命令的方式:

  1. 簡單直觀快捷,上手快。
  2. 適合臨時測試或?qū)嶒灐?/strong>

2. 基于配置清單的方式:

  1. 配置文件描述了 What,即應(yīng)用最終要達(dá)到的狀態(tài)。
  2. 配置文件提供了創(chuàng)建資源的模板,能夠重復(fù)部署。
  3. 可以像管理代碼一樣管理部署。
  4. 適合正式的、跨環(huán)境的、規(guī)?;渴?。
  5. 這種方式要求熟悉配置文件的語法,有一定難度。

環(huán)境介紹

主機(jī)IP地址服務(wù)
master192.168.1.21k8s
node01192.168.1.22k8s
node02192.168.1.23k8s

二. 配置清單(yam,yaml)

在k8s中,一般使用yaml格式的文件來創(chuàng)建符合我們預(yù)期期望的pod,這樣的yaml文件我們一般稱為資源清單

/etc/kubernetes/manifests/   k8s存放(yam、yaml)文件的地方

**kubectl explain deployment(通過explain參數(shù)加上資源類別就能看到該資源應(yīng)該怎么定義)

kubectl explain deployment.metadata通過資源類別加上帶有Object標(biāo)記的字段,我們就可以看到一級字段下二級字段的內(nèi)容有那些怎么去定義等

kubectl explain deployment.metadata.ownerReferences通過加上不同級別的字段名稱來看下字段下的內(nèi)容,而且前面的[]號代表對象列表

1.常見yaml文件寫法,以及字段的作用

(1) apiVersion:api版本信息

(用來定義當(dāng)前屬于哪個組和那個版本,這個直接關(guān)系到最終提供使用的是那個版本)

[root@master manifests]# kubectl api-versions
//查看到當(dāng)前所有api的版本

(2) kind: 資源對象的類別

(用來定義創(chuàng)建的對象是屬于什么類別,是pod,service,還是deployment等對象,可以按照其固定的語法格式來自定義。)
(3) metadata: 元數(shù)據(jù) 名稱字段(必寫)

提供以下幾個字段:
creationTimestamp: "2019-06-24T12:18:48Z"
generateName: myweb-5b59c8b9d-
labels: (對象標(biāo)簽)
  pod-template-hash: 5b59c8b9d
  run: myweb
name: myweb-5b59c8b9d-gwzz5 (pods對象的名稱,同一個類別當(dāng)中的pod對象名稱是唯一的,不能重復(fù))
namespace: default (對象所屬的名稱空間,同一名稱空間內(nèi)可以重復(fù),這個名稱空間也是k8s級別的名稱空間,不和容器的名稱空間混淆)
ownerReferences:

  • apiVersion: apps/v1
    blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: myweb-5b59c8b9d
      uid: 37f38f64-967a-11e9-8b4b-000c291028e5
    resourceVersion: "943"
    selfLink: /api/v1/namespaces/default/pods/myweb-5b59c8b9d-gwzz5
    uid: 37f653a6-967a-11e9-8b4b-000c291028e5
    annotations(資源注解,這個需要提前定義,默認(rèn)是沒有的)
    通過這些標(biāo)識定義了每個資源引用的path:即/api/group/version/namespaces/名稱空間/資源類別/對象名稱

(4) spec: 用戶期望的狀態(tài)

(這個字段最重要,因為spec是用來定義目標(biāo)狀態(tài)的‘disired state’,而且資源不通導(dǎo)致spec所嵌套的字段也各不相同,也就因為spec重要且字段不相同,k8s在內(nèi)部自建了一個spec的說明用于查詢)

(5) status:資源現(xiàn)在處于什么樣的狀態(tài)

(當(dāng)前狀態(tài),’current state‘,這個字段有k8s集群來生成和維護(hù),不能自定義,屬于一個只讀字段)

2.編寫一個yaml文件

[root@master ~]# vim web.yaml
kind: Deployment  #資源對象是控制器
apiVersion: extensions/v1beta1   #api的版本
metadata:      #描述kind(資源類型)
  name: web   #定義控制器名稱
spec:
  replicas: 2   #副本數(shù)量
  template:     #模板
    metadata:    
      labels:   #標(biāo)簽
        app: web_server
    spec:
      containers:   #指定容器
      - name: nginx  #容器名稱
        image: nginx   #使用的鏡像

執(zhí)行一下

[root@master ~]# kubectl apply -f web.yaml 

查看一下

[root@master ~]# kubectl get deployments.  -o wide
//查看控制器信息

kubernetes創(chuàng)建資源的方法

[root@master ~]# kubectl get pod -o wide
//查看pod節(jié)點信息

kubernetes創(chuàng)建資源的方法

3.編寫一個service.yaml文件

[root@master ~]# vim web-svc.yaml
kind: Service  #資源對象是副本
apiVersion: v1   #api的版本
metadata:
  name: web-svc
spec:
  selector:     #標(biāo)簽選擇器
    app: web-server  #須和web.yaml的標(biāo)簽一致
  ports:              #端口
  - protocol: TCP
    port: 80            #宿主機(jī)的端口
    targetPort: 80      #容器的端口

使用相同標(biāo)簽和標(biāo)簽選擇器內(nèi)容,使兩個資源對象相互關(guān)聯(lián)。

創(chuàng)建的service資源對象,默認(rèn)的type為ClusterIP,意味著集群內(nèi)任意節(jié)點都可訪問。它的作用是為后端真正服務(wù)的pod提供一個統(tǒng)一的接口。如果想要外網(wǎng)能夠訪問服務(wù),應(yīng)該把type改為NodePort

(1)執(zhí)行一下

[root@master ~]# kubectl apply -f web-svc.yaml 

(2)查看一下

[root@master ~]# kubectl get svc
//查看控制器信息

kubernetes創(chuàng)建資源的方法

(3)訪問一下

[root@master ~]# curl 10.111.193.168

kubernetes創(chuàng)建資源的方法

4.外網(wǎng)能夠訪問服務(wù)

(1)修改web-svc.yaml文件

kind: Service  #資源對象是副本
apiVersion: v1   #api的版本
metadata:
  name: web-svc
spec:
  type: NodePort    #添加 更改網(wǎng)絡(luò)類型
  selector:     #標(biāo)簽選擇器
    app: web_server  #須和web.yaml的標(biāo)簽一致
  ports:              #端口
  - protocol: TCP
    port: 80            #宿主機(jī)的端口
    targetPort: 80      #容器的端口
    nodePort: 30086     #指定群集映射端口,范圍是30000-32767

(2)刷新一下

[root@master ~]#  kubectl apply -f web-svc.yaml 

(3)查看一下

[root@master ~]# kubectl get svc

kubernetes創(chuàng)建資源的方法

(4)瀏覽器測試

kubernetes創(chuàng)建資源的方法

三、小實驗

基于上一篇博客實驗繼續(xù)進(jìn)行

1.使用yaml文件的方式創(chuàng)建一個Deployment資源對象,要求鏡像使用個人私有鏡像v1版本。replicas為3個。

編寫yaml文件

[root@master ~]# vim www.yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: xgp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: www_server
    spec:
      containers:
      - name: web
        image: 192.168.1.21:5000/web:v1   
(1)執(zhí)行一下
[root@master ~]# kubectl apply -f web-svc.yaml 
(2)查看一下
[root@master ~]# kubectl get deployments. -o wide
//查看控制器信息

kubernetes創(chuàng)建資源的方法

[root@master ~]# kubectl get pod -o wide
//查看pod節(jié)點信息

kubernetes創(chuàng)建資源的方法

(3)訪問一下

kubernetes創(chuàng)建資源的方法

2. 使用yaml文件的方式創(chuàng)建一個Service資源對象,要與上述Deployment資源對象關(guān)聯(lián),type類型為: NodePort,端口為:30123.

編寫service文件
[root@master ~]# vim www-svc.yaml
kind: Service
apiVersion: v1
metadata:
  name: www-svc
spec:
  type: NodePort
  selector:
    app: www_server
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
    nodePort: 30123
執(zhí)行一下
[root@master ~]# kubectl apply -f www-svc.yaml 
查看一下
[root@master ~]# kubectl get svc

kubernetes創(chuàng)建資源的方法

訪問一下

kubernetes創(chuàng)建資源的方法

四. 總結(jié)

1. Pod的作用

在k8s中pod是最小的管理單位,在一個pod中通常會包含一個或多個容器。大多數(shù)情況下,一個Pod內(nèi)只有一個Container容器。
在每一個Pod中都有一個特殊的Pause容器和一個或多個業(yè)務(wù)容器,Pause來源于pause-amd64鏡像,Pause容器在Pod中具有非常重要的作用:

  • Pause容器作為Pod容器的根容器,其本地于業(yè)務(wù)容器無關(guān),它的狀態(tài)代表了整個pod的狀態(tài)。
  • Pod里的多個業(yè)務(wù)容器共享Pause容器的IP,每個Pod被分配一個獨立的IP地址,Pod中的每個容器共享網(wǎng)絡(luò)命名空間,包括IP地址和網(wǎng)絡(luò)端口。Pod內(nèi)的容器可以使用localhost相互通信。k8s支持底層網(wǎng)絡(luò)集群內(nèi)任意兩個Pod之間進(jìn)行通信。
  • Pod中的所有容器都可以訪問共享volumes,允許這些容器共享數(shù)據(jù)。volumes還用于Pod中的數(shù)據(jù)持久化,以防其中一個容器需要重新啟動而丟失數(shù)據(jù)。

2. Service的作用

Service 是后端真實服務(wù)的抽象,一個 Service 可以代表多個相同的后端服務(wù)

Service 為 POD 控制器控制的 POD 集群提供一個固定的訪問端點,Service 的工作還依賴于 K8s 中的一個附件,就是 CoreDNS ,它將 Service 地址提供一個域名解析。

NodePort 類型的 service

clusterIP:指定 Service 處于 service 網(wǎng)絡(luò)的哪個 IP,默認(rèn)為動態(tài)分配

NodePort 是在 ClusterIP 類型上增加了一個暴露在了 node 的網(wǎng)絡(luò)命名空間上的一個 nodePort,所以用戶可以從集群外部訪問到集群了,因而用戶的請求流程是:Client -> NodeIP:NodePort -> ClusterIP:ServicePort -> PodIP:ContainerPort。

可以理解為 NodePort 增強(qiáng)了 ClusterIP 的功能,讓客戶端可以在每個集群外部訪問任意一個 nodeip 從而訪問到 clusterIP,再由 clusterIP 進(jìn)行負(fù)載均衡至 POD。

3.流量走向

我們在創(chuàng)建完成一個服務(wù)之后,用戶首先應(yīng)該訪問的是nginx反向代理的ip,然后通過nginx訪問到后端的k8s服務(wù)器(master節(jié)點)的“NodePort暴露IP 及 映射的端口“,通過”master節(jié)點“的“ip+映射端口”訪問到后端k8s節(jié)點的信息。

文章題目:kubernetes創(chuàng)建資源的方法
本文鏈接:http://aaarwkj.com/article26/ijhpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、云服務(wù)器微信公眾號、靜態(tài)網(wǎng)站、網(wǎng)站排名定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

日本区一区二区三啪啪| 91亚洲精品久久久蜜桃网站| 久久精品国产亚洲av波多| 日韩国产精品激情一区| 91嫩草中文字幕在线| 天堂av在线网址观看| 尤物视频在线观看羞羞| 精品成人乱色一区二区| 色综合久久婷婷色综合网| 日韩一区二区三级在线| 亚洲精品色婷婷一区二区| 国产欧美日韩精品av| 亚洲精品乱码精品乱码不卡| 久草视频免费福利资源站| 国产精品日韩一区视频| 久久精品人妻麻豆尤物| 国产一区二区毛多内射| 全部网站免费在线观看等| 亚洲乱码一区二区av| 日本一区二区裸体视频| 中文字幕精品高清中国| 尤物视频官网在线观看| 中文字幕在线日韩av| 成人18禁h黄在线看免费| 婷婷中文字幕在线不卡视频| 九九视频在线观看免费专区| 中文字幕日韩在线欧美一区| 日韩大片一区二区三区在线观看| 国产日本韩国三级在线| 新人妻一区二区在线视频| 国语自产拍在线观看不卡| 久久亚洲天堂av丁香| 亚洲激情欧美日韩精品| 人人看男人的天堂东京| 色哟哟网站之中文字幕| 亚洲精品成人一区不卡| 欧美一级纯黄电影视频| 久久久人妻精品少妇av| 好吊精品视频在线观看| 久久精品亚洲精品国产| 免费看的日韩av毛片|