0%

Python 脚本如下:

import os

def get_images():
    file = open("docker-compose.yml") 
    images = []
    for line in file.readlines():  
         line = line.strip('\n')  
         if "image" in line:
             image = line.replace("image:","").strip()
             images.append(image)
    return images

def pull_images():
    images = get_images()
    for image in images:
        pull_commond = "docker pull " + image
        print(pull_commond)
        os.system(pull_commond)

def save_imaegs():
    images = get_images()
    for image in images:
        sub_name = image.split("/")[-1].replace(":","_") + ".tar"
        if os.path.exists(sub_name):
            print(sub_name,'is exists!')
        else:
            save_commond = "docker save " + image + " -o " + sub_name
            print(save_commond)
            os.system(save_commond)

def load_images():
    files = os.listdir(".")
    for file in files:
        if ".tar" in file:
            print(file)
            load_commond = "docker load -i " + file
            print(load_commond)
            os.system(load_commond)

def start_deal(num):
    if num == 1:
        pull_images()
    elif num == 2:
        save_imaegs()
    elif num == 3:
        load_images()

if __name__=="__main__":
    start_deal(1)
    

出现问题

通过kubernetes部署了tomcat+mysql服务,设置tomcat多副本时发现首页登陆无法跳转的情况,经排查是由于session问题引起的。

kubernetes 上可以多实例(pod)高负载运行,但是如果应用如果没有做session 同步的话,就会导致 session 不一致。
kubernetes 有session 亲和性的功能(每个client每次访问,都会匹配到对应session的后端)。

阅读全文 »

主要是针对ceph的 rbd 创建的pv进行扩容操作。

StorageClass 配置自动扩容

需要配置storage class,开启允许扩容选项 allowVolumeExpansion

apiVersion: storage.k8s.io/v1
kind: StorageClass
allowVolumeExpansion: true
provisioner: ceph.com/rbd

任何从这一 StorageClass 中创建的 PVC 都能够通过编辑的方式来申请更多空间。Kubernetes 会处理 Storage 字段的变更,据此申请空间,触发卷的扩容。

阅读全文 »