eggo/0005-add-coredns-checker.patch
zhangxiaoyu 12225118de eggo several bugfix
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
2021-09-13 20:19:53 +08:00

214 lines
6.5 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From e3f440f40c64265fd3cb2e0a3c8e7d44b1022550 Mon Sep 17 00:00:00 2001
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
Date: Wed, 8 Sep 2021 17:11:43 +0800
Subject: [PATCH 2/4] add coredns checker
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
---
cmd/api.go | 1 +
cmd/configs.go | 20 +++++++++++--------
cmd/join.go | 9 +++++++--
config/centos.config | 7 ++++---
config/openEuler.config | 5 +++--
docs/manual.md | 7 ++++---
.../binary/coredns/coredns.go | 8 ++++++++
pkg/utils/infra/infra.go | 6 ++++++
8 files changed, 45 insertions(+), 18 deletions(-)
diff --git a/cmd/api.go b/cmd/api.go
index fdc8949..538c2e0 100644
--- a/cmd/api.go
+++ b/cmd/api.go
@@ -28,6 +28,7 @@ type InstallConfig struct {
LoadBalance []*PackageConfig `yaml:"loadbalance"`
Container []*PackageConfig `yaml:"container"`
Image []*PackageConfig `yaml:"image"`
+ Dns []*PackageConfig `yaml:"dns"`
Addition map[string][]*PackageConfig `yaml:"addition"` // key: master, worker, etcd, loadbalance
}
diff --git a/cmd/configs.go b/cmd/configs.go
index 7555a92..dfc4c45 100644
--- a/cmd/configs.go
+++ b/cmd/configs.go
@@ -28,6 +28,7 @@ import (
"github.com/sirupsen/logrus"
"isula.org/eggo/pkg/api"
+ "isula.org/eggo/pkg/clusterdeployment/binary/coredns"
"isula.org/eggo/pkg/constants"
"isula.org/eggo/pkg/utils"
"isula.org/eggo/pkg/utils/infra"
@@ -279,6 +280,10 @@ func fillPackageConfig(ccfg *api.ClusterConfig, icfg *InstallConfig) {
ccfg.RoleInfra[s.role].Softwares = appendSoftware(ccfg.RoleInfra[s.role].Softwares, s.pc, s.dpc)
}
+ if coredns.IsTypeBinary(ccfg.ServiceCluster.DNS.CorednsType) {
+ ccfg.RoleInfra[api.Master].Softwares = appendSoftware(ccfg.RoleInfra[api.Master].Softwares, ToEggoPackageConfig(icfg.Dns), infra.DnsPackages)
+ }
+
if len(icfg.Addition) == 0 {
return
}
@@ -306,12 +311,9 @@ func fillOpenPort(ccfg *api.ClusterConfig, openports map[string][]*OpenPorts, dn
ccfg.RoleInfra[role].OpenPorts = append(ccfg.RoleInfra[role].OpenPorts, ToEggoOpenPort(p)...)
}
- if dnsType == "binary" || dnsType == "" {
+ if coredns.IsTypeBinary(dnsType) {
ccfg.RoleInfra[api.Master].OpenPorts =
append(ccfg.RoleInfra[api.Master].OpenPorts, infra.CorednsPorts...)
- } else if dnsType == "pod" {
- ccfg.RoleInfra[api.Worker].OpenPorts =
- append(ccfg.RoleInfra[api.Worker].OpenPorts, infra.CorednsPorts...)
}
}
@@ -766,6 +768,12 @@ func createDeployConfigTemplate(file string) error {
Type: "image",
},
},
+ Dns: []*PackageConfig{
+ {
+ Name: "coredns",
+ Type: "pkg",
+ },
+ },
Addition: map[string][]*PackageConfig{
"master": {
{
@@ -778,10 +786,6 @@ func createDeployConfigTemplate(file string) error {
Name: "calico.yaml",
Type: "yaml",
},
- {
- Name: "coredns",
- Type: "pkg",
- },
},
"worker": {
{
diff --git a/cmd/join.go b/cmd/join.go
index 7d0b4a1..79d68fc 100644
--- a/cmd/join.go
+++ b/cmd/join.go
@@ -117,8 +117,13 @@ func getMergedAndDiffConfigs(conf *DeployConfig, joinConf *DeployConfig) (*Deplo
if getHostConfigByIp(mergedConfig.Workers, host.Ip) != nil {
continue
}
- h := createHostConfig(getHostConfigByIp(allHostConfigs, host.Ip), host,
- defaultHostName(conf.ClusterID, "worker", len(conf.Workers)+i))
+
+ h := getHostConfigByIp(diffConfig.Masters, host.Ip)
+ if h == nil {
+ h = createHostConfig(getHostConfigByIp(allHostConfigs, host.Ip), host,
+ defaultHostName(conf.ClusterID, "worker", len(conf.Workers)+i))
+ }
+
mergedConfig.Workers = append(mergedConfig.Workers, h)
diffConfig.Workers = append(diffConfig.Workers, h)
}
diff --git a/config/centos.config b/config/centos.config
index c9b0d0e..a5a2924 100755
--- a/config/centos.config
+++ b/config/centos.config
@@ -54,13 +54,14 @@ install:
image:
- name: images.tar
type: image
+ dns:
+ - name: coredns
+ type: bin
+ dst: /usr/bin
addition:
master:
- name: calico.yaml
type: yaml
- - name: coredns
- type: bin
- dst: /usr/bin
worker:
- name: conntrack,socat
type: bin
diff --git a/config/openEuler.config b/config/openEuler.config
index 90e5892..07acf9b 100755
--- a/config/openEuler.config
+++ b/config/openEuler.config
@@ -36,9 +36,10 @@ install:
image:
- name: images.tar
type: image
+ dns:
+ - name: coredns
+ type: pkg
addition:
master:
- name: calico.yaml
type: yaml
- - name: coredns
- type: pkg
diff --git a/docs/manual.md b/docs/manual.md
index 0957069..a4913b1 100644
--- a/docs/manual.md
+++ b/docs/manual.md
@@ -300,6 +300,10 @@ install: // 配置各种类型节点上需要
- name: pause.tar
type: image
dst: ""
+ dns: // k8s coredns安装包。如果corednstype配置为pod此处无需配置
+ - name: coredns
+ type: pkg
+ dst: ""
addition: // 额外的安装包或二进制文件列表
master:
- name: prejoin.sh
@@ -309,9 +313,6 @@ install: // 配置各种类型节点上需要
- name: calico.yaml
type: yaml
dst: ""
- - name: coredns
- type: pkg
- dst: ""
worker:
- name: docker.service
type: file
diff --git a/pkg/clusterdeployment/binary/coredns/coredns.go b/pkg/clusterdeployment/binary/coredns/coredns.go
index 35edb08..a33c71f 100644
--- a/pkg/clusterdeployment/binary/coredns/coredns.go
+++ b/pkg/clusterdeployment/binary/coredns/coredns.go
@@ -33,6 +33,14 @@ func init() {
cbs[CorednsTypeOfBinary] = &BinaryCoredns{}
}
+func IsTypeBinary(configType string) bool {
+ return configType == CorednsTypeOfBinary || configType == ""
+}
+
+func IsTypePod(configType string) bool {
+ return configType == CorednsTypeOfPod
+}
+
func getTypeOfCoredns(configType string) string {
if configType != "" {
return configType
diff --git a/pkg/utils/infra/infra.go b/pkg/utils/infra/infra.go
index b0c8ecd..2b36e2a 100644
--- a/pkg/utils/infra/infra.go
+++ b/pkg/utils/infra/infra.go
@@ -110,6 +110,12 @@ var (
}
// coredns
+ DnsPackages = []*api.PackageConfig{
+ {
+ Name: "coredns",
+ Type: "repo",
+ },
+ }
CorednsPorts = []*api.OpenPorts{
{
Port: 53,
--
2.25.1