tidb on aks - luyomo/OhMyTiUP GitHub Wiki
- Separate the backend into web page / aks / gcp / k8s
The reason to separate the source into three,
- the k8s api will be deployed into different location according the customer’s option.
- web page is the frontend
- azure is one backend which will handle the api in the backend
- gcp is one backend which will handle the api in the backend
- Frontend
- Config file update
Where to get the config information of one version.
- Todo
- TiDB
- Read config structure from config/config.go to get whole structure of specific version. Prepare golang script to extract config from config.go.
- Read Default value from config/config.go (https://github.com/pingcap/tidb/blob/v7.5.1/pkg/config/config.go#L888) Prepare Default value from config/config.go(Almost same to the first one)
- Read config value from configmap applied to TiDB Cluster Prepare golang script to read the configmap which need AKS kubeconfig
- Run query to fetch data [select * from information_schema.cluster_config]
Config Name Instance 01 Instance 02 Default Ref
- TiDB
- Component
- TiDB
- TiKV
- PD
- TiFlash
- DM
- TiCDC
- Todo
- Automatic fill in the client id/secret in the login page
- TiDB Version config into DB
- Region option config into DB
- VM Spec config into DB
- Merge the Get(Get subscription/resource group) into one function
- Fetch AKS basic from GUI direct
- Update the State to complete regularly
- Show customer info in the page
- Get all tidb tags from repo GET repos:owner/:repo/git/refs/tags
- Sort the K8S version in the creation form
- How to use workflow to create AKS Cluster
- Add progress of cluster creation
- When does the private endpoint have multiple endpoints? And How to show in the private endpoint page.
- Embend the web shell terminal(https://github.com/yudai/gotty) or (https://www.supertechcrew.com/wetty-browser-ssh-terminal/)
- Resolve the issue of the grafana page
app-index.js:35 Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of DomWrapper which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node at div at Spin (webpack-internal:///(app-pages-browser)/./node_modules/antd/es/spin/index.js:74:24) at eval (webpack-internal:///(app-pages-browser)/./node_modules/@rc-component/trigger/es/TriggerWrapper.js:8:24) at DomWrapper (webpack-internal:///(app-pages-browser)/./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js:23:90)
- Config file update
Where to get the config information of one version.
- Backend
- Use tidb-operator 1.6 version
- Azure
- Deploy VM cluster to keep metrics
- Add monitoring to VM load blancer
- Collect Cluster log and sync it to supporter
- Enable Audit Log
- Gather operation log
- Alert to email/line(TBD)
- Regular backup
- PITR backup
- Data import with lighting
- Data Export with dumpling
- Scale out
- Scale in
- Scale UP
- Scale Down
- TiDB Auto Scaling
- TiKV Auto Scaling
- TiFlash Auto Scaling
- Deploy AKS cluster in the subscription
- Deploy Container APP(API) in the subscription to control AKS resource
- Web Application
- Deploy AKS Cluster in the subscription
- Add Backend IP whitelist to K8S
- Web Application
- Deploy AKS Cluster in the subscription
- Web Application
- Create TiDB cluster task
- Create AKS Cluster
- Create AKS Node pool for each component
- Deploy CRD for TiDB Cluster
- Deploy TiDB operator
- Deploy TiDB Cluster using operator
- Resources
- API controller(golang)
- cluster creation
- API controller(golang)