Kubernetes controller for managing Huawei Cloud Container Engine (CCE) in Rancher.
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 namespacecattle-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
The Simplified Chinese documentation of CRD parameters is in the examples/docs directory.
The version correspondence between CCE Operator and Rancher is as follows.
cce-operator | Rancher |
---|---|
v0.6.x |
v2.10.x |
v0.5.x |
v2.9.x |
v0.4.x |
v2.8.x |
v0.3.x |
v2.7.x |
v0.2.x |
v2.6.x |
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.