mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-10-01 01:36:09 -04:00
Capitalize Kubernetes
This commit is contained in:
parent
0518e6ff0a
commit
482f675dac
@ -43,7 +43,7 @@ func newInitCmd() *cobra.Command {
|
||||
cmd.Flags().String("privatekey", "", "path to your private key.")
|
||||
cmd.Flags().String("master-secret", "", "path to base64 encoded master secret.")
|
||||
cmd.Flags().Bool("wg-autoconfig", false, "enable automatic configuration of WireGuard interface")
|
||||
cmd.Flags().Bool("autoscale", false, "enable kubernetes cluster-autoscaler")
|
||||
cmd.Flags().Bool("autoscale", false, "enable Kubernetes cluster-autoscaler")
|
||||
return cmd
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ func (c *Core) InitCluster(autoscalingNodeGroups []string, cloudServiceAccountUR
|
||||
}
|
||||
|
||||
if err := c.data().PutKubernetesJoinArgs(joinCommand); err != nil {
|
||||
c.zaplogger.Error("Storing kubernetes join command failed", zap.Error(err))
|
||||
c.zaplogger.Error("Storing Kubernetes join command failed", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ func (c *Core) InitCluster(autoscalingNodeGroups []string, cloudServiceAccountUR
|
||||
|
||||
// JoinCluster lets a Node join the cluster.
|
||||
func (c *Core) JoinCluster(args *kubeadm.BootstrapTokenDiscovery, certKey string, peerRole role.Role) error {
|
||||
c.zaplogger.Info("Joining kubernetes cluster")
|
||||
c.zaplogger.Info("Joining Kubernetes cluster")
|
||||
nodeVPNIP, err := c.vpn.GetInterfaceIP()
|
||||
if err != nil {
|
||||
c.zaplogger.Error("Retrieving vpn ip failed", zap.Error(err))
|
||||
@ -163,10 +163,10 @@ func (c *Core) JoinCluster(args *kubeadm.BootstrapTokenDiscovery, certKey string
|
||||
c.zaplogger.Info("k8s Join data", zap.String("nodename", nodeName), zap.String("nodeIP", nodeIP), zap.String("nodeVPNIP", nodeVPNIP), zap.String("provid", providerID))
|
||||
// we need to pass the VPNIP for another control-plane, otherwise etcd will bind itself to the wrong IP address and fails
|
||||
if err := c.kube.JoinCluster(args, k8sCompliantHostname(nodeName), nodeIP, nodeVPNIP, providerID, certKey, peerRole); err != nil {
|
||||
c.zaplogger.Error("Joining kubernetes cluster failed", zap.Error(err))
|
||||
c.zaplogger.Error("Joining Kubernetes cluster failed", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
c.zaplogger.Info("Joined kubernetes cluster")
|
||||
c.zaplogger.Info("Joined Kubernetes cluster")
|
||||
// set role in cloud provider metadata for autoconfiguration
|
||||
if c.metadata.Supported() {
|
||||
if err := c.metadata.SignalRole(context.TODO(), peerRole); err != nil {
|
||||
@ -189,7 +189,7 @@ type Cluster interface {
|
||||
GetKubeadmCertificateKey() (string, error)
|
||||
}
|
||||
|
||||
// ClusterFake behaves like a real cluster, but does not actually initialize or join kubernetes.
|
||||
// ClusterFake behaves like a real cluster, but does not actually initialize or join Kubernetes.
|
||||
type ClusterFake struct{}
|
||||
|
||||
// InitCluster fakes bootstrapping a new cluster with the current node being the master, returning the arguments required to join the cluster.
|
||||
@ -216,7 +216,7 @@ func (c *ClusterFake) GetKubeadmCertificateKey() (string, error) {
|
||||
return "controlPlaneCertficateKey", nil
|
||||
}
|
||||
|
||||
// k8sCompliantHostname transforms a hostname to an RFC 1123 compliant, lowercase subdomain as required by kubernetes node names.
|
||||
// k8sCompliantHostname transforms a hostname to an RFC 1123 compliant, lowercase subdomain as required by Kubernetes node names.
|
||||
// The following regex is used by k8s for validation: /^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$/ .
|
||||
// Only a simple heuristic is used for now (to lowercase, replace underscores).
|
||||
func k8sCompliantHostname(in string) string {
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
|
||||
const fieldManager = "constellation-coordinator"
|
||||
|
||||
// Client implements k8sapi.Client interface and talks to the kubernetes API.
|
||||
// Client implements k8sapi.Client interface and talks to the Kubernetes API.
|
||||
type Client struct {
|
||||
clientset kubernetes.Interface
|
||||
builder *resource.Builder
|
||||
|
@ -24,7 +24,7 @@ type clientGenerator interface {
|
||||
NewClient(kubeconfig []byte) (Client, error)
|
||||
}
|
||||
|
||||
// Kubectl implements kubernetes.Apply interface and acts like the kubernetes "kubectl" tool.
|
||||
// Kubectl implements kubernetes.Apply interface and acts like the Kubernetes "kubectl" tool.
|
||||
type Kubectl struct {
|
||||
clientGenerator
|
||||
kubeconfig []byte
|
||||
|
@ -12,7 +12,7 @@ import (
|
||||
kubeadm "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
|
||||
)
|
||||
|
||||
// kubeConfig is the path to the kubernetes admin config (used for authentication).
|
||||
// kubeConfig is the path to the Kubernetes admin config (used for authentication).
|
||||
const kubeConfig = "/etc/kubernetes/admin.conf"
|
||||
|
||||
// Client provides the functionality of `kubectl apply`.
|
||||
@ -141,7 +141,7 @@ func (k *KubernetesUtil) SetupCloudNodeManager(kubectl Client, cloudNodeManagerC
|
||||
return kubectl.Apply(cloudNodeManagerConfiguration, true)
|
||||
}
|
||||
|
||||
// JoinCluster joins existing kubernetes cluster using kubeadm join.
|
||||
// JoinCluster joins existing Kubernetes cluster using kubeadm join.
|
||||
func (k *KubernetesUtil) JoinCluster(joinConfig []byte) error {
|
||||
joinConfigFile, err := os.CreateTemp("", "kubeadm-join.*.yaml")
|
||||
if err != nil {
|
||||
@ -153,7 +153,7 @@ func (k *KubernetesUtil) JoinCluster(joinConfig []byte) error {
|
||||
return fmt.Errorf("writing kubeadm init yaml config %v failed: %w", joinConfigFile.Name(), err)
|
||||
}
|
||||
|
||||
// run `kubeadm join` to join a worker node to an existing kubernetes cluster
|
||||
// run `kubeadm join` to join a worker node to an existing Kubernetes cluster
|
||||
cmd := exec.Command("kubeadm", "join", "--config", joinConfigFile.Name())
|
||||
if _, err := cmd.Output(); err != nil {
|
||||
var exitErr *exec.ExitError
|
||||
|
@ -46,7 +46,7 @@ func New(clusterUtil k8sapi.ClusterUtil, configProvider configurationProvider, c
|
||||
}
|
||||
}
|
||||
|
||||
// InitCluster initializes a new kubernetes cluster and applies pod network provider.
|
||||
// InitCluster initializes a new Kubernetes cluster and applies pod network provider.
|
||||
func (k *KubeWrapper) InitCluster(in InitClusterInput) (*kubeadm.BootstrapTokenDiscovery, error) {
|
||||
initConfig := k.configProvider.InitConfiguration()
|
||||
initConfig.SetApiServerAdvertiseAddress(in.APIServerAdvertiseIP)
|
||||
@ -103,7 +103,7 @@ func (k *KubeWrapper) InitCluster(in InitClusterInput) (*kubeadm.BootstrapTokenD
|
||||
return joinK8SClusterRequest, nil
|
||||
}
|
||||
|
||||
// JoinCluster joins existing kubernetes cluster.
|
||||
// JoinCluster joins existing Kubernetes cluster.
|
||||
func (k *KubeWrapper) JoinCluster(args *kubeadm.BootstrapTokenDiscovery, nodeName, nodeInternalIP, nodeVPNIP, providerID, certKey string, peerRole role.Role) error {
|
||||
joinConfig := k.configProvider.JoinConfiguration()
|
||||
joinConfig.SetApiServerEndpoint(args.APIServerEndpoint)
|
||||
@ -153,7 +153,7 @@ func NewFakeK8SClient([]byte) (k8sapi.Client, error) {
|
||||
return &fakeK8SClient{}, nil
|
||||
}
|
||||
|
||||
// Apply fakes applying kubernetes resources.
|
||||
// Apply fakes applying Kubernetes resources.
|
||||
func (f *fakeK8SClient) Apply(resources resources.Marshaler, forceConflicts bool) error {
|
||||
return nil
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ func (a *API) ActivateAsCoordinator(in *pubproto.ActivateAsCoordinatorRequest, s
|
||||
logToCLI("Initializing Kubernetes ...")
|
||||
kubeconfig, err := a.core.InitCluster(in.AutoscalingNodeGroups, in.CloudServiceAccountUri)
|
||||
if err != nil {
|
||||
return status.Errorf(codes.Internal, "initializing kubernetes cluster failed: %v", err)
|
||||
return status.Errorf(codes.Internal, "initializing Kubernetes cluster failed: %v", err)
|
||||
}
|
||||
|
||||
// run the VPN-API server
|
||||
|
@ -185,7 +185,7 @@ func (a *API) JoinCluster(ctx context.Context, in *pubproto.JoinClusterRequest)
|
||||
}, "", role.Node)
|
||||
if err != nil {
|
||||
_ = a.core.AdvanceState(state.Failed, nil, nil)
|
||||
return nil, status.Errorf(codes.Internal, "joining kubernetes cluster: %v", err)
|
||||
return nil, status.Errorf(codes.Internal, "joining Kubernetes cluster: %v", err)
|
||||
}
|
||||
|
||||
if err := a.core.AdvanceState(state.IsNode, nil, nil); err != nil {
|
||||
|
@ -165,7 +165,7 @@ func (s StoreWrapper) PutKubernetesJoinArgs(args *kubeadm.BootstrapTokenDiscover
|
||||
return s.Store.Put(keyKubernetesJoinCommand, j)
|
||||
}
|
||||
|
||||
// GetKubernetesConfig returns the Kubernetes kubeconfig file to authenticate with the kubernetes API.
|
||||
// GetKubernetesConfig returns the Kubernetes kubeconfig file to authenticate with the Kubernetes API.
|
||||
func (s StoreWrapper) GetKubernetesConfig() ([]byte, error) {
|
||||
return s.Store.Get(keyKubeConfig)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user