update config

This commit is contained in:
pixiake 2020-05-14 23:22:41 +08:00
parent c35a0d963d
commit a4e763605d
7 changed files with 33 additions and 12 deletions

View File

@ -17,7 +17,7 @@ const (
DefaultClusterName = "cluster.local"
DefaultArch = "amd64"
DefaultHostName = "allinone"
DefaultEtcdRepo = "kubekey/etcd"
DefaultEtcdRepo = "kubesphere"
DefaultEtcdVersion = "v3.3.12"
DefaultEtcdPort = "2379"
DefaultKubeVersion = "v1.17.4"

View File

@ -5,6 +5,7 @@ import (
"fmt"
kubekeyapi "github.com/kubesphere/kubekey/pkg/apis/kubekey/v1alpha1"
"github.com/kubesphere/kubekey/pkg/cluster/etcd/tmpl"
"github.com/kubesphere/kubekey/pkg/images"
"github.com/kubesphere/kubekey/pkg/util/manager"
"github.com/kubesphere/kubekey/pkg/util/ssh"
"github.com/pkg/errors"
@ -158,7 +159,7 @@ func generateEtcdService(mgr *manager.Manager, node *kubekeyapi.HostCfg, conn ss
return errors.Wrap(errors.WithStack(err3), "failed to generate etcd bin")
}
getEtcdCtlCmd := fmt.Sprintf("docker run --rm -v /usr/local/bin:/systembindir %s:%s /bin/cp /usr/local/bin/etcdctl /systembindir/etcdctl", kubekeyapi.DefaultEtcdRepo, kubekeyapi.DefaultEtcdVersion)
getEtcdCtlCmd := fmt.Sprintf("docker run --rm -v /usr/local/bin:/systembindir %s /bin/cp /usr/local/bin/etcdctl /systembindir/etcdctl", images.GetImage(mgr, "etcd").ImageName())
_, err4 := mgr.Runner.RunCmd(fmt.Sprintf("sudo -E /bin/sh -c \"%s\"", getEtcdCtlCmd))
if err4 != nil {
return errors.Wrap(errors.WithStack(err4), "failed to get etcdctl")

View File

@ -3,6 +3,7 @@ package tmpl
import (
"fmt"
kubekeyapi "github.com/kubesphere/kubekey/pkg/apis/kubekey/v1alpha1"
"github.com/kubesphere/kubekey/pkg/images"
"github.com/kubesphere/kubekey/pkg/util"
"github.com/kubesphere/kubekey/pkg/util/manager"
"github.com/lithammer/dedent"
@ -80,7 +81,7 @@ ETCDCTL_CERT_FILE=/etc/ssl/etcd/ssl/admin-{{ .Hostname }}.pem
--memory=512M \
--blkio-weight=1000 \
--name={{ .Name }} \
{{ .Repo }}:{{ .Tag }} \
{{ .EtcdImage }} \
/usr/local/bin/etcd \
"$@"
`)))
@ -88,9 +89,8 @@ ETCDCTL_CERT_FILE=/etc/ssl/etcd/ssl/admin-{{ .Hostname }}.pem
func GenerateEtcdBinary(mgr *manager.Manager, index int) (string, error) {
return util.Render(EtcdTempl, util.Data{
"Name": fmt.Sprintf("etcd%d", index+1),
"Repo": kubekeyapi.DefaultEtcdRepo,
"Tag": kubekeyapi.DefaultEtcdVersion,
"Name": fmt.Sprintf("etcd%d", index+1),
"EtcdImage": images.GetImage(mgr, "etcd").ImageName(),
})
}

View File

@ -143,7 +143,7 @@ func GenerateKubeadmCfg(mgr *manager.Manager) (string, error) {
"ImageRepo": imageRepo,
"Version": mgr.Cluster.Kubernetes.Version,
"ClusterName": mgr.Cluster.Kubernetes.ClusterName,
"ControlPlaneEndpoint": fmt.Sprintf("%s:%s", mgr.Cluster.ControlPlaneEndpoint.Address, mgr.Cluster.ControlPlaneEndpoint.Port),
"ControlPlaneEndpoint": fmt.Sprintf("%s:%s", mgr.Cluster.ControlPlaneEndpoint.Domain, mgr.Cluster.ControlPlaneEndpoint.Port),
"PodSubnet": mgr.Cluster.Network.KubePodsCIDR,
"ServiceSubnet": mgr.Cluster.Network.KubeServiceCIDR,
"CertSANs": mgr.Cluster.GenerateCertSANs(),

View File

@ -12,7 +12,12 @@ import (
)
func FilesDownloadHttp(cfg *kubekeyapi.K2ClusterSpec, filepath string, logger *log.Logger) error {
kubeVersion := cfg.Kubernetes.Version
var kubeVersion string
if cfg.Kubernetes.Version == "" {
kubeVersion = kubekeyapi.DefaultKubeVersion
} else {
kubeVersion = cfg.Kubernetes.Version
}
kubeadmUrl := fmt.Sprintf("https://kubernetes-release.pek3b.qingstor.com/release/%s/bin/linux/%s/kubeadm", kubeVersion, kubekeyapi.DefaultArch)
kubeletUrl := fmt.Sprintf("https://kubernetes-release.pek3b.qingstor.com/release/%s/bin/linux/%s/kubelet", kubeVersion, kubekeyapi.DefaultArch)

View File

@ -21,7 +21,7 @@ func GetImage(mgr *manager.Manager, name string) *Image {
"kube-controller-manager": {RepoAddr: "", Namespace: mgr.Cluster.Kubernetes.ImageRepo, Repo: "kube-controller-manager", Tag: mgr.Cluster.Kubernetes.Version, Group: Master, Enable: true},
"kube-scheduler": {RepoAddr: "", Namespace: mgr.Cluster.Kubernetes.ImageRepo, Repo: "kube-scheduler", Tag: mgr.Cluster.Kubernetes.Version, Group: Master, Enable: true},
"kube-proxy": {RepoAddr: "", Namespace: mgr.Cluster.Kubernetes.ImageRepo, Repo: "kube-proxy", Tag: mgr.Cluster.Kubernetes.Version, Group: K8s, Enable: true},
"etcd": {RepoAddr: mgr.Cluster.Registry.PrivateRegistry, Namespace: "kubesphere", Repo: "etcd", Tag: kubekeyapi.DefaultEtcdVersion, Group: Etcd, Enable: true},
"etcd": {RepoAddr: mgr.Cluster.Registry.PrivateRegistry, Namespace: mgr.Cluster.Kubernetes.ImageRepo, Repo: "etcd", Tag: kubekeyapi.DefaultEtcdVersion, Group: Etcd, Enable: true},
"coredns": {RepoAddr: mgr.Cluster.Registry.PrivateRegistry, Namespace: "coredns", Repo: "coredns", Tag: "1.6.0", Group: K8s, Enable: true},
"k8s-dns-node-cache": {RepoAddr: mgr.Cluster.Registry.PrivateRegistry, Namespace: "kubesphere", Repo: "k8s-dns-node-cache", Tag: "1.15.12", Group: K8s, Enable: true},
"calico-kube-controllers": {RepoAddr: mgr.Cluster.Registry.PrivateRegistry, Namespace: "calico", Repo: "kube-controllers", Tag: kubekeyapi.DefaultCalicoVersion, Group: K8s, Enable: strings.EqualFold(mgr.Cluster.Network.Plugin, "calico")},

View File

@ -2,12 +2,12 @@ package kubesphere
import (
"encoding/base64"
"encoding/json"
"fmt"
kubekeyapi "github.com/kubesphere/kubekey/pkg/apis/kubekey/v1alpha1"
"github.com/kubesphere/kubekey/pkg/util/manager"
"github.com/kubesphere/kubekey/pkg/util/ssh"
"github.com/pkg/errors"
"time"
)
func DeployKubeSphere(mgr *manager.Manager) error {
@ -19,8 +19,8 @@ func DeployKubeSphere(mgr *manager.Manager) error {
func deployKubeSphere(mgr *manager.Manager, node *kubekeyapi.HostCfg, conn ssh.Connection) error {
if mgr.Runner.Index == 0 {
//mgr.Runner.RunCmd("sudo -E /bin/sh -c \"mkdir -p /etc/kubernetes/addons\" && /usr/local/bin/helm repo add kubesphere https://charts.kubesphere.io/qingcloud")
out, _ := json.MarshalIndent(mgr.Cluster, "", " ")
fmt.Println(string(out))
//out, _ := json.MarshalIndent(mgr.Cluster, "", " ")
//fmt.Println(string(out))
if mgr.Cluster.KubeSphere.Console.Port != 0 {
if err := DeployKubeSphereStep(mgr); err != nil {
return err
@ -46,5 +46,20 @@ func DeployKubeSphereStep(mgr *manager.Manager) error {
return errors.Wrap(errors.WithStack(err2), "failed to deploy kubesphere.yaml")
}
CheckKubeSphereStatus(mgr)
return nil
}
func CheckKubeSphereStatus(mgr *manager.Manager) {
for i := 30; i > 0; i-- {
time.Sleep(10 * time.Second)
_, err := mgr.Runner.RunCmd("/usr/local/bin/kubectl exec -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') ls kubesphere/playbooks/kubesphere_running")
if err == nil {
out, err := mgr.Runner.RunCmd("/usr/local/bin/kubectl exec -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') cat kubesphere/playbooks/kubesphere_running")
if err == nil {
fmt.Println(out)
break
}
}
}
}