码迷,mamicode.com
首页 > 其他好文 > 详细

常用环境配置

时间:2019-02-12 21:35:57      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:参数文件   mis   trap   tps   执行   相互   usr   log   boot   

1、常用环境配置


2、配置ip免密登录

ssh-keygen -t rsa -f /root/.ssh/id_rsa -P ""

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.91

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.92

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.93

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.94

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys


3、安装、配置ansible

请参照  https://www.cnblogs.com/effortsing/p/10012070.html


ansible主机组配置必须如下:

说明:主机组必须配置如下,因为python脚本里面ansible命令就是按照下面执行的

cat >/etc/ansible/hosts <<EOF
[all]
192.168.0.91
192.168.0.92
192.168.0.93
192.168.0.94

[k8s]
192.168.0.91
192.168.0.92
192.168.0.93

[test0]
192.168.0.92
192.168.0.93


[test1]
192.168.0.91

[test2]
192.168.0.92

[test3]
192.168.0.93

[test4]
192.168.0.94
EOF



5、修改所有主机名

sed -i $a\test1 /etc/hostname
sed -i $a\hostname=test1 /etc/sysconfig/network && hostnamectl set-hostname test1

ssh 192.168.0.92
sed -i $a\test2 /etc/hostname
sed -i $a\hostname=test2 /etc/sysconfig/network && hostnamectl set-hostname test2
exit

ssh 192.168.0.93
sed -i $a\test3 /etc/hostname
sed -i $a\hostname=test3 /etc/sysconfig/network && hostnamectl set-hostname test3
exit


ssh 192.168.0.94
sed -i $a\test4 /etc/hostname
sed -i $a\hostname=test4 /etc/sysconfig/network && hostnamectl set-hostname test4
exit


说明:不要一次全部复制,一个个复制,否则会出乱

用ansible总是显示格式不正确,所以直接用shell



6、test1上准备hosts文件

cat >/etc/hosts<<EOF
192.168.0.91 test1
192.168.0.92 test2
192.168.0.93 test3
192.168.0.94 test4
EOF


7、下发hosts文件、关掉selinux、防火墙、swap

ansible all -m copy -a src=/etc/hosts dest=/etc/hosts force=yes
ansible all -m shell -a "sed -i ‘s/SELINUX=permissive/SELINUX=disabled/‘ /etc/sysconfig/selinux"
ansible all -m shell -a "sed -i ‘s/enforcing/disabled/g‘ /etc/sysconfig/selinux"
ansible all -m shell -a "swapoff -a"
ansible all -m shell -a "sed -i ‘s/\/dev\/mapper\/centos-swap/#\/dev\/mapper\/centos-swap/g‘ /etc/fstab"
ansible all -m shell -a "systemctl stop firewalld && systemctl disable firewalld"





8hostname -i 验证ip

hostname -i 

[root@test3 ~]# hostname -i 
192.168.0.93


所有节点都要验证

说明:务必使用 hostname -i 验证所有节点包括test4节点,是否能看到ip地址,因为脚本中的ip变量就是使用hostname -i获取的,

之前kubelet报bootstrap认证错误,后来查看kubelet启动参数文件json文件里面的address竟然是0.0.0.0,没有被替换成真实的ip,导致出错

出现0.0.0.0的原因是因为这四个节点中其中有一个节点没有配置hosts解析,d掉一个ip也不行,必须写全,必须所有节点都相互配置hosts解析才不会看到0.0.0.0



9、配置主机名免密登录

分开复制,否则出现

ssh-copy-id -i ~/.ssh/id_rsa.pub root@test1

ssh-copy-id -i ~/.ssh/id_rsa.pub root@test2

ssh-copy-id -i ~/.ssh/id_rsa.pub root@test3

ssh-copy-id -i ~/.ssh/id_rsa.pub root@test4



10、测试用节点名称登录

ssh root@test1

ssh root@test2

ssh root@test3

ssh root@test4

说明:测试是否能用主机名登上对方主机,不要用ip,因为脚本里面是用的主机名,之前做实验就登不上test4节点,导致出错



11、、所有退出xshell查看主机名是否改变(必须)


12、python、pip安装包放到test1节点/usr/local/下

cd /usr/local/

rz

pip-18.0.tar  Python-3.6.5


13、准备pip-python.sh脚本

mkdir -p /script/
cd /script/
rz 
chmod +x /script/pip-python.sh


13、所有节点安装pip、python

ansible all -m copy -a src=/usr/local/pip-18.0.tar.gz dest=/usr/local/pip-18.0.tar.gz force=yes
ansible all -m copy -a src=/usr/local/Python-3.6.5.tgz dest=/usr/local/Python-3.6.5.tgz force=yes
ansible all -m file -a path=/script/ state=directory mode=0777
ansible all -m copy -a src=/script/pip-python.sh dest=/script/pip-python.sh force=yes
ansible all -m shell -a "chmod +x /script/pip-python.sh"
ansible all -m shell -a "sh /script/pip-python.sh"

说明:安装完后,ansible会出现许多错误,但是是绿色的,这个时候登录任意节点,输入python -v 查看python版本如果是3.6.5说明安装成功,就可以ctrl+c停掉脚本了


14、所有主机重启

ansible all -m shell -a "reboot"

说明:如果没有重启,安装完etcd总是无法启动

 

常用环境配置

标签:参数文件   mis   trap   tps   执行   相互   usr   log   boot   

原文地址:https://www.cnblogs.com/effortsing/p/10367025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!