July 25, 2023
Yuan Tang, Alexander Matyushentsev
Introducing the AI Assistant for Argo CD on Akuity Platform
We are thrilled to announce that the AI Assistant for Argo CD is now available inside the Akuity Platform. It integrates cutting-edge AI functionality into our product, powered by GPT (Generative Pre-trained Transformer).
What's the AI Assistant for Argo CD?
The AI Assistant is an Argo CD extension to help developers quickly analyze any issues with the Kubernetes resources and Argo CD Application tracks. Users can interact with the assistant by asking custom questions, clicking pre-defined prompts, and triggering Argo CD actions.
Why Did We Do This?
Developers spend a tremondous amount of time trying to figure out why their Argo CD Applications are unhealthy. They often need to identify root causes for each of the Kubernetes resources that are failing, which requires a lot of manual inspection on the live K8s manifests, events, logs, etc.
With the rapid advancements in artificial intelligence, GPT revolutionizes the way we interact with technology. We'd like to leverage the GPT model's immense knowledge and contextual understanding to figure out the issues beforehand instead of wasting developers' valuable time and making them inspect each unhealthy resource manually.
This addition marks a significant milestone in our continuous efforts to enhance the developer experiences to facilitate the every-day use of Argo CD with intelligent assistance.
Examples
The AI Assistant can help analyze logs from Pods, Deployments, etc. Below is an example of the analysis of Pod logs. The assistant found that the Pod is not ready and experiencing a CrashLooDBackOff
due to a missing binary.
Similarly, the AI Assistant can also detect the issue in init containers:
The AI Assistant can also detect issues from Kubernetes events associated with the resource. For example, in the screenshot below, the AI Assistant summarizes the events into 3 categories and successfully identifies the root cause: the liveness probe is failing and causing the container to restart continuously. It also provides recommendations on what we should do to fix the problem. For example, making necessary adjustments to ensure that the container responds successfully to the specified HTTP path.
The analysis of the logs provides additional details on what is happening in the Pod. The Apache server in the container is starting up, but the liveness probe is failing because it cannot find the expected path, which is "/bad-url" that we intentionally specified to see whether the AI Assistant can correctly identify the issue.
Similarly, the AI Assistant successfully detects issues with readiness probe based on events and logs:
There are also pre-built prompts displayed at the bottom of the dialogue for the resource the AI Assistant is analyzing, including specific actions that the AI Assistant can perform. Below is an example where the AI Assistant restarts the Deployment.
You can also ask additional questions in the dialogue box. For example, asking the AI Assistant to check the status of the Deployment after the restart as shown below.
Is It Safe to Use?
We understand that introducing AI functionality can raise questions about data privacy and security. Rest assured, we have taken rigorous measures to safeguard your information and maintain the highest standards of data protection. Our commitment to privacy and ethical use of AI remains unwavering, ensuring your trust and peace of mind. Our AI Assistant feature leverages OpenAI API, check out its API data usage policies. You can also read our Trust Report and Privacy Policy.
What's Next?
After using AI Assistant internally, our first thought was: "Wow, this is too good to be true!". The combination of the AI functionality with the in-depth knowledge of the application state provided by the Akuity Platform enables an extremely powerful feature. Clearly, we are just scratching the surface of what is possible, and it does not make sense to stop here.
We've started from use cases around a single Kubernetes resource, however, Akuity Platform and Argo CD have so much more information about the application state. We can go one level up and analyze the state of the application as a whole. Here are some ideas we are considering:
- Analyze the information powering Argo CD Network View and help troubleshoot network issues.
- Analyze application workloads' resource requests and detect over- or under-provisioning.
- Inspect application manifests security posture and detect potential vulnerabilities.
The use cases are not necessarily limited to summarizing and advising. The AI Assistant can perform actions as well. For example, it could trigger application synchronization, apply suggested changes to the resource manifest, and much more. I could go on and on since imagination is the only limit here.
So what are we waiting for? We recognize that AI is an emerging technology and needs to be used responsibly. Instead of rushing, we want to validate our ideas carefully and need your feedback to do it!
Please give the AI Assistant for Argo CD a try and let us know what you think. It is an awesome opportunity to shape the tool that will revolutionize how engineers interact with Kubernetes. We are looking forward to hearing from you!