python配置主机名

本文介绍了一个Python脚本,用于自动化配置Kubernetes集群的主机名和hosts文件,包括修改主机名、更新hosts文件、禁用防火墙、调整SELinux设置等,以实现集群节点间的正确解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、准备hosts模板

mkdir -p /k8s/profile

cat >/k8s/profile/hosts<<EOF
192.168.0.91 test1
192.168.0.92 test2
192.168.0.93 test3
EOF


2、编写脚本

cat > hostname.py <<EOF 
#!/usr/bin/python
#-*- codinig: UTF-8 -*-
from __future__ import print_function
import os
import shutil
import tarfile
import subprocess

def hostname_format():
    subprocess.call(["hostnamectl set-hostname test1"], shell=True)
    #配置hosts解析
    ms=open("/k8s/profile/hosts")
    for line in ms.readlines():
        with open('/etc/hosts','a+') as mon:
            mon.write(line)
    ms.close()
    subprocess.call(["sed -i '$a\hostname=test1' /etc/hostname"], shell=True)
    subprocess.call(["sed -i '$a\hostname=test1' /etc/sysconfig/network"], shell=True)
    subprocess.call(["sed -i 's/enforcing/disabled/g' /etc/selinux/config"], shell=True)
    subprocess.call(["sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux"], shell=True)
    subprocess.call(["sed -i 's/\/dev\/mapper\/centos-swap/#\/dev\/mapper\/centos-swap/g' /etc/fstab"], shell=True)
    subprocess.call(["systemctl stop firewalld && systemctl disable firewalld"], shell=True)
    subprocess.call(["reboot"], shell=True)

def func_list():
    hostname_format()

def main():
    func_list()
if __name__ == '__main__':
    main()
EOF
 
 

 

转载于:https://www.cnblogs.com/effortsing/p/10338651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值