Chef(bootstrap, knife ssh) - chef-server 가 target node 의 default gateway 측에 없는 경우
4725 단어 chef
default gateway 측의 ip address가 선택됩니다.
이 상태에서는 Workstation에서
knife ssh
할 수 없다. 무슨 일이야. . .예
Workstation에서 Bootstrap
[workstation]$ knife bootstrap 10.10.0.10 -x root -N node01 -E lab --sudo
~~ 省略 ~~
Connecting to 10.10.0.10
10.10.0.10 Starting first Chef Client run...
10.10.0.10 Starting Chef Client, version 12.5.1
10.10.0.10 Creating a new client identity for node01 using the validator key.
10.10.0.10 resolving cookbooks for run list: []
10.10.0.10 Synchronizing Cookbooks:
10.10.0.10 Compiling Cookbooks...
10.10.0.10 [yyyy-mm-ddThh:mm:ss+00:00] WARN: Node node01 has an empty run list.
10.10.0.10 Converging 0 resources
10.10.0.10
10.10.0.10 Running handlers:
10.10.0.10 Running handlers complete
10.10.0.10 Chef Client finished, 0/0 resources updated in 13 seconds
Chef Server에 등록된 노드의 정보 확인
Default Gateway 측의 ip address 등록
[workstation]$ knife node show node01
Node Name: node01
Environment: lab
FQDN: node01
IP: 192.168.0.10
Run List:
Roles:
Recipes:
Platform: centos 7.0
Tags:
Workstation에서 ssh 할 수 없음
[workstation]$ knife ssh 'name:node01' hostname -x root
could not access
해결 방법
1. knife ssh에서 attribute 지정
Default의 ipaddress가 아니라,
[node]# ohai | grep ipaddress
"ipaddress": "192.168.0.10",
다른 ip address를 지정하고 싶습니다.
[workstation]$ knife ssh 'name:node01' hostname -x root -a <ATTRIBUTE>
예를 들어,이 attribute를 지정하고 싶습니다.
[node]# chef-apply -e 'puts node[:network][:interfaces][:eth1][:routes][0][:src]'
10.10.0.10
[node]# chef-shell -z
chef (12.5.1)> attributes_mode
chef:attributes (12.5.1)>
chef:attributes > node[:network][:interfaces][:eth1][:routes][0][:src]
=> "10.10.0.10"
그러나 knife ssh의 attribute에는 지정할 수 없습니다. 어쩌면 지정 방법이 잘못되었을 것입니다.
[workstation]$ knife ssh 'name:node01' hostname -x root -a network.interfaces.eth1.routes.[0].src
ERROR: TypeError: no implicit conversion of String into Integer
[workstation]$ knife ssh 'name:node01' hostname -x root -a network.interfaces.eth1.routes.0.src
ERROR: TypeError: no implicit conversion of String into Integer
포기해 No2에. . .
2. node의 ip address 변경
Download node json file
[workstation]$ knife download nodes/node01.json
Created nodes/node01.json
json 수정
[workstation]$ vi nodes/node01.json
[workstation]$ knife diff nodes/node01.json
diff --knife nodes/node01.json nodes/node01.json
--- nodes/node01.json yyyy-mm-dd hh:mm:ss.000000000 +0900
+++ nodes/node01.json yyyy-mm-dd hh:mm:ss.000000000 +0900
@@ -2254,7 +2254,7 @@
}
}
},
- "ipaddress": "192.168.0.10",
+ "ipaddress": "10.10.0.10",
"macaddress": "00:00:00:00:00:00",
"ip6address": "0000::0000:0000:0000:0000",
"cpu": {
Upload node json file
[workstation]$ knife upload nodes/node01.json
Chef server 등록 상태 확인
[workstation]$ knife node show node01
Node Name: node01
Environment: lab
FQDN: node01
IP: 10.10.0.10
Run List:
Roles:
Recipes:
Platform: centos 7.0
Tags:
Ssh test
[workstation]$ knife ssh 'name:node01' hostname -x root
node01 node01
3. custom ohai plugin 사용
htps : // / cs. 치오 f. 이오/하이_쿠 s와 m. HTML
bootstrap시에 default gateway 이외의 ip address 를 chef server 에 등록하도록(듯이) 한다.
환경
[chef server]# rpm -q chef-server-core
chef-server-core-12.1.2-1.el7.x86_64
[workstation]]# knife --version
Chef: 12.3.0
[node]# chef-client --version
Chef: 12.5.1
Reference
이 문제에 관하여(Chef(bootstrap, knife ssh) - chef-server 가 target node 의 default gateway 측에 없는 경우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/idzzy/items/7da1abafb56d454a1d35텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)