Documentation ¶
Index ¶
Constants ¶
View Source
const ( AssetPathSecrets = "tls" AssetPathCAKey = "tls/ca.key" AssetPathCACert = "tls/ca.crt" AssetPathAPIServerKey = "tls/apiserver.key" AssetPathAPIServerCert = "tls/apiserver.crt" AssetPathEtcdCA = "tls/etcd-ca.crt" AssetPathEtcdClientCert = "tls/etcd-client.crt" AssetPathEtcdClientKey = "tls/etcd-client.key" AssetPathEtcdPeerCert = "tls/etcd-peer.crt" AssetPathEtcdPeerKey = "tls/etcd-peer.key" AssetPathSelfHostedOperatorEtcdCA = "tls/operator/etcd-ca-crt.pem" AssetPathSelfHostedOperatorEtcdCert = "tls/operator/etcd-crt.pem" AssetPathSelfHostedOperatorEtcdKey = "tls/operator/etcd-key.pem" AssetPathSelfHostedEtcdMemberClientCA = "tls/etcdMember/client-ca-crt.pem" AssetPathSelfHostedEtcdMemberClientCert = "tls/etcdMember/client-crt.pem" AssetPathSelfHostedEtcdMemberClientKey = "tls/etcdMember/client-key.pem" AssetPathSelfHostedEtcdMemberPeerCA = "tls/etcdMember/peer-ca-crt.pem" AssetPathSelfHostedEtcdMemberPeerCert = "tls/etcdMember/peer-crt.pem" AssetPathSelfHostedEtcdMemberPeerKey = "tls/etcdMember/peer-key.pem" AssetPathServiceAccountPrivKey = "tls/service-account.key" AssetPathServiceAccountPubKey = "tls/service-account.pub" AssetPathKubeletKey = "tls/kubelet.key" AssetPathKubeletCert = "tls/kubelet.crt" AssetPathKubeConfig = "auth/kubeconfig" AssetPathManifests = "manifests" AssetPathKubelet = "manifests/kubelet.yaml" AssetPathProxy = "manifests/kube-proxy.yaml" AssetPathKubeFlannel = "manifests/kube-flannel.yaml" AssetPathKubeFlannelCfg = "manifests/kube-flannel-cfg.yaml" AssetPathKubeCalico = "manifests/kube-calico.yaml" AssetPathKubeCalicoCfg = "manifests/kube-calico-cfg.yaml" AssetPathKubeCalcioSA = "manifests/kube-calico-sa.yaml" AssetPathKubeCalcioRole = "manifests/kube-calico-role.yaml" AssetPathKubeCalcioRoleBinding = "manifests/kube-calico-role-binding.yaml" AssetPathAPIServerSecret = "manifests/kube-apiserver-secret.yaml" AssetPathAPIServer = "manifests/kube-apiserver.yaml" AssetPathControllerManager = "manifests/kube-controller-manager.yaml" AssetPathControllerManagerSecret = "manifests/kube-controller-manager-secret.yaml" AssetPathControllerManagerDisruption = "manifests/kube-controller-manager-disruption.yaml" AssetPathScheduler = "manifests/kube-scheduler.yaml" AssetPathSchedulerDisruption = "manifests/kube-scheduler-disruption.yaml" AssetPathKubeDNSDeployment = "manifests/kube-dns-deployment.yaml" AssetPathKubeDNSSvc = "manifests/kube-dns-svc.yaml" AssetPathSystemNamespace = "manifests/kube-system-ns.yaml" AssetPathCheckpointer = "manifests/pod-checkpointer.yaml" AssetPathEtcdOperator = "manifests/etcd-operator.yaml" AssetPathSelfHostedEtcdOperatorSecret = "manifests/etcd-operator-client-tls.yaml" AssetPathSelfHostedEtcdMemberPeerSecret = "manifests/etcd-member-peer-tls.yaml" AssetPathSelfHostedEtcdMemberCliSecret = "manifests/etcd-member-client-tls.yaml" AssetPathEtcdSvc = "manifests/etcd-service.yaml" AssetPathKenc = "manifests/kube-etcd-network-checkpointer.yaml" AssetPathKubeSystemSARoleBinding = "manifests/kube-system-rbac-role-binding.yaml" AssetPathBootstrapManifests = "bootstrap-manifests" AssetPathBootstrapAPIServer = "bootstrap-manifests/bootstrap-apiserver.yaml" AssetPathBootstrapControllerManager = "bootstrap-manifests/bootstrap-controller-manager.yaml" AssetPathBootstrapScheduler = "bootstrap-manifests/bootstrap-scheduler.yaml" AssetPathBootstrapEtcd = "bootstrap-manifests/bootstrap-etcd.yaml" AssetPathBootstrapEtcdService = "etcd/bootstrap-etcd-service.json" AssetPathMigrateEtcdCluster = "etcd/migrate-etcd-cluster.json" )
View Source
const ( // The name of the k8s service that selects self-hosted etcd pods EtcdServiceName = "etcd-service" SecretEtcdMemberPeer = "etcd-member-peer-tls" SecretEtcdMemberCli = "etcd-member-client-tls" SecretEtcdOperator = "etcd-operator-client-tls" )
Variables ¶
View Source
var (
BootstrapSecretsDir = "/etc/kubernetes/bootstrap-secrets" // Overridden for testing.
)
View Source
var DefaultImages = ImageVersions{
Etcd: "quay.io/coreos/etcd:v3.1.8",
EtcdOperator: "quay.io/coreos/etcd-operator:v0.3.3",
Flannel: "quay.io/coreos/flannel:v0.7.1-amd64",
FlannelCNI: "quay.io/coreos/flannel-cni:0.1.0",
Calico: "quay.io/calico/node:v1.3.0",
CalicoCNI: "quay.io/calico/cni:v1.9.1-4-g23fcd5f",
Hyperkube: "quay.io/coreos/hyperkube:v1.6.6_coreos.1",
Kenc: "quay.io/coreos/kenc:8f6e2e885f790030fbbb0496ea2a2d8830e58b8f",
KubeDNS: "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1",
KubeDNSMasq: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1",
KubeDNSSidecar: "gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1",
PodCheckpointer: "quay.io/coreos/pod-checkpointer:4e7a7dab10bc4d895b66c21656291c6e0b017248",
}
DefaultImages are the defualt images bootkube components use.
Functions ¶
This section is empty.
Types ¶
type Asset ¶
func MustCreateAssetFromTemplate ¶ added in v0.4.4
type Assets ¶
type Assets []Asset
func NewDefaultAssets ¶
NewDefaultAssets returns a list of default assets, optionally configured via a user provided AssetConfig. Default assets include TLS assets (certs, keys and secrets), and k8s component manifests.
func (Assets) WriteFiles ¶
type Config ¶
type Config struct { EtcdCACert *x509.Certificate EtcdClientCert *x509.Certificate EtcdClientKey *rsa.PrivateKey EtcdServers []*url.URL EtcdUseTLS bool APIServers []*url.URL CACert *x509.Certificate CAPrivKey *rsa.PrivateKey AltNames *tlsutil.AltNames PodCIDR *net.IPNet ServiceCIDR *net.IPNet APIServiceIP net.IP BootEtcdServiceIP net.IP DNSServiceIP net.IP EtcdServiceIP net.IP EtcdServiceName string SelfHostKubelet bool SelfHostedEtcd bool CalicoNetworkPolicy bool CloudProvider string BootstrapSecretsSubdir string Images ImageVersions }
AssetConfig holds all configuration needed when generating the default set of assets.
type ImageVersions ¶ added in v0.4.3
type ImageVersions struct { Etcd string EtcdOperator string Flannel string FlannelCNI string Calico string CalicoCNI string Hyperkube string Kenc string KubeDNS string KubeDNSMasq string KubeDNSSidecar string PodCheckpointer string }
ImageVersions holds all the images (and their versions) that are rendered into the templates.
Click to show internal directories.
Click to hide internal directories.