Overall Setup:
- Create an Azure account for yourself. Specifics:
- Utilize Azure and AKS (Azure Kubernetes Service).
- Establish a Kubernetes (K8S) cluster with Role-Based Access Control (RBAC) enabled.
- Develop two APIs within two services, namely Service A and Service B.
- API Service Invocation: a. Implement an Ingress controller in the cluster to redirect traffic based on the URL: xxx/service-A or xxx/service-B. b. Configure services to provide the current bitcoin value in dollars using a web API, indicating their service name and timestamp (rounded to minutes). Example: GET /ServiceA -> "Service A, bitcoin value is 4.00$ for โ19-11-23 2:30UTCโ". c. Enforce a policy to prevent Service-A from communicating with Service-B.
- Background Job: a. For Service A, create a script/application that retrieves the bitcoin value in dollars from a web API every minute and prints it. Additionally, every 10 minutes, print the average value of the last 10 minutes.
General Guidelines:
- Treat this as a process for setting up a "production-ready" cluster in every sense. The cluster buildout should be automated and fully repeatable, with Pods utilizing liveness and readiness.
- Ensure the code is supportable.
- Share cluster templates and YAML files as a GitHub repository or a zip file.