日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java replica set_kubernetes ReplicaSet的简单使用

發布時間:2024/3/7 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java replica set_kubernetes ReplicaSet的简单使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建ReplicaSet

ReplicaSet的配置如下

apiVersion: apps/v1

kind: ReplicaSet

metadata:

name: myapp

namespace: default

spec:

replicas: 2

selector:

matchLabels:

app: myapp

release: canary

template:

metadata:

name: myapp-pod

labels:

app: myapp

release: canary

environment: qa

spec:

containers:

- name: myapp-container

image: ikubernetes/myapp:v1

ports:

- name: http

containerPort: 80

在這個ReplicaSet中,我們設置了兩個label,app=myapp, release=canary , 創建rs后,查看

[root@master manifests]# kubectl create -f rs-demo.yaml --dry-run

replicaset.apps/myapp created (dry run)

[root@master manifests]# kubectl create -f rs-demo.yaml

replicaset.apps/myapp created

[root@master manifests]# kubectl get pods

NAME READY STATUS RESTARTS AGE

myapp-bj795 1/1 Running 0 18s

myapp-blmx8 1/1 Running 0 18s

[root@master manifests]# vim rs-demo.yaml

[root@master manifests]# kubectl get pods --show-labels

NAME READY STATUS RESTARTS AGE LABELS

myapp-b8sb5 1/1 Running 0 5m app=myapp,environment=qa,release=canary

myapp-blmx8 1/1 Running 0 8m app=myapp,environment=qa,release=canary

[root@master manifests]# kubectl get rs

NAME DESIRED CURRENT READY AGE

myapp 2 2 2 39s

實驗

ReplicaSet會通過label app=myapp, release=canary 來篩選Pod,并且設定的符合該label的Pod副本應該為2個。

pod-demo.yaml文件的內容如下:

apiVersion: v1

kind: Pod

metadata:

name: pod-demo

namespace: default

labels:

app: myapp

tier: frontend

spec:

containers:

- name: myapp

image: ikubernetes/myapp:v1

ports:

- name: http

containerPort: 80

- name: https

containerPort: 443

- name: busybox

image: busybox:latest

#ImagePullPolicy: IfNotPresent

command:

- "/bin/sh"

- "-c"

- "sleep 3600"

此時,我們創建另一個pod

[root@master manifests]# kubectl create -f pod-demo.yaml

pod/pod-demo created

[root@master manifests]# kubectl get pods --show-labels

NAME READY STATUS RESTARTS AGE LABELS

myapp-b8sb5 1/1 Running 0 5m app=myapp,environment=qa,release=canary

myapp-blmx8 1/1 Running 0 7m app=myapp,environment=qa,release=canary

pod-demo 2/2 Running 0 11s app=myapp,tier=frontend

可以看到,pod-demo的label為 app=myapp,tier=frontend ,我們嘗試給pod-demo添加一個label release=canary ,看下會出現什么效果。

[root@master manifests]# kubectl label pods pod-demo release=canary

pod/pod-demo labeled

[root@master manifests]# kubectl get pods --show-labels

NAME READY STATUS RESTARTS AGE LABELS

myapp-b8sb5 1/1 Running 0 5m app=myapp,environment=qa,release=canary

myapp-blmx8 1/1 Running 0 8m app=myapp,environment=qa,release=canary

pod-demo 2/2 Terminating 0 34s app=myapp,release=canary,tier=frontend

可以發現: pod-demo的狀態已經為 Terminating。 說明ReplicaSet通過標簽選擇器獲取到了三個副本,然后預期的副本數被設定為2,它隨機殺掉了一個。

應該是隨機的, 不過,我測試了幾次,都是把新建的pod-demo殺掉了。

總結

以上是生活随笔為你收集整理的java replica set_kubernetes ReplicaSet的简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。