Deploy `csi` settings.

This commit is contained in:
Kazuhiro MUSASHI 2022-01-10 15:33:45 +09:00
parent 4c0c65fc1f
commit 935f773bca
22 changed files with 109 additions and 1 deletions

View File

@ -5,6 +5,7 @@ node.reverse_merge!({
'nomad' => {
'manager' => false,
'client' => false,
'lokiendpoint' => 'loki.service.consul:3100'
'lokiendpoint' => 'loki.service.consul:3100',
'synology' => '192.168.10.200'
}
})

61
cookbooks/nomad/csi.rb Normal file
View File

@ -0,0 +1,61 @@
SYNOLOGY = node['nomad']['synology']
# 前提パッケージのインストール・セットアップ
%w( open-iscsi lsscsi sg3-utils multipath-tools scsitools ).each do |p|
package p
end
execute "iscsiadm -m discoverydb -t st -p #{SYNOLOGY} --discover" do
user 'root'
end
remote_file "/etc/multipath.conf" do
user 'root'
group 'root'
mode '0644'
notifies :restart, 'service[multipath-tools]'
end
%w( multipath-tools open-iscsi).each do |s|
service s do
action [:enable, :restart]
end
end
# CNIプラグインのデプロイ・セットアップ
directory '/opt/cni/bin' do
owner 'root'
group 'root'
mode '0755'
end
%w( bandwidth bridge dhcp firewall host-device host-local ipvlan loopback macvlan portmap ptp sbr static tuning vlan vrf ).each do |f|
remote_file "/opt/cni/bin/#{f}" do
owner 'root'
group 'root'
mode '0775'
end
end
directory '/etc/cni' do
owner 'root'
group 'root'
mode '0755'
end
remote_file '/etc/cni/nomad.conflist' do
owner 'root'
group 'root'
mode '0644'
end
remote_file '/etc/nomad.d/csi.hcl' do
owner 'nomad'
group 'nomad'
mode '0664'
notifies :restart, 'service[nomad]'
end

View File

@ -4,6 +4,7 @@ include_recipe './install.rb'
if node['nomad']['manager'] || node['nomad']['client']
include_recipe './setup.rb'
include_recipe './csi.rb'
include_recipe './shared_dir.rb'
end

View File

@ -0,0 +1,23 @@
{
"cniVersion": "0.3.1",
"name": "nomad",
"plugins": [
{
"type": "ptp",
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "172.16.30.0/24",
"routes": [
{
"dst": "0.0.0.0/0"
}
]
}
},
{
"type": "portmap",
"capabilities": { "portMappings": true }
}
]
}

View File

@ -0,0 +1,8 @@
defaults {
user_friendly_names yes
find_multipaths yes
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
}

View File

@ -0,0 +1,14 @@
client {
cni_path = "/opt/cni/bin"
cni_config_dir = "/etc/cni/"
}
plugin "docker" {
config {
volumes {
enabled = true
}
allow_privileged = true
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.