Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Have kops-controller create headless k8s services for dns=none clusters #16335

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cmd/kops-controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ func main() {
os.Exit(1)
}

if err := addGossipController(mgr, &opt); err != nil {
if err := addDNSHostsController(mgr, &opt); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "GossipController")
os.Exit(1)
}
Expand Down Expand Up @@ -342,7 +342,7 @@ func addNodeController(mgr manager.Manager, vfsContext *vfs.VFSContext, opt *con
return nil
}

func addGossipController(mgr manager.Manager, opt *config.Options) error {
func addDNSHostsController(mgr manager.Manager, opt *config.Options) error {
if opt.Discovery == nil || !opt.Discovery.Enabled {
return nil
}
Expand Down
6 changes: 3 additions & 3 deletions pkg/model/components/kopscontroller/template_functions.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ type templateFunctions struct {
Cluster *kops.Cluster
}

// KopsControllerConfig returns the yaml configuration for kops-controller
func (t *templateFunctions) GossipServices() ([]*corev1.Service, error) {
if !t.Cluster.UsesLegacyGossip() {
// DNSHeadlessServices returns a list of headless k8s services for clusters that dont have a public DNS zone
func (t *templateFunctions) DNSHeadlessServices() ([]*corev1.Service, error) {
if t.Cluster.PublishesDNSRecords() {
return nil, nil
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ spec:
addons:
- id: k8s-1.16
manifest: kops-controller.addons.k8s.io/k8s-1.16.yaml
manifestHash: d1721b520554fcb342dce2d1e6c4da40ead20efc14d872472f854d42f845618e
manifestHash: 27df640749581db0bf1c0fb37baf2fd539c6da51175077049131ba323925ecb5
name: kops-controller.addons.k8s.io
needsRollingUpdate: control-plane
selector:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,51 @@ subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: system:serviceaccount:kube-system:kops-controller

---

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: kops-controller.addons.k8s.io
app.kubernetes.io/managed-by: kops
discovery.kops.k8s.io/internal-name: api
k8s-addon: kops-controller.addons.k8s.io
name: api-internal
namespace: kube-system
spec:
clusterIP: None
ports:
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
k8s-app: kops-controller
type: ClusterIP

---

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: kops-controller.addons.k8s.io
app.kubernetes.io/managed-by: kops
discovery.kops.k8s.io/internal-name: kops-controller
k8s-addon: kops-controller.addons.k8s.io
name: kops-controller-internal
namespace: kube-system
spec:
clusterIP: None
ports:
- name: https
port: 3988
protocol: TCP
targetPort: 3988
selector:
k8s-app: kops-controller
type: ClusterIP
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ spec:
addons:
- id: k8s-1.16
manifest: kops-controller.addons.k8s.io/k8s-1.16.yaml
manifestHash: 436ac04e02cb1a62a84876be88f6bd9f6e77329709c084e271ac3827f9e1e0ad
manifestHash: 506cfd2288a2c8a0c8e5bdb07b88d1ab75986906d323ff61ee11ba5819e40d05
name: kops-controller.addons.k8s.io
needsRollingUpdate: control-plane
selector:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,51 @@ subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: system:serviceaccount:kube-system:kops-controller

---

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: kops-controller.addons.k8s.io
app.kubernetes.io/managed-by: kops
discovery.kops.k8s.io/internal-name: api
k8s-addon: kops-controller.addons.k8s.io
name: api-internal
namespace: kube-system
spec:
clusterIP: None
ports:
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
k8s-app: kops-controller
type: ClusterIP

---

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: kops-controller.addons.k8s.io
app.kubernetes.io/managed-by: kops
discovery.kops.k8s.io/internal-name: kops-controller
k8s-addon: kops-controller.addons.k8s.io
name: kops-controller-internal
namespace: kube-system
spec:
clusterIP: None
ports:
- name: https
port: 3988
protocol: TCP
targetPort: 3988
selector:
k8s-app: kops-controller
type: ClusterIP
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ spec:
addons:
- id: k8s-1.16
manifest: kops-controller.addons.k8s.io/k8s-1.16.yaml
manifestHash: d43ec11bfdc59ea071784f7b54a277efee32384aecf293ae80e6d90a3bffc5f3
manifestHash: 7c4029c5547845aa6837c284211e421cd4bebb5c709a028d81be1450b141ee82
name: kops-controller.addons.k8s.io
needsRollingUpdate: control-plane
selector:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -225,3 +225,51 @@ subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: system:serviceaccount:kube-system:kops-controller

---

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: kops-controller.addons.k8s.io
app.kubernetes.io/managed-by: kops
discovery.kops.k8s.io/internal-name: api
k8s-addon: kops-controller.addons.k8s.io
name: api-internal
namespace: kube-system
spec:
clusterIP: None
ports:
- name: https
port: 443
protocol: TCP
targetPort: 443
selector:
k8s-app: kops-controller
type: ClusterIP

---

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
addon.kops.k8s.io/name: kops-controller.addons.k8s.io
app.kubernetes.io/managed-by: kops
discovery.kops.k8s.io/internal-name: kops-controller
k8s-addon: kops-controller.addons.k8s.io
name: kops-controller-internal
namespace: kube-system
spec:
clusterIP: None
ports:
- name: https
port: 3988
protocol: TCP
targetPort: 3988
selector:
k8s-app: kops-controller
type: ClusterIP
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ subjects:
kind: User
name: system:serviceaccount:kube-system:kops-controller

{{- range $service := KopsController.GossipServices }}
{{- range $service := KopsController.DNSHeadlessServices }}
---
{{ KubeObjectToApplyYAML $service }}
{{- end }}
Loading