iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0

上次有提到創建PV與PVC並assign給POD進行資源的儲存與控制,而如果不想每次都自己去進行創建呢?
這時就需要使用Storage class
這邊我們直接使用Rancher公司所開發的Longhorn
透過Rancher安裝時要先到App&Market place 的chart去安裝longhorn

安裝好後左方會出現longhorn 點進去後可以看到longhorn的dashboard

確認可以看到dashboard後同樣到Storage 的Storage class

create一個Storage class

create好了之後 回到deployment
在deployment create的地方左邊可以看到Storage
點了之後安add volume 選擇 create Persistent Volume Claim

並使用我們剛剛建立的Storage account

建立完成之後 回到剛剛的longhorn畫面
在上方volume的地方可以一個volume已經attach到我們的Storage class

而到pv 與 pvc 上則個都可以看到storage class 幫我們建好的pv與pvc

而若要透過已經創建好的PVC去Assign給POD呢

方法同樣是去create deployment

進到create之後選擇左下角的Storage
在add volume裡面選擇 Persistent Volume Claim

填上需要的資料後就能按craete

看到她active後就代表他成功部屬起來了

而API的部分則可透過deployment的API或是透過Yaml 進行post data查看

並使用我們之前做deployment時的API網址

import requests

headers = {"Authorization": "Bearer token-7gqj9:4jp2r7m78b5cxq7wr4krfthr8tvvsjpzw6x9v5jgvfxzflbs8gcflf"}
config = {
    "containers": [{
        "imagePullPolicy": "IfNotPresent",
        "image": "ubuntu/apache2:latest",
        "name": "apache-test",
        "volumeMounts":[{
            "name": "pvc-volume",
            "mountPath": "/mnt/test"
        }]
    }],
    "namespaceId": "test-namespace",
    "name": "pod-pvc-test",
    "labels":{
        "test": "label_test"
    },
    "workloadAnnotations":{
        "field.cattle.io/description": "FOR-PVC-TEST"
    },
    "volumes":[{
        "name": "pvc-volume",
        "persistentVolumeClaim": {
            "persistentVolumeClaimId": "test-namespace:test123456",
            "claimName": "test123456",
            "type": "/v3/project/schemas/persistentVolumeClaimVolumeSource"
        },
        "type": "/v3/project/schemas/volume"
    }],
}

response=requests.post('https://192.168.182.162/v3/projects/c-d8dqp:p-dnzcn/deployments', json=config, headers=headers,verify=False)
print(response.text)
print(response.status_code)

在執行程式時可以看到他回傳我們剛剛輸入的資料 如果沒有看到代表說rancher deploy時並沒有吃到我們的資料

可能的原因有三種 欄位名稱打錯,少中括號[],或是他其實沒有支援
資料欄位是否需要加上中括號可以從yaml 或是透過API查看目前有部屬的服務時查看


在yaml上有減號的代表前一個欄位後要加中括號
在看我們部屬的狀況

有看到我們部屬成功了


上一篇
透過 Rancher 創建PV 與 PVC
下一篇
DAY19 config map 和 secret
系列文
技能亂點的無名打工仔技能記錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言