Skip to content
This repository has been archived by the owner on Jul 30, 2021. It is now read-only.

Commit

Permalink
render: add --cloud-provider
Browse files Browse the repository at this point in the history
  • Loading branch information
kalbasit committed Nov 3, 2016
1 parent 3326051 commit 1709a6f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 0 deletions.
3 changes: 3 additions & 0 deletions cmd/bootkube/render.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ var (
apiServers string
altNames string
selfHostKubelet bool
cloudProvider string
}
)

Expand All @@ -46,6 +47,7 @@ func init() {
cmdRender.Flags().StringVar(&renderOpts.apiServers, "api-servers", "https://127.0.0.1:443", "List of API server URLs including host:port, commma seprated")
cmdRender.Flags().StringVar(&renderOpts.altNames, "api-server-alt-names", "", "List of SANs to use in api-server certificate. Example: 'IP=127.0.0.1,IP=127.0.0.2,DNS=localhost'. If empty, SANs will be extracted from the --api-servers flag.")
cmdRender.Flags().BoolVar(&renderOpts.selfHostKubelet, "self-host-kubelet", false, "Create a self-hosted kubelet daemonset.")
cmdRender.Flags().StringVar(&renderOpts.cloudProvider, "cloud-provider", "", "The provider for cloud services. Empty string for no provider")
}

func runCmdRender(cmd *cobra.Command, args []string) error {
Expand Down Expand Up @@ -114,6 +116,7 @@ func flagsToAssetConfig() (c *asset.Config, err error) {
APIServers: apiServers,
AltNames: altNames,
SelfHostKubelet: renderOpts.selfHostKubelet,
CloudProvider: renderOpts.cloudProvider,
}, nil
}

Expand Down
1 change: 1 addition & 0 deletions pkg/asset/asset.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ type Config struct {
CAPrivKey *rsa.PrivateKey
AltNames *tlsutil.AltNames
SelfHostKubelet bool
CloudProvider string
}

// NewDefaultAssets returns a list of default assets, optionally
Expand Down
15 changes: 15 additions & 0 deletions pkg/asset/internal/templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ spec:
- --kubeconfig=/etc/kubernetes/kubeconfig
- --require-kubeconfig
- --lock-file=/var/run/lock/kubelet.lock
{{ with .CloudProvider -}}
- --cloud-provider={{ . }}
{{ end -}}
env:
- name: MY_POD_IP
valueFrom:
Expand Down Expand Up @@ -148,6 +151,9 @@ spec:
- --tls-private-key-file=/etc/kubernetes/secrets/apiserver.key
- --service-account-key-file=/etc/kubernetes/secrets/service-account.pub
- --client-ca-file=/etc/kubernetes/secrets/ca.crt
{{ with .CloudProvider -}}
- --cloud-provider={{ . }}
{{ end -}}
env:
- name: MY_POD_IP
valueFrom:
Expand Down Expand Up @@ -194,20 +200,29 @@ spec:
- --root-ca-file=/etc/kubernetes/secrets/ca.crt
- --service-account-private-key-file=/etc/kubernetes/secrets/service-account.key
- --leader-elect=true
{{ with .CloudProvider -}}
- --cloud-provider={{ . }}
{{ end -}}
volumeMounts:
- name: secrets
mountPath: /etc/kubernetes/secrets
readOnly: true
- name: ssl-host
mountPath: /etc/ssl/certs
readOnly: true
- name: resolv-conf
mountPath: /etc/resolv.conf
readOnly: true
volumes:
- name: secrets
secret:
secretName: kube-controller-manager
- name: ssl-host
hostPath:
path: /usr/share/ca-certificates
- name: resolv-conf
hostPath:
path: /etc/resolv.conf
`)
SchedulerTemplate = []byte(`apiVersion: extensions/v1beta1
kind: Deployment
Expand Down
2 changes: 2 additions & 0 deletions pkg/asset/k8s.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ func newStaticAssets(selfHostKubelet bool) Assets {

func newDynamicAssets(conf Config) Assets {
return Assets{
mustCreateAssetFromTemplate(AssetPathControllerManager, internal.ControllerManagerTemplate, conf),
mustCreateAssetFromTemplate(AssetPathAPIServer, internal.APIServerTemplate, conf),
mustCreateAssetFromTemplate(AssetPathKubelet, internal.KubeletTemplate, conf),
}
}

Expand Down

0 comments on commit 1709a6f

Please sign in to comment.