-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request] need an apollo-operator for LCM by cloud native way #4696
Comments
Sounds a good idea. |
hi, @wilsonwu, From my understanding, I roughly think that the operator should include the following
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: myapollodbsecret
type: Opaque
data:
# KEY: base64-encoded string
HOST: my-apollometaserver-db
PORT: DFlMmU2
USER_NAME: YWRtaW4=
PASSWORD: MWYyZDFlMmU2N2Rm
EOF
cat <<EOF | kubectl apply -f -
apiVersion: k8s.apolloconfig.com/v1
kind: AplloEnvironment
metadata:
name: quickstart-apollo-env
spec:
version: yyy
configServiceCount: 1
adminServiceCount: 1
mysqlEmbedded: true # this embedded mysql noly for POC or demo. otherwise, you need to use external db way.
envId: one of LOCAL, DEV, BETA, FWS, FAT, UAT, LPT, PRO, TOOLS, UNKNOWN; https://github.com/apolloconfig/apollo/blob/master/apollo-core/src/main/java/com/ctrip/framework/apollo/core/enums/Env.java
mysql:
host: my-apollo-mysql-db
dbname: apollo_config
#mysql:
#. secretRef: the secret of extenal db url and username/password. that means you should create secret before apply AplloEnvironment CRDs.
# secretRef :myapollodbsecret
env:
- name: JAVA_OPTS
value: -Xmx2048M
EOF
cat <<EOF | kubectl apply -f -
apiVersion: k8s.apolloconfig.com/v1
kind: AplloPortal
metadata:
name: quickstart
spec:
version: 0.0.1
count: 1
mysql:
#. secretRef: the secret of extenal db url and username/password. that means you should create secret before apply AplloEnvironment CRDs.
# secretRef :myapollodbsecret
apolloEnvRef:
- name: quickstart-apollo-env
- name: another-quickstart-apollo-env
- name: upgrade-quick-apollo-env
env:
- name: JAVA_OPTS
value: -Xmx2048M
EOF
cat <<EOF | kubectl apply -f -
apiVersion: k8s.apolloconfig.com/v1
kind: Apllo
metadata:
name: quickstart
spec:
version: 0.0.1
count: 1
env:
- name: JAVA_OPTS
value: -Xmx2048M
EOF BTW, It is also worth mentioning that |
Thanks for elaborating on this topic.
So I think we could start by designing the CRD definitions and their intended behaviors. |
yes, that's a good and suitable orientation. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
https://github.com/apolloconfig/apollo-operator, the operator repo is ready, let's contribute. |
🤖 It seems like we need your expertise on this one, @nobodyiam. This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research. Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant. If you want to continue the conversation, start your reply with @dosu-bot. |
Is your feature request related to a problem? Please describe.
Under Cloud Native world, it is hard to manage apollo instances.
Describe the solution you'd like
Create an operator to do LCM.
Describe alternatives you've considered
Also can do LCM by k8s apis, but it is hard and inefficient.
Additional context
No more.
The text was updated successfully, but these errors were encountered: