Etcd-Operator的使用

本文主要介绍etcd-operator的部署及使用

1. 部署RBAC

下载create_role.shcluster-role-binding-template.yamlcluster-role-template.yaml

例如:

|-- cluster-role-binding-template.yaml
|-- cluster-role-template.yaml
|-- create_role.sh

# 部署rbac
kubectl create ns operator
bash create_role.sh --namespace=operator  # namespace与etcd-operator的ns一致

示例:

bash create_role.sh --namespace=operator
+ ROLE_NAME=etcd-operator
+ ROLE_BINDING_NAME=etcd-operator
+ NAMESPACE=default
+ for i in '"$@"'
+ case $i in
+ NAMESPACE=operator
+ echo 'Creating role with ROLE_NAME=etcd-operator, NAMESPACE=operator'
Creating role with ROLE_NAME=etcd-operator, NAMESPACE=operator
+ sed -e 's/<ROLE_NAME>/etcd-operator/g' -e 's/<NAMESPACE>/operator/g' cluster-role-template.yaml
+ kubectl create -f -
clusterrole.rbac.authorization.k8s.io/etcd-operator created
+ echo 'Creating role binding with ROLE_NAME=etcd-operator, ROLE_BINDING_NAME=etcd-operator, NAMESPACE=operator'
Creating role binding with ROLE_NAME=etcd-operator, ROLE_BINDING_NAME=etcd-operator, NAMESPACE=operator
+ sed -e 's/<ROLE_NAME>/etcd-operator/g' -e 's/<ROLE_BINDING_NAME>/etcd-operator/g' -e 's/<NAMESPACE>/operator/g' cluster-role-binding-template.yaml
+ kubectl create -f -
clusterrolebinding.rbac.authorization.k8s.io/etcd-operator created

1.1. create_role.sh 脚本

create_role.sh有三个入参,可以指定--namespace参数,该参数与etcd-operator部署的namespace应一致。默认为default。

1.2. cluster-role-binding-template.yaml

1.3. cluster-role-template.yaml

2. 部署etcd-operator

etcd-operator.yaml如下:

查看CRD

查看etcd-operator的日志是否OK。

以上内容表示etcd-operator运行正常。

3. 部署etcd集群

当开启clusterwide则etcd集群与etcd-operator的ns可不同。

etcd-cluster.yaml

查看集群部署结果

4. 访问etcd集群

查看service

使用service地址访问

5. 销毁etcd-operator

参考:

  • https://github.com/coreos/etcd-operator

  • https://github.com/coreos/etcd-operator/blob/master/doc/user/install_guide.md

  • https://github.com/coreos/etcd-operator/blob/master/doc/user/client_service.md

  • https://github.com/coreos/etcd-operator/blob/master/doc/user/spec_examples.md

  • https://github.com/coreos/etcd-operator/blob/master/doc/user/cluster_tls.md

最后更新于

这有帮助吗?