cnrancher/cce-operator
Kubernetes controller for managing Huawei Cloud Container Engine (CCE) in Rancher.
Develop
The easiest way to debug and develop the operator is to replace the default operator on a running Rancher instance with your local one (see eks-operator).
You can also build and debug CCE Operator without Rancher by following these steps:
-
Setup a kubernetes cluster and configure the KUBECONFIG
file.
$ export KUBECONFIG="$HOME/.kube/config"
-
Create a Opaque
type secret (huawei cloud credential) in namespace cattle-global-data
.
$ kubectl create namespace cattle-global-data
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: "cc-test-cce" # Modify the secret name if needed.
namespace: cattle-global-data
data:
huaweicredentialConfig-accessKey: "[base64_encoded_access_key]"
huaweicredentialConfig-secretKey: "[base64_encoded_secret_key]"
huaweicredentialConfig-projectID: "[base64_encoded_project_id]"
huaweicredentialConfig-regionID: "[base64_encoded_region_id]"
-
Clone this project and build the executable binary.
$ git clone https://github.com/cnrancher/cce-operator.git && cd cce-operator
$ go generate
$ go build .
-
Apply the CRD config file.
$ kubectl apply -f ./charts/cce-operator-crd/templates/crds.yaml
-
Run the operator and then apply the example configs to create/import cluster.
$ ./cce-operator --debug
Modify the YAML configs in examples manually such as huaweiCredentialSecret
, regionID
, hostNetwork
, nodeTemplate.sshKey
etc.
Launch another terminal for applying the YAML config files.
$ kubectl apply -f ./examples/create-example.yaml
Documents
The Simplified Chinese documentation of CRD parameters is in the examples/docs directory.
LICENSE
Copyright 2023 Rancher Labs, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.