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

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)-創(chuàng)新互聯(lián)

命令行資源創(chuàng)建的基本操作命令

//創(chuàng)建一個deployment資源對象。(pod控制器)
[root@master ~]# kubectl  run test --image=httpd --port=80 --replicas=2 
//刪除控制器:
[root@master ~]# kubectl  delete deployments. test
//刪除所有pod:
[root@master ~]# kubectl  delete deployments. --all 
//查看deployment資源對象 
[root@master ~]# kubectl get deployments.
//查看pod運(yùn)行在哪個節(jié)點之上
[root@master ~]# kubectl get pod -o wide
//查看service映射出來的資源對象
[root@master ~]# kubectl get svc
//查看一個資源(service)的詳細(xì)信息。
[root@master ~]# kubectl  describe svc test 
//刪除資源對象:
[root@master ~]#kubectl delete services test
//查看deployment資源的詳細(xì)信息:
[root@master ~]# kubectl  describe  deployments. test-web
//查看一個pod的詳細(xì)信息:
[root@master ~]# kubectl  describe  pod test-web-8697566669-52tq
//查看replicas的詳細(xì)信息
[root@master ~]# kubectl get replicasets.
replicas:和controller manager都是一種控制器
//編輯一個資源對象(servie,pod,namespace都可以進(jìn)行編輯):
[root@master ~]# kubectl  edit  deployments. test-web  

//把輸出json格式的信息導(dǎo)入(轉(zhuǎn)為)yaml格式的文本中:(反之也是相同的)
[root@master ~]#  kubectl  get  deployments. test-web -o json > test2.yaml

服務(wù)的擴(kuò)容與縮容

方法一:命令行的方式:

錫林浩特ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
1)創(chuàng)建一個deployment的資源對象:
[root@master ~]# kubectl run test --image=httpd --port=80 --replicas=2 
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/test created
//回車后會有正常提示(如上所示),提示這種deployment控制器會在將來的版本中移除,以后會有pod來代替。
[root@master ~]# kubectl  get deployments.  -o wide  
NAME   READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES   SELECTOR
test   2/2     2            2           68s   test         httpd    run=test

2)進(jìn)行擴(kuò)容操作

//將資源對象的副本擴(kuò)容為4個:
[root@master ~]# kubectl scale deployment test --replicas=4
deployment.extensions/test scaled

//查看是否擴(kuò)容成功:

[root@master ~]# kubectl  get deployments. -o wide
NAME   READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS   IMAGES   SELECTOR
test   4/4     4            4           3m40s   test         httpd    run=test

3)進(jìn)行縮容操作(跟擴(kuò)容相同,減少即可)

//將資源對象的副本縮容為3個:
[root@master ~]# kubectl  scale deployment  test --replicas=3
deployment.extensions/test scaled
[root@master ~]# kubectl  get deployments. -o wide
NAME   READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS   IMAGES   SELECTOR
test   3/3     3            3           7m14s   test         httpd    run=test

方法二:也可以利用edit編輯器:

//將該deployment的副本數(shù)量擴(kuò)容為4個:
[root@master ~]# kubectl  edit deployments. test

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)

//再次查看副本數(shù)量,已經(jīng)擴(kuò)容成功:
[root@master ~]# kubectl  get deployments. -o wide
NAME   READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES   SELECTOR
test   4/4     4            4           11m   test         httpd    run=test

服務(wù)的更新與回滾

1)搭建registry私有倉庫,上傳自定義鏡像:
搭建私有倉庫過程略,可以參考之前的博文點擊鏈接。

//鏡像重命名:
[root@master ~]# docker tag nginx:latest 172.16.1.30:5000/nginx:v1.0
[root@master ~]# docker tag nginx:latest 172.16.1.30:5000/nginx:v2.0
[root@master ~]# docker tag nginx:latest 172.16.1.30:5000/nginx:v3.0
//上傳鏡像:
[root@master ~]# docker push 172.16.1.30:5000/nginx:v1.0 
[root@master ~]# docker push 172.16.1.30:5000/nginx:v2.0 
[root@master ~]# docker push 172.16.1.30:5000/nginx:v3.0

2)創(chuàng)建一個deployment:
[root@master ~]# kubectl run mynginx --image=172.16.1.30:5000/nginx:v1.0 --replicas=4

//查看鏡像版本信息:
[root@master ~]# kubectl  get deployments. -o wide
NAME      READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS   IMAGES                        SELECTOR
mynginx   4/4     4            4           4m51s   mynginx      172.16.1.30:5000/nginx:v1.0   run=mynginx

##如果pod沒有正常運(yùn)行,排錯思路:

1,通過describe命令進(jìn)行查看詳細(xì)信息。
[root@master ~]# kubectl  describe pod bdqn-web-7ff466c8f5-p6wcw
2,通過查看kubelet的日志信息。
 [root@master ~]# cat /var/log/messages | grep kubelet

更新服務(wù)的鏡像版本

//更新鏡像為nginx:v2.0
[root@master ~]# kubectl set image deployment mynginx mynginx=172.16.1.30:5000/nginx:v2.0
deployment.extensions/mynginx image updated
//查看是否更新成功:
[root@master ~]# kubectl  get deployments. -o wide
NAME      READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                        SELECTOR
mynginx   4/4     4            4           11m   mynginx      172.16.1.30:5000/nginx:v2.0   run=mynginx

可以看到鏡像已經(jīng)更新成功。

##############方法二:同樣可以通過edit編輯器進(jìn)行修改:

//將鏡像版本更新為nginx:v3.0
[root@master ~]# kubectl  edit  deployments. mynginx

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)

//保存退出后(與vim編輯器操作相同),查看鏡像版本:
[root@master ~]# kubectl  get deployments. -o wide
NAME      READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                        SELECTOR
mynginx   4/4     4            4           16m   mynginx      172.16.1.30:5000/nginx:v3.0   run=mynginx

進(jìn)行回滾鏡像操作

//執(zhí)行回滾操作:
[root@master ~]# kubectl  rollout  undo deployment  mynginx 
deployment.extensions/mynginx rolled back
[root@master ~]# kubectl  get deployments. -o wide  #可以看到已經(jīng)回滾成功
NAME      READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                        SELECTOR
mynginx   4/4     4            4           18m   mynginx      172.16.1.30:5000/nginx:v2.0   run=mynginx
//二次執(zhí)行回滾操作:
[root@master ~]# kubectl  rollout  undo deployment  mynginx 
deployment.extensions/mynginx rolled back
//查看回滾后的鏡像版本:
[root@master ~]# kubectl  get deployments. -o wide
NAME      READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                        SELECTOR
mynginx   4/4     4            4           20m   mynginx      172.16.1.30:5000/nginx:v3.0   run=mynginx

可以很清楚的看到,k8s默認(rèn)的回滾操作跟docker swarm集群的是一樣,只在前后兩個版本之間進(jìn)行回滾。

資源的傳創(chuàng)建方式之資源清單(yaml)

創(chuàng)建資源清單必須要知道并且記住以下幾個必寫的一級字段:

  • apiVersion: api的版本
  • kind:要創(chuàng)建的資源對象的類型
  • metadata:元數(shù)據(jù)。(描述資源對象的基本信息)其中name字段是必寫字段。
  • spec:描述用戶期望的狀態(tài)。container和image字段是必寫字段,container------>image.
  • status: 現(xiàn)在pod所處的狀態(tài)。(隨著pod容器的運(yùn)行自動生成的)
1,查看api所有的版本:(每個版本都有各自的功能,當(dāng)然你還可以自己添加版本)
[root@master ~]# kubectl  api-versions

admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
apps/v1beta1
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
networking.k8s.io/v1beta1
node.k8s.io/v1beta1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

2,幫助你編寫yaml文件的工具(explain):
一定要用熟悉,非常有用。

//比如創(chuàng)建pod,需要用到那些字段以及對應(yīng)的版本和提示:
[root@master ~]# kubectl  explain  pod

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)

//查看幫助deployment的metadata字段是怎樣寫的:
[root@master ~]# kubectl  explain  deploy.metadata  #部分資源對象名可以簡寫,也可以補(bǔ)全

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)
它會給予一些相對應(yīng)的子字段,比如name名稱,namespace名稱空間等。
3,接下來我們編寫一個簡單的部署nginx的yaml文件
提示:編寫yaml文件時一定要注意格式(縮進(jìn))
[root@master yaml]# vim nginx.yaml #注意,要以.yaml結(jié)尾

kind: Deployment        #類型為deployment
apiVersion: extensions/v1beta1   #對應(yīng)的版本為v1beta1
metadata:
  name: nginx-deploy     #定義該資源對象的名稱
spec:
  replicas: 2                   #副本數(shù)量為2
  template:                  #定義模板
    metadata:              
      labels:                  #在模板中定義標(biāo)簽,標(biāo)簽的作用用于后面連接service使用
        app: web-server     
    spec:
      containers:
      - name: nginx        #定義pod名稱(自定義)
        image: nginx     #指定鏡像
//運(yùn)行yaml文件:(有以下兩種方法)
[root@master yaml]# kubectl apply -f  nginx.yaml    #推薦使用該種方法
deployment.extensions/nginx-deploy created

或者:
[root@master yaml]# kubectl create nginx.yaml

//查看pod是否運(yùn)行成功:
[root@master yaml]# kubectl  get pod 
NAME                            READY   STATUS    RESTARTS   AGE
nginx-deploy-56558c8dc7-pjdkk   1/1     Running   0          117s
nginx-deploy-56558c8dc7-rxbpb   1/1     Running   0          117s
//如果需要通過yaml文件將資源對象進(jìn)行刪除:
[root@master yaml]# kubectl  delete -f  nginx.yaml 
deployment.extensions "nginx-deploy" deleted

該種方法也是常用的,不用自己手動去一個一個的將pod刪除。

4,創(chuàng)建一個service的資源對象,用于關(guān)聯(lián)上述的deployment
service的作用主要用于提供一個訪問服務(wù)的統(tǒng)一接口。k8s集群維護(hù)service和endpoint的映射關(guān)系。

//編寫service的yaml文件:
[root@master yaml]# vim nginx-svc.yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  type: NodePort  #定義service的類型為nodeport
  selector:          #標(biāo)簽選擇器,用于關(guān)聯(lián)deployment
    app: web-server     #注意,該標(biāo)簽必須要deployment的標(biāo)簽一致,不然無法與deployment進(jìn)行關(guān)聯(lián)    
  ports:         #定義端口
  - protocol: TCP     #協(xié)議為TCP
    port: 8080            #定義cluster ip對應(yīng)的端口
    targetPort: 80    #定義容器內(nèi)的端口
        nodePort: 30000    #暴露給外網(wǎng)的端口

//執(zhí)行yaml文件:
[root@master yaml]# kubectl apply -f nginx-svc.yaml
service/nginx-svc created

//查看service的信息:
k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)

解釋:
service默認(rèn)為Cluster ip的類型。Cluster ip僅支持集群內(nèi)部的訪問,且集群內(nèi)部每一個節(jié)點都可以通過該ip地址相互訪問。
而nodeport的類型是暴露給外網(wǎng)的端口,外網(wǎng)可以通過宿主機(jī)的ip地址+映射的端口來進(jìn)行訪問。

//測試訪問nginx頁面:
k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)

設(shè)置master節(jié)點參加工作:

我們k8s架構(gòu)中知道,集群中的master節(jié)點默認(rèn)是不參加工作的,如果需要master參加工作,該怎么做呢?

1)執(zhí)行以下命令設(shè)置處于工作狀態(tài):
[root@master yaml]# kubectl  taint node master node-role.kubernetes.io/master-
node/master untainted
2)修改上面的yaml文件,將副本數(shù)量改為3個。
[root@master yaml]# vim nginx.yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: nginx-deploy
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web-server
    spec:
      containers:
      - name: nginx
        image: nginx
3)重新執(zhí)行yaml文件:
[root@master yaml]# kubectl  apply -f  nginx.yaml 
deployment.extensions/nginx-deploy configured
4)驗證pod會分配給master:(默認(rèn)是不會分配給master的)
[root@master yaml]# kubectl  get pod -o wide

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)
可以看到會均勻的分配給集群中每個節(jié)點,以實現(xiàn)負(fù)載均衡。

恢復(fù)master節(jié)點(不參加工作)

[root@master yaml]# kubectl  taint node master node-role.kubernetes.io/master="":NoSchedule
node/master tainted
//重新運(yùn)行yaml文件,查看pod是否還會分配給master
[root@master yaml]# kubectl  delete -f  nginx.yaml 
deployment.extensions "nginx-deploy" deleted
[root@master yaml]# kubectl apply -f  nginx.yaml 
deployment.extensions/nginx-deploy created

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)

注意:我這上面的pod,已經(jīng)是新的pod了,跟docker swarm一樣,原來分配在master上的pod還會存在,只是后生成的pod會隨機(jī)分配給其他節(jié)點。

指定pod運(yùn)行的節(jié)點位置

我們知道pod是通過kube-proxy組件隨機(jī)分配給節(jié)點的,但如果要指定pod運(yùn)行在哪個節(jié)點上,該怎么做?
跟docker swarm一樣,我們可以通過給節(jié)點打標(biāo)簽的方式來實現(xiàn)。

1)//定義標(biāo)簽:
[root@master yaml]# kubectl  label nodes node01 test=123  #標(biāo)簽自定義
node/node01 labeled
//如果要刪除標(biāo)簽:
[root@master yaml]# kubectl  label nodes node01 disktype-
2)//驗證節(jié)點標(biāo)簽,并顯示它們的標(biāo)簽狀態(tài):
[root@master yaml]# kubectl  get nodes  --show-labels

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)
我們查看node01,可以查看到剛剛定義的標(biāo)簽。

3)//修改yaml文件:
[root@master yaml]# vim nginx.yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: nginx-deploy
spec:
  replicas: 6
  template:
    metadata:
      labels:
        app: web-server
    spec:
      containers:
      - name: nginx
        image: nginx
      nodeSelector:     #添加節(jié)點選擇器
        test: '123'        #指定剛剛自定義的標(biāo)簽,如果有數(shù)字則需要用單引或者雙引號括起來
//重新執(zhí)行yaml文件:
[root@master yaml]# kubectl apply -f  nginx.yaml 
deployment.extensions/nginx-deploy configured
4)//查看pod是否會運(yùn)行在指定的node01上:
[root@master yaml]# kubectl  get pod -o wide

k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)
注意:會將原來運(yùn)行在該節(jié)點上的pod進(jìn)行替換。

———————— 本文至此結(jié)束,感謝閱讀 ————————

另外有需要云服務(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ù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:k8s資源的創(chuàng)建方式之命令行&資源清單(yaml)-創(chuàng)新互聯(lián)
文章分享:http://aaarwkj.com/article16/dohggg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站排名、域名注冊、小程序開發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(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)

外貿(mào)網(wǎng)站建設(shè)
国产精品97久久97久久久久| 国内自拍一区二区三区| 日韩精品一区伦理视频| 国产黄片大秀在线观看| 欧美日韩人美精品一区在线| 四虎精品在线免费视频| 免费啪啪视频一区二区| 白白色最新福利在线视频观看| 粉嫩国产av一区二区三区| 国产免费一级av剧情| 国产天堂亚洲国产碰碰| 日本人妻久久中文字幕| 国产传媒免费在线播放| 中文字幕av日韩在线| 视频在线观看亚洲午夜福利| 在线看日本一区二区| 国产二区三区在线播放| 亚洲欧美极品一区色婷婷| 精品视频一区二区三区在线观看| 国产欧美日韩亚洲精品区| 91高清视频在线免费观看| 亚洲国产精品性色av| 国产美女自拍视频一区| 国产熟乱老女人露脸视频| 国产一级黄色片免费看| 黄片欧美精品在线观看| 草草在线成年免费视频| 亚洲综合五月天色婷婷| 日韩亚洲欧美成人一区| 欧美日韩激情在线一区| 日韩精品 在线一区二区| 国产成人原创免费观看| 亚洲中文字幕精品一区二区三区| 麻豆印象传媒在线观看| 人妻有码av中文字幕久久| 国产一区二区黑丝美女| 亚洲综合国产中文字幕| 色综合色综合色综合色综合| 婷婷网色偷偷亚洲男人| 日本人的黄色录像视频| 亚洲欧美日韩制服另类|