예제 #1
0
def kubeneter():
    logger.error('进入k8s升级方法')
    try:
        os.chdir('/opt')
        os.system('tar zxvf ./kubernet.tar.gz ')
        os.system(
            'find ./kubernetes -name kube-apiserver -exec cp {} /opt/kube/bin \\;'
        )
        os.system(
            'find ./kubernetes -name kube-controller-manager -exec cp {} /opt/kube/bin \\;'
        )
        os.system(
            'find ./kubernetes -name kube-scheduler -exec cp {} /opt/kube/bin \\;'
        )
        os.system(
            'find ./kubernetes -name kubectl -exec cp {} /opt/kube/bin \\;')
        os.system(
            'find ./kubernetes -name kubelet -exec cp {} /opt/kube/bin \\;')
        os.system(
            'find ./kubernetes -name kube-proxy -exec cp {} /opt/kube/bin \\;')
        logger.error('k8s文件解压完成')
    except Exception as e:
        logger.error(e)
    extra_vars = {}
    extra_vars['hostname'] = 'kubelet'
    extra_vars['base_dir'] = filedir
    playbook_action(filedir + '/update_kube.yml', extra_vars)
    logger.error('kubelet更新完成')
예제 #2
0
def etcd():
    # try:
    #     os.chdir('/opt')
    #     os.system('tar zxvf ./etc.tar.gz')
    #     os.system('find ./etcd* -name etcdctl -exec cp {} /opt/kube/bin \\;')
    #     os.system('find ./etcd* -name etcd -exec cp {} /opt/kube/bin \\;')
    #     logger.error('etcd文件解压完成')
    # except Exception as e:
    #     logger.error(e)
    extra_vars = {}
    extra_vars['hostname'] = 'etcd'
    playbook_action(filedir + '/initsys.yml', extra_vars)
    logger.error('etcd初始化完成')

    extra_vars = {}
    extra_vars['base_dir'] = '/opt/kube'
    playbook_action(filedir + '/etcd.yml', extra_vars)
    logger.error('etcd安装完成')
예제 #3
0
def docker():
    try:
        os.chdir('/opt')
        os.system(
            'tar zxvf ./docker.tgz --strip-components=1 -C /opt/kube/bin')
        logger.error('docker文件解压完成')
    except Exception as e:
        logger.error(e)

    extra_vars = {}
    extra_vars['hostname'] = 'docker'
    playbook_action(filedir + '/initsys.yml', extra_vars)
    logger.error('docker初始化完成')

    extra_vars = {}
    extra_vars['hostname'] = 'docker'
    playbook_action(filedir + '/docker.yml', extra_vars)
    logger.error('docker安装完成')
예제 #4
0
def add_kubnode(ip, hostname, username, password, port, addhost):
    # 添加配置到/etc/ansibe/hosts
    extra_vars = {}
    extra_vars['ip'] = ip
    extra_vars['hostname'] = 'localhost'
    extra_vars['node_name'] = hostname
    extra_vars['username'] = username
    extra_vars['password'] = password
    extra_vars['addhost'] = addhost
    extra_vars['port'] = port
    a = playbook_action(filedir + '/addhost_node.yml', extra_vars)
    if not a['failed']:
        logger.error('hosts节点添加完成')
    else:
        logger.error('hosts节点添加失败')
        logger.error(a['failed'])
        return "1"
    # master节点读取token相关数据
    # 通过账号密码添加用户需要关闭ssh host认证
    # vi /etc/ansible/ansible.cfg
    # host_key_checking = False
    logger.error('====1============')
    extra_vars = {}
    a = playbook_action(filedir + '/kube-node-token.yml', extra_vars)
    if not a['failed']:
        logger.error('获取token成功')
    else:
        logger.error('获取token失败')
        logger.error(a['failed'])
        return "1"
    # 安装kube_node
    logger.error('=========2=======')
    extra_vars = {}
    extra_vars['hostname'] = ip
    extra_vars['addhost'] = addhost
    a = playbook_action(filedir + '/add_node.yml', extra_vars)
    if not a['failed']:
        logger.error('kube-node添加完成')
    else:
        logger.error('kube-node添加失败')
        logger.error(a['failed'])
        return "1"
예제 #5
0
def kube_node():
    extra_vars = {}
    extra_vars['hostname'] = 'kube-node'
    extra_vars['base_dir'] = filedir
    a = playbook_action(filedir + '/kube-node.yml', extra_vars)
    if not a['failed']:
        logger.error('kube-node安装完成')
    else:
        logger.error('kube-node安装失败')
        logger.error(a['failed'])
        return "1"
예제 #6
0
def docker():
    try:
        extra_vars = {}
        extra_vars['hostname'] = 'docker'
        playbook_action(filedir + '/initsys.yml', extra_vars)
        logger.error('docker初始化完成')

        extra_vars = {}
        extra_vars['hostname'] = 'docker'
        a = playbook_action(filedir + '/docker.yml', extra_vars)
        logger.error(a['failed'])
        if not a['failed']:
            logger.error('docker安装完成')
        else:
            logger.error('docker安装失败')
            logger.error(a['failed'])
            return "1"
    except Exception as e:
        logger.error(e)
        return "1"
예제 #7
0
def add_cephsc():
    extra_vars = {}
    extra_vars['hostname'] = 'ceph'
    extra_vars['base_dir'] = filedir
    a = playbook_action(filedir + '/add_cephsc.yml', extra_vars)
    if not a['failed']:
        logger.error('add_cephsc安装完成')
    else:
        logger.error('add_cephsc安装失败')
        logger.error(a['failed'])
        return "1"
예제 #8
0
def prometheus_operator():
    extra_vars = {}
    extra_vars['hostname'] = 'kube-master'
    extra_vars['base_dir'] = filedir
    a = playbook_action(filedir + '/prometheus-operator.yml', extra_vars)
    if not a['failed']:
        logger.error('prometheus-operator安装完成')
    else:
        logger.error('prometheus-operator安装失败')
        logger.error(a['failed'])
        return "1"
예제 #9
0
def efk():
    extra_vars = {}
    extra_vars['hostname'] = 'kube-master'
    extra_vars['base_dir'] = filedir
    a = playbook_action(filedir + '/efk.yml', extra_vars)
    if not a['failed']:
        logger.error('efk安装完成')
    else:
        logger.error('efk安装失败')
        logger.error(a['failed'])
        return "1"
예제 #10
0
def traefik_ingress():
    extra_vars = {}
    extra_vars['hostname'] = 'kube-master'
    extra_vars['base_dir'] = filedir
    a = playbook_action(filedir + '/traefik-ingress.yml', extra_vars)
    if not a['failed']:
        logger.error('traefik-ingress安装完成')
    else:
        logger.error('traefik-ingress安装失败')
        logger.error(a['failed'])
        return "1"
예제 #11
0
def kube_master_join():
    try:
        extra_vars = {}
        extra_vars['hostname'] = 'kube-master'
        extra_vars['base_dir'] = filedir
        a = playbook_action(filedir + '/kube-masterjoin.yml', extra_vars)
        if not a['failed']:
            logger.error('kube-master节点添加完成')
        else:
            logger.error('kube-master节点添加失败')
            logger.error(a['failed'])
            return "1"
    except Exception as e:
        logger.error(e)
        return "1"
예제 #12
0
def ca():
    logger.error('进入证书方法')
    extra_vars = {}
    extra_vars['hostname'] = 'localhost'
    playbook_action(filedir + '/ca.yml', extra_vars)
    logger.error('ca证书生成完毕')