安装centos7
一、根据这个做一个模板
1、编辑host文件
10.103.129.146 control-1
10.103.129.147 node-1
10.103.129.148 node-2
10.103.129.149 network-1
10.103.129.150 ceph-1
10.103.129.151 ceph-2
10.103.129.152 control-2
10.103.129.153 network-2
解决中文乱码
localectl set-locale LANG=zh_CN
source /etc/locale.conf
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭sellinux
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
setenforce 0
改名
hostnamectl set-hostname xxx
Yum 源修改
修改为阿里云或者中科大的源地址
阿里:baseurl=http://mirrors.cloud.aliyuncs.com/alinux
中科大:baseurl=https://mirrors.ustc.edu.cn/centos
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo
安装epel源
yum install -y epel-release
yum update -y
安装常用软件包
yum install gcc vim wget net-tools ntpdate git -y
配置免密钥
ssh-keygen
分发密钥
ssh-copy-id root@dba-bigdata-node1
修改ssh配置
sed -i 's/#ClientAliveInterval 0/ClientAliveInterval 60/g' /etc/ssh/sshd_config
sed -i 's/#ClientAliveCountMax 3/ClientAliveCountMax 60/g' /etc/ssh/sshd_config
systemctl daemon-reload && systemctl restart sshd && systemctl status sshd
python环境
yum install python2-devel libffi-devel openssl-devel libselinux-python -y
yum install python-pip -y
pip install --upgrade pip==20.3.4
pip install pbr
配置清华的pip源,加快速度
mkdir ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
EOF
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
时间同步
echo "
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp6.aliyun.com iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony
">/etc/chrony.conf
systemctl enable chronyd && systemctl restart chronyd && systemctl status chronyd
chronyc sources -v
yum install ntpdate
ntpdate ntp1.aliyun.com
hwclock -w
设置docker-ce源,并设置为国内的地址
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
删除docker,安装docker-ce
yum remove docker docker-common docker-selinux docker-engine -y
yum install docker-ce -y
配置国内docker推送地址
mkdir /etc/docker/
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
"insecure-registries": []
}
EOF
开启docker共享模式
mkdir -p /etc/systemd/system/docker.service.d
cat >> /etc/systemd/system/docker.service.d/kolla.conf << EOF
[Service]
MountFlags=shared
EOF
systemctl daemon-reload && systemctl enable docker && systemctl restart docker&& systemctl status docker
开启registry,建立本地仓库
docker pull registry
vim /etc/docker/registry/config.yml
version: 0.1
log:
fields:
service: registry
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
Access-Control-Allow-Origin: ['*']
Access-Control-Allow-Methods: ['*']
Access-Control-Max-Age: [1728000]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
docker run -d \
--name registry \
-p 4000:5000 \
-v /etc/docker/registry/config.yml:/etc/docker/registry/config.yml \
registry:latest
docker tag registry 10.103.129.146:4000/registry
docker push 10.103.129.146:4000/registry
docker pull joxit/docker-registry-ui
docker run -p 81:80 \
--name registry-ui \
-e REGISTRY_URL="http://10.103.129.146:4000" \
-d joxit/docker-registry-ui:latest
安装ansible
pip install ansible
pip install kolla-ansible
复制kolla-ansible相关配置文件
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/multinode /etc/kolla/
自动生成各服务的密码文件
kolla-genpwd
database_password: KKdyIqxjgRJ9dCzPkm31pLJM6GwySNNPKlPkCUcI
karbor_keystone_password: vkCzxYPBdjlIKPC62LoBi8Nyp9xFer2VP8MOeMFx
keystone_admin_password: vcYM8HwJf1uMMy92vfi4tk3DpllcqHqDdUJXo3MF
keystone_database_password: VqCqSo8SZLlchIM8NqQwFMMARUSG3c22sNbvLLtu
安装失败
原因是使用了NFS后端存储但却没安装NFS服务
解决办法,只安装LVM后端存储,等之后再安装NFS
以下是一个可用的global.yml
more globals.yml | grep -Ev "^#|^$"
---
kolla_base_distro: "centos"
kolla_install_type: "binary"
openstack_release: "train"
kolla_internal_vip_address: "10.103.129.157"
docker_namespace: "kolla"
network_interface: "ens32"
neutron_external_interface: "ens33"
neutron_plugin_agent: "openvswitch"
enable_ceph: "no"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"
enable_cinder_backend_nfs: "no"
enable_heat: "yes"
enable_neutron_provider_networks: "yes"
安装harbor
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.8.3/harbor-offline-installer-v2.8.3.tgz
pip install ansible==2.9.0
pip install pbr
pip install kolla-ansible==9.3.0 --ignore-installed PyYAML
yum install -y yum-utils device-mapper-persistent-data lvm2
yum -y install nfs-utils
LVM
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb
lvs
cat /etc/kolla/passwords.yml | grep keystone_admin_password
keystone_admin_password: kxj5PPmsCL1omIV7BsaRRUKAvdRhO9ThO8gG2Zqc
pip install -I ipaddress
ansible -i /etc/kolla/multinode all -m ping
kolla-ansible -i /etc/kolla/multinode bootstrap-servers
kolla-ansible -i /etc/kolla/multinode prechecks
kolla-ansible -i /etc/kolla/multinode deploy
kolla-ansible post-deploy
yum install centos-release-openstack-train
yum install python-openstackclient
iscsi服务器端在tgtd容器,使用命令tgt-admin -s 可查看连接的客户端
iscsi客户端在iscsid容器,使用命令iscsiadm -m session 可查看连接的服务器端
查看容器启动命令
docker pull cucker/get_command_4_run_container
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock cucker/get_command_4_run_container tgtd
管理OPENSTACK
导入认证toker
source /etc/kolla/admin-openrc.sh
列出计算节点
nova hypervisor-list
或者
openstack
(openstack) host list
又或者
hypervisor list
列出虚拟机
server list
列出规格
flavor list
查看网络代理
network agent list
列出所有网络
network list
查看网络详细信息
network show 4622d8cd-b2f5-4050-89b7-d9051e16c99e
创建网络
openstack network create <network_name>
network create --share --external --provider-physical-network physnet1 --provider-network-type flat out
network create --share --external --provider-physical-network default --provider-network-type vlan --provider-segment 3000 out_vlan