cluster-api-provider-baiducloud

module
v0.0.0-...-663195a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2018 License: Apache-2.0

README

Cluster Api Provider Baiducloud

Build Status Go Report Card

Components

Binaries
  • cluster-api-controller: The one which has no dependencies with baiducloud provider, which includes the cluster controller and the machine controller.
Dockerization and helm/charts for deployment

We can dockerize the binaries and use helm/charts to deploy these three controllers into the cluster later.

Installation

Prerequisites
Local Binaries

kubectl sshpass

Build & Run manager

We just assume that you currently have a running Kubernetes cluster locally or in some public cloud, and you have your kubeconfig file under ~/.kube/config

~ glide install --strip-vendor
~ go build -o manager sigs.k8s.io/cluster-api-provider-baiducloud/cmd/manager
~ export SecretAccessKey=YOUR_ACCESS_KEY && export AccessKeyID=YOUR_KEY_ID
~ kubectl apply -f config/crds/cluster.yaml
~ kubectl apply -f config/crds/machine.yaml
~ kubectl apply -f config/crds/machineset.yaml
~ kubectl apply -f config/crds/machinedeployment.yaml
~ ./manager -kubeconfig ~/.kube/config -alsologtostderr -v 4
Run an example
~ kubectl apply -f config/samples/cluster.yaml
~ kubectl apply -f config/samples/machinedeployments.yaml

Usage

Cluster Resource Creation Example

apiVersion: "cluster.k8s.io/v1alpha1"
kind: Cluster
metadata:
  name: cluster-sample
spec:
    clusterNetwork:
        services:
            cidrBlocks: ["10.96.0.0/16"]
        pods:
            cidrBlocks: ["100.10.0.0/16"]
        serviceDomain: "cluster.local"
    providerSpec:
      value:
        apiVersion: "cceproviderconfig/v1alpha1"
        kind: "CCEClusterProviderConfig"
        clusterName: "cluster-test3"
        clusterCIDR: "172.30.0.0/19"
MachineDeployment Resource Creation Example
apiVersion: "cluster.k8s.io/v1alpha1"
kind: MachineDeployment
metadata:
  name: sample-master
spec:
  replicas: 1
  selector:
    matchLabels:
      foo: bar
  template:
    metadata:
      labels:
        foo: bar
    spec:
      providerSpec:
        value:
          apiVersion: "cceproviderconfig/v1alpha1"
          kind: "CCEMachineProviderConfig"
          clusterName: "cluster-test3"
          role: "master"
          adminPass: "testpw123!"
          imageId: "m-8WV4kRlN" # ubuntu 16.04 lts amd64
          cpuCount: 2
          memoryCapacityInGB: 2
      versions:
        kubelet: 1.12.3
        controlPlane: 1.12.3
  strategy:
    type: "RollingUpdate"
    rollingUpdate:
      maxUnavailable: "30%"
      maxSurge: "30%"
  minReadySeconds: 2
---
apiVersion: "cluster.k8s.io/v1alpha1"
kind: MachineDeployment
metadata:
  name: sample-nodes
spec:
  replicas: 3
  selector:
    matchLabels:
      foo: bar
  template:
    metadata:
      labels:
        foo: bar
    spec:
      providerSpec:
        value:
          apiVersion: "cceproviderconfig/v1alpha1"
          kind: "CCEMachineProviderConfig"
          clusterName: "cluster-test3"
          role: "node"
          adminPass: "testpw123!"
          imageId: "m-8WV4kRlN"
          cpuCount: 2
          memoryCapacityInGB: 2
      versions:
        kubelet: 1.12.3
  strategy:
    type: "RollingUpdate"
    rollingUpdate:
      maxUnavailable: "30%"
      maxSurge: "30%"
  minReadySeconds: 2

Directories

Path Synopsis
cmd
pkg
apis
Package apis contains Kubernetes API groups.
Package apis contains Kubernetes API groups.
apis/cceproviderconfig
Package cceproviderconfig contains cceproviderconfig API versions
Package cceproviderconfig contains cceproviderconfig API versions
apis/cceproviderconfig/v1alpha1
Package v1alpha1 contains API Schema definitions for the cceproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-baiducloud/pkg/apis/cceproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=cceproviderconfig.k8s.io Package v1alpha1 contains API Schema definitions for the cceproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-baiducloud/pkg/apis/cceproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=cceproviderconfig.k8s.io
Package v1alpha1 contains API Schema definitions for the cceproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-baiducloud/pkg/apis/cceproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=cceproviderconfig.k8s.io Package v1alpha1 contains API Schema definitions for the cceproviderconfig v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-baiducloud/pkg/apis/cceproviderconfig +k8s:defaulter-gen=TypeMeta +groupName=cceproviderconfig.k8s.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL