provision ipv4 / dual now works till flannel
This commit is contained in:
parent
c7448b0a2f
commit
c2b36de571
7 changed files with 49 additions and 24 deletions
|
@ -1,5 +1,5 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="provs-server" type="JetRunConfigurationType">
|
||||
<configuration default="false" name="provs-server statistics.dev" type="JetRunConfigurationType">
|
||||
<option name="MAIN_CLASS_NAME" value="org.domaindrivenarchitecture.provs.server.application.ApplicationKt" />
|
||||
<module name="provs.main" />
|
||||
<option name="PROGRAM_PARAMETERS" value="k3s -r statistics.test.meissa-gmbh.de -u root -k" />
|
||||
|
|
|
@ -14,6 +14,7 @@ import org.domaindrivenarchitecture.provs.server.infrastructure.provisionNetwork
|
|||
* If tlsHost is specified, then tls (if configured) also applies to the specified host.
|
||||
*/
|
||||
fun Prov.provisionK3s() = task {
|
||||
provisionNetwork()
|
||||
provisionK3sInfra()
|
||||
provisionNetwork(loopbackIpv4 = "192.168.5.1", loopbackIpv6 = "fc00::5:1")
|
||||
provisionK3sInfra(tlsName = "statistics.prod.meissa-gmbh.de", nodeIpv4 = "162.55.166.39", nodeIpv6 = "2a01:4f8:c010:622b::1",
|
||||
loopbackIpv4 = "192.168.5.1", loopbackIpv6 = "fc00::5:1")
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import org.domaindrivenarchitecture.provs.framework.ubuntu.filesystem.base.*
|
|||
|
||||
// TODO: jem - 2022.01.24 - these are global vars without scope / ns !
|
||||
val k3sConfigFile = "/etc/rancher/k3s/config.yaml"
|
||||
val k3sCalicoFile = "/etc/rancher/k3s/calico.yaml"
|
||||
val k3sCalicoFile = "/var/lib/rancher/k3s/server/manifests/calico.yaml"
|
||||
val k3sInstallFile = "/usr/local/bin/k3s-install.sh"
|
||||
val k3sResourcePath = "org/domaindrivenarchitecture/provs/infrastructure/k3s/"
|
||||
|
||||
|
@ -15,7 +15,7 @@ fun Prov.testConfigExists(): Boolean {
|
|||
}
|
||||
|
||||
fun Prov.deprovisionK3sInfra() = task {
|
||||
deleteFile(k3sCalicoFile, sudo = true)
|
||||
//deleteFile(k3sCalicoFile, sudo = true)
|
||||
deleteFile(k3sInstallFile, sudo = true)
|
||||
cmd("k3s-uninstall.sh")
|
||||
}
|
||||
|
@ -25,16 +25,38 @@ fun Prov.deprovisionK3sInfra() = task {
|
|||
* If docker is true, then docker will be installed (may conflict if docker is already existing) and k3s will be installed with docker option.
|
||||
* If tlsHost is specified, then tls (if configured) also applies to the specified host.
|
||||
*/
|
||||
fun Prov.provisionK3sInfra(docker: Boolean = false, tlsHost: String? = null, options: String? = null) = task {
|
||||
fun Prov.provisionK3sInfra(tlsName: String, nodeIpv4: String, loopbackIpv4: String, loopbackIpv6: String,
|
||||
nodeIpv6: String? = null, docker: Boolean = false, tlsHost: String? = null) = task {
|
||||
val isDualStack = nodeIpv6?.isNotEmpty() ?: false
|
||||
if (testConfigExists()) {
|
||||
deprovisionK3sInfra()
|
||||
}
|
||||
if (!testConfigExists()) {
|
||||
createDirs("/etc/rancher/k3s/", sudo = true)
|
||||
var k3sConfigFileName = "config.yaml.template"
|
||||
var k3sConfigMap: Map<String, String> = mapOf("loopback_ipv4" to loopbackIpv4, "loopback_ipv6" to loopbackIpv6,
|
||||
"node_ipv4" to nodeIpv4, "tls_name" to tlsName)
|
||||
if (isDualStack) {
|
||||
k3sConfigFileName += ".dual"
|
||||
k3sConfigMap = k3sConfigMap.plus("node_ipv6" to nodeIpv6!!)
|
||||
/*
|
||||
createFileFromResource(
|
||||
k3sCalicoFile,
|
||||
"calico.yaml",
|
||||
k3sResourcePath,
|
||||
"644",
|
||||
sudo = true
|
||||
)
|
||||
|
||||
*/
|
||||
} else {
|
||||
k3sConfigFileName += ".ipv4"
|
||||
}
|
||||
createFileFromResourceTemplate(
|
||||
k3sConfigFile,
|
||||
"config.yaml.template",
|
||||
k3sConfigFileName,
|
||||
k3sResourcePath,
|
||||
mapOf("loopback_ipv4" to "192.168.5.1", "loopback_ipv6" to "fc00::5:1",
|
||||
"node_ipv4" to "159.69.176.151", "node_ipv6" to "2a01:4f8:c010:2f72::1"),
|
||||
k3sConfigMap,
|
||||
"644",
|
||||
sudo = true
|
||||
)
|
||||
|
@ -45,15 +67,7 @@ fun Prov.provisionK3sInfra(docker: Boolean = false, tlsHost: String? = null, opt
|
|||
"755",
|
||||
sudo = true
|
||||
)
|
||||
createFileFromResource(
|
||||
k3sCalicoFile,
|
||||
"calico.yaml",
|
||||
k3sResourcePath,
|
||||
"644",
|
||||
sudo = true
|
||||
)
|
||||
// TODO: verify the download !
|
||||
//cmd("curl -sfL https://get.k3s.io | sh -")
|
||||
// TODO: doeas not work yet cmd("k3s-install.sh")
|
||||
|
||||
/*
|
||||
|
||||
|
|
|
@ -12,13 +12,13 @@ fun Prov.testNetworkExists(): Boolean {
|
|||
return fileExists(loopbackFile)
|
||||
}
|
||||
|
||||
fun Prov.provisionNetwork() = task {
|
||||
fun Prov.provisionNetwork(loopbackIpv4: String, loopbackIpv6: String) = task {
|
||||
if(!testNetworkExists()) {
|
||||
createFileFromResourceTemplate(
|
||||
loopbackFile,
|
||||
"99-loopback.yaml.template",
|
||||
resourcePath,
|
||||
mapOf("loopback_ipv4" to "192.168.5.1/32", "loopback_ipv6" to "fc00::5:1/128"),
|
||||
mapOf("loopback_ipv4" to loopbackIpv4, "loopback_ipv6" to loopbackIpv6),
|
||||
"644",
|
||||
sudo = true
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
etcd-disable-snapshots: true
|
||||
default-local-storage-path: /var
|
||||
flannel-backend: none
|
||||
tls-san: ${tls_name}
|
||||
disable-network-policy: true
|
||||
cluster-cidr:
|
||||
- 10.42.0.0/16
|
|
@ -0,0 +1,10 @@
|
|||
etcd-disable-snapshots: true
|
||||
default-local-storage-path: /var
|
||||
tls-san: ${tls_name}
|
||||
cluster-cidr:
|
||||
- 10.42.0.0/16
|
||||
service-cidr:
|
||||
- 10.43.0.0/16
|
||||
node-ip:
|
||||
- ${node_ipv4}
|
||||
bind-address: ${loopback_ipv4}
|
|
@ -6,5 +6,5 @@ network:
|
|||
match:
|
||||
name: lo
|
||||
addresses:
|
||||
- ${loopback_ipv4}
|
||||
- ${loopback_ipv6}
|
||||
- ${loopback_ipv4}/32
|
||||
- ${loopback_ipv6}/128
|
||||
|
|
Loading…
Reference in a new issue