[WIP] Terraform scripts for Azure
What problem does this PR solve?
This PR add terraform scripts for provisioning azure AKS, tidb-operator as well as tidb clusters.
What is changed and how does it work?
Borrowed the ideas from AWS and GKE modules, but bumped to newer versions of those terraform modules inculdin helm/null/external.
Code changes
- [ ] Has Go code change
- [ ] Has CI related scripts change
Tests
- [ ] Unit test
- [x] E2E test
- [x] Manual test
- [ ] No code
Side effects
- [ ] Breaking backward compatibility
- [ ] Other side effects:
Related changes
- [ ] Need to cherry-pick to the release branch
- [ ] Need to update the documentation
Release Notes
Add terraform scripts for provisioning azure AKS, tidb-operator as well as tidb clusters.
[REVIEW NOTIFICATION]
This pull request has not been approved.
To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.
The full list of commands accepted by this bot can be found here.
Reviewer can indicate their review by writing /lgtm in a comment.
Reviewer can cancel approval by writing /lgtm cancel in a comment.
Codecov Report
Merging #3832 (15799d0) into master (bdff17a) will increase coverage by
0.01%. The diff coverage isn/a.
@@ Coverage Diff @@
## master #3832 +/- ##
==========================================
+ Coverage 62.39% 62.41% +0.01%
==========================================
Files 169 169
Lines 17970 17963 -7
==========================================
- Hits 11213 11212 -1
+ Misses 5673 5671 -2
+ Partials 1084 1080 -4
| Flag | Coverage Δ | |
|---|---|---|
| unittest | 62.41% <ø> (?) |
The external IP of tidb service load balancer was stuck on <pending>.
Warning SyncLoadBalancerFailed 5m18s (x7 over 10m) service-controller Error syncing load balancer: failed to ensure load balancer: Retriable: false, RetryAfter: 0s, HTTPStatusCode: 403, RawError: Retriable: false, RetryAfter: 0s, HTTPStatusCode: 403, RawError: {"error":{"code":"AuthorizationFailed","message":"The client 'xxxx' with object id 'xxxxx' does not have authorization to perform action 'Microsoft.Network/virtualNetworks/subnets/read' over scope '/subscriptions/xxxx/resourceGroups/tidb-k8s/providers/Microsoft.Network/virtualNetworks/tidb-vpc/subnets/aks-subnet' or the scope is invalid. If access was recently granted, please refresh your credentials."}}
related issues: https://github.com/Azure/AKS/issues/1392 https://github.com/Azure/AKS/issues/486 https://github.com/Azure/AKS/issues/441 https://github.com/Azure/AKS/issues/357 https://github.com/Azure/AKS/issues/422