def upgrade_node(upd, with_testing, env, *args, **kwargs):
run('yum --enablerepo=kube,kube-testing clean metadata')
# 00091_update.py
upd.print_log('Upgrading nodes with docker-cleaner.sh')
run("""rm -f /var/lib/kuberdock/scripts/docker-cleaner.sh""")
run("""crontab -l | grep -v "docker-cleaner.sh" | crontab - """)
# 00092_update.py
put('/var/opt/kuberdock/node_network_plugin.sh',
'/usr/libexec/kubernetes/kubelet-plugins/net/exec/kuberdock/kuberdock')
# 00093_update.py
upd.print_log('Use custom log template with rsyslog...')
run("sed -i '/^{0}/d' {1}".format(PARAM1, CONF))
run("sed -i '/^{0}/d' {1}".format(PARAM2, CONF))
run("sed -i '$ a{0} {1}' {2}".format(PARAM1, TEMPLATE, CONF))
run("sed -i '$ a{0};{1}' {2}".format(PARAM2, TEMPLATE_NAME, CONF))
run('systemctl restart rsyslog')
# 00096_update.py
upd.print_log('Disabling swap and backing up fstab to {0}...'.format(FSTAB_BACKUP))
run('swapoff -a')
run('mkdir -p /var/lib/kuberdock/backups')
run('test -f {0} && echo "{0} is already exists" || cp /etc/fstab {0}'.format(FSTAB_BACKUP))
run("sed -r -i '/[[:space:]]+swap[[:space:]]+/d' /etc/fstab")
# 00097_update.py
upd.print_log('Update elasticsearch for logs...')
upd.print_log(put('/var/opt/kuberdock/make_elastic_config.py',
'/var/lib/elasticsearch',
mode=0755))
upd.print_log('Update logging pod...')
ki = User.filter_by(username=KUBERDOCK_INTERNAL_USER).first()
pod_name = get_kuberdock_logs_pod_name(env.host_string)
for pod in PodCollection(ki).get(as_json=False):
if pod['name'] == pod_name:
break
else:
return
PodCollection(ki).delete(pod['id'], force=True)
logs_config = get_kuberdock_logs_config(
env.host_string,
pod_name,
pod['kube_type'],
pod['containers'][0]['kubes'],
pod['containers'][1]['kubes'],
MASTER_IP,
ki.get_token(),
)
check_internal_pod_data(logs_config, user=ki)
logs_pod = PodCollection(ki).add(logs_config, skip_check=True)
run('docker pull kuberdock/elasticsearch:2.2')
run('docker pull kuberdock/fluentd:1.5')
PodCollection(ki).update(logs_pod['id'], {'command': 'start'})
评论列表
文章目录