面试被问了几个问题。
1.mount怎么用
2.ansible怎么用,有哪些常用的模块
3.python 如何解析 json串
import json
# 使用 json.loads() 从字符串中读取 JSON 数据
json_str = '{"name": "Kyrie", "age": 31}'
data = json.loads(json_str)
4.问了openstack token 的restful接口怎么请求的。
192.168.5.5:5000/v3/auth/tokens
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "ZH",
"domain": {
"name": "Default"
},
"password": "MM"
}
}
}
}
}
忘了哪个是了,反正有一个是
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"domain": {
"id": "default"
},
"name": "ZH",
"password": "MM"
}
}
},
"scope": {
"project": {
"domain": {
"id": "default"
},
"name": "default"
}
}
}
}
shell层获取方法
source /etc/keystone/admin-openrc.sh && openstack token issue
获取单个实例
http://192.168.5.20:8774/v2.1/servers
{
"server" : {
"accessIPv4": "172.20.200.150",
"name": "20211222Test",
"imageRef": "91908526-9033-4020-a140-57b52975109d",
"flavorRef": "1d03170f-9991-4819-a9e7-25b858aaa610",
"networks": "93c79209-136d-4a83-abbd-e6cc11514371"
}
}
获取VNC
http://192.168.5.20:8774/v2.1/b8595e4791494a969909dabb198b566f/servers/d7186412-dbfc-4851-8105-2bdab819b8a4/remote-consoles
<第一个ID,通过openstack project获取>
<第二个ID,通过openstack server list 获取>
5.openstack 如何通过 IP 获取实例所在的node。
6.数据库里的哪个表查看实例。
7.shell 实现检测 192.168/16 段哪些 IP 目前被占用的。
这里涉及的点比较多,比如IP太多,检测太慢,异步抛出的进程太多容不容易卡死。
要不要异步,异步池设置多少。
大圈套小圈,防止时间太久
ping -c 2 ${IP}
IP=192.168
for i in $(seq 0 255);do
bash ./1t.sh ${i} &
done