Feat: k3s container runtime endpoint configuration

This commit is contained in:
Vico Chu 2022-09-14 18:50:23 +08:00
parent 73e610cf39
commit be24527454
2 changed files with 22 additions and 18 deletions

View File

@ -20,10 +20,11 @@ import (
"context"
"encoding/base64"
"fmt"
"github.com/kubesphere/kubekey/cmd/kk/pkg/registry"
"path/filepath"
"strings"
"github.com/kubesphere/kubekey/cmd/kk/pkg/registry"
kubekeyapiv1alpha2 "github.com/kubesphere/kubekey/cmd/kk/apis/kubekey/v1alpha2"
kubekeyregistry "github.com/kubesphere/kubekey/cmd/kk/pkg/bootstrap/registry"
"github.com/kubesphere/kubekey/cmd/kk/pkg/common"
@ -204,20 +205,22 @@ func (g *GenerateK3sService) Execute(runtime connector.Runtime) error {
Template: templates.K3sService,
Dst: filepath.Join("/etc/systemd/system/", templates.K3sService.Name()),
Data: util.Data{
"Server": server,
"IsMaster": host.IsRole(common.Master),
"NodeIP": host.GetInternalAddress(),
"HostName": host.GetName(),
"PodSubnet": g.KubeConf.Cluster.Network.KubePodsCIDR,
"ServiceSubnet": g.KubeConf.Cluster.Network.KubeServiceCIDR,
"ClusterDns": g.KubeConf.Cluster.CorednsClusterIP(),
"CertSANs": g.KubeConf.Cluster.GenerateCertSANs(),
"PauseImage": images.GetImage(runtime, g.KubeConf, "pause").ImageName(),
"ApiserverArgs": kubeApiserverArgs,
"ControllerManager": kubeControllerManager,
"SchedulerArgs": kubeSchedulerArgs,
"KubeletArgs": kubeletArgs,
"KubeProxyArgs": kubeProxyArgs,
"Server": server,
"IsMaster": host.IsRole(common.Master),
"IsDockerRuntime": g.KubeConf.Cluster.Kubernetes.ContainerManager == common.Docker,
"ContainerRuntimeEndpoint": g.KubeConf.Cluster.Kubernetes.ContainerRuntimeEndpoint,
"NodeIP": host.GetInternalAddress(),
"HostName": host.GetName(),
"PodSubnet": g.KubeConf.Cluster.Network.KubePodsCIDR,
"ServiceSubnet": g.KubeConf.Cluster.Network.KubeServiceCIDR,
"ClusterDns": g.KubeConf.Cluster.CorednsClusterIP(),
"CertSANs": g.KubeConf.Cluster.GenerateCertSANs(),
"PauseImage": images.GetImage(runtime, g.KubeConf, "pause").ImageName(),
"ApiserverArgs": kubeApiserverArgs,
"ControllerManager": kubeControllerManager,
"SchedulerArgs": kubeSchedulerArgs,
"KubeletArgs": kubeletArgs,
"KubeProxyArgs": kubeProxyArgs,
},
}

View File

@ -17,8 +17,9 @@
package templates
import (
"github.com/lithammer/dedent"
"text/template"
"github.com/lithammer/dedent"
)
var (
@ -37,9 +38,9 @@ WantedBy=multi-user.target
Type=notify
EnvironmentFile=/etc/systemd/system/k3s.service.env
{{ if .IsMaster }}
Environment="K3S_ARGS= {{ range .CertSANs }} --tls-san={{ . }}{{- end }} {{ range .ApiserverArgs }} --kube-apiserver-arg={{ . }}{{- end }} {{ range .ControllerManager }} --kube-controller-manager-arg={{ . }}{{- end }} {{ range .SchedulerArgs }} --kube-scheduler-arg={{ . }}{{- end }} --cluster-cidr={{ .PodSubnet }} --service-cidr={{ .ServiceSubnet }} --cluster-dns={{ .ClusterDns }} --flannel-backend=none --disable-network-policy --disable-cloud-controller --disable=servicelb,traefik,metrics-server,local-storage"
Environment="K3S_ARGS={{ range .CertSANs }} --tls-san={{ . }}{{- end }} {{ range .ApiserverArgs }} --kube-apiserver-arg={{ . }}{{- end }} {{ range .ControllerManager }} --kube-controller-manager-arg={{ . }}{{- end }} {{ range .SchedulerArgs }} --kube-scheduler-arg={{ . }}{{- end }} --cluster-cidr={{ .PodSubnet }} --service-cidr={{ .ServiceSubnet }} --cluster-dns={{ .ClusterDns }} --flannel-backend=none --disable-network-policy --disable-cloud-controller --disable=servicelb,traefik,metrics-server,local-storage"
{{ end }}
Environment="K3S_EXTRA_ARGS=--node-name={{ .HostName }} --node-ip={{ .NodeIP }} --pause-image={{ .PauseImage }} {{ range .KubeletArgs }} --kubelet-arg={{ . }}{{- end }} {{ range .KubeProxyArgs }} --kube-proxy-arg={{ . }}{{- end }}"
Environment="K3S_EXTRA_ARGS={{ if .IsDockerRuntime }}--docker{{ end }} {{ if .ContainerRuntimeEndpoint }}--container-runtime-endpoint={{ .ContainerRuntimeEndpoint }}{{ end }} --node-name={{ .HostName }} --node-ip={{ .NodeIP }} --pause-image={{ .PauseImage }} {{ range .KubeletArgs }} --kubelet-arg={{ . }}{{- end }} {{ range .KubeProxyArgs }} --kube-proxy-arg={{ . }}{{- end }}"
Environment="K3S_ROLE={{ if .IsMaster }}server{{ else }}agent{{ end }}"
Environment="K3S_SERVER_ARGS={{ if .Server }}--server={{ .Server }}{{ end }}"
KillMode=process