This article is about trusting yourself to accomplish new things, achieving your goals and specifically Daniel’s journey to CKA and CKAD.
Last year I was working at Huawei in a position what looking from the outside must have been interesting. However, I was not satisfied with it. I had started to look for something else what would be more into it for me from a technology point of view.
This is how I found Nordcloud and their UK based subsidiary Nordcloud LTD.
Nordcloud went through some serious expansion last year and are still hiring tens of people in several countries. We in the UK have a few open positions if anyone is interested.
I joined Nordcloud in January and I could not have made a better decision.
They provide me just the right amount of hands-on tasks to keep me in the game, and not just be a theoretical architect.
I always thought without real hands-on experience you cannot call yourself a technical architect.
Everybody can talk about technology (we have seen it with several brain dumpers), but being able to talk about it and also to implement it with proper design, that is where the real knowledge resides.
When I joined Nordcloud I was already into containerisation.
My friend, Vinayak Kumar, was an SRE at a company where he designed/managed several K8s clusters and a K8s based environment spanning through different regions/areas of the world. The technology was just fascinating.
I can kind of compare the whole experience with it for me, like when I first met with VMware virtualisation back in 2007-2008. I instantly knew I must work with this technology and become an expert in it.
Nordcloud LTD is not a huge consultancy yet; however we are growing and contributing to the group level directives and solutions as well.
We have agreed with my lead Harry Azariah, that I will pursue to become a K8s expert – being an Azure Senior Architect working on AKS and focusing on all managed and unmanaged K8s solutions.
So my journey began…
I started to build my own clusters based on Kelsey Hightower’s and Ivan Fioravanti’s Kubernetes the Hard Way git repository.
I was watching tens, maybe hundreds, of hours of Kubernetes videos from Kelsey Hightower and others. Luckily, I already had some experience with Docker – I had built Docker Swarm demo environments in Azure a few years before, but still K8s was a bit of a new territory and a challenge. When I thought I had enough knowledge to ask relevant questions, I called my friend Vinay and he was kind enough to jump over from 120 miles away to have a session with me. Yeah, we could have done it online but it’s always good to see a friend!
Anyhow after that session I knew a lot more and was sure this is the technology I want to focus on in the upcoming weeks, months, (years?! 😄)
Fortunately enough, we got a few leads at Nordcloud with K8s, AKS requirements. I got the chance to put all I had learned into practice. This is when I realised I know less than I thought. 😄
So, dwelled even deeper into the rabbit hole, I started to work with Ingress controllers such as Nginx. In one of our projects (which I’m still working on) I had the opportunity to start to work with Istio Service Mesh. The whole experience was like a roller coaster ride. Just when I thought yeah I’m confident, something new came up. I think this is what got me excited about the whole K8s experience, technology I knew little about and constantly can provide challenges.
About this time I decided I want to be certified.
With my lead Harry, I agreed that the CKA exam should be the first I achieve. I jumped on Linux Academy and started the CKA course there. It’s an OK course; you can get enough information to understand those requirements which are shared on the CKA exam leaflet. However, do not expect to be able to pass if you only go through this training.
You must do more – as a bare minimum I would recommend going through the K8s the hard way material at least 5 times if you are not managing real world clusters on a day to day basis.
By this time I was already working with AKS for 4 months, but that is a managed K8s solution, so you have almost 0 tasks to manage the Master nodes, and you can bet you will have some questions related to those.
11% Cluster Maintenance, 12 % Installation, Configuration, Validation, 10% Trouble shooting; all these can mean you will have to look at some master components.
So I was going on a long journey to search for useful exam prep tests and K8s trainings and found this link at the Kubernetes slack.
It contains so much information that it’s an overkill in general for the exam, but some are worth to go through.
With the CKA exam you can expect to use all your 3 hours to answer the questions, maybe get 10 minutes at the end to review what you have done. I used up my time completely, had about that 10 minutes to review with 1 question unanswered (8% worth). I decided to go and look at my solutions for other questions and not to bother with that one.
The main reason you will use the 3 hours is that you have to type a lot, even if you know where to find some templates in the documentation (what you can use), it is still a lot to do. Even if you use “kubectl create dry-run -o yaml > pod.yaml” to generate your base config, it’s a lot to achieve on the k8s resource side, not to talk about the install/manage questions.
I definitely recommend to use completion source <(kubectl completion bash)”>>~/.bashrc
Personally, I have not used any alias configured by me, some people find that useful. I work with alias in my day-to-day environments, but for the exam I was not finding it useful (configured a few though).
- Know the documentation and where to find what.
- Watch as some links are navigating off from the domain ad that is not allowed, but in general if you know where to find things or how to ask the right question if you get stuck, this will be a life saver.
- Build a AKS, EKS, GKE cluster and use that to prep with the Kubernetes resources (it’s faster to build than a K8s the hard way cluster and it does not depends on your setup).
- Do deployments of objects until you feel like you are bored with it, when you literally wake up at night and hear your thoughts going around “apiVersion: v1 kind: Pod metadata: labels: app: someapp spec: containers:”
That is the time when you can feel confident about your knowledge… not joking…
- Build a habit to use the commands which help you to generate templates, or create resources quickly. There is a really good cheat sheet from Denny Zhang to start with.
- Do some tests in a practice environment, the exam environment is nothing too complex, but it’s a browser based exam, not a basic ssh from your tty client.
- I have tried this environment to get a look and feel, from Arush Salil.
- Find a place with good WiFi Coverage and without any distractions.
I sat in a phone booth at the office, however my WiFi was awful when I shared my camera ( have not tested it before properly) so I had to find another place to do the exam from. Save your self that 20 minutes of worry which I had…
- Do some video calls with someone from the location you will do your exam from.
Luckily the proctor was reasonable enough to give me time to find another place.
- I would not recommend to do it from home. I’ve heard horror stories from others that proctors were asking to cover everything in a room and such.
- Have a glass of water with you. As I have mentioned you won’t have much time to leave from the exam… No food, no headset, papers, other electronics, etc. is allowed on the desk or around you.
- Your face and eyes must be always on the screen. I was asked several times to adjust my camera (Dell XPS 15) or position because I was leaning too close to the screen… That was annoying – probably an external camera would have been better to use.
After passing the CKA;
I must say the CKAD was like a walk in the park. I went through the Linux Academy course just to have training and then I took the exam.
With the extensive preparation I had spent for the CKA (you need a lot as it almost covers “everything”) and the Linux Academy course I easily passed the CKAD. The exam is only 2 hours long and I finished it about 15 minutes earlier.
I can’t say that anybody who passes CKA can easily pass CKAD but for me it was not a problem. However, it is worth to mention by this time it was already 5 months into an AKS project for me where I was working with Probes, Persistent Storages, Deployments on an almost day-to-day basis.
So where to from here?
I’m definitely going to stick with this technology; it gives me the chills with all the challenges and new aspects of technology it comes with. Nordcloud is a place which lets its employees flourish if you can and are willing to put in the additional effort.
There are some plans in my head to get to know other K8s versions better like OpenShift (already studying), dwell into EKS and GKE more, see how they really compare, and build a K8s practice at Nordcloud limited on the long run would be nice. My leads as far as I see are partners in this.
What is the conclusion of all this?
I think for me it is that never be afraid to change. Admit to yourself what you think you need/want. I mean I did this a bit more than 3 years ago when I came to the UK from several years of being a Solution/Enterprise Architect, went to a Senior Consultant position, and just about 7 months ago from a Product Owner/Architect Position I accepted Nordcloud’s offer for a Hands-On Senior Architect position. I can clearly say it totally is worth it – my move 3 years ago, and my decision this year, I was never really happier than when I made these two decisions in my professional life.
There is really something in the saying from Confucius: “He who says he can and he who says he can’t are both usually right…” If you want something, do it; you just need to put the required time and effort into it and you can achieve anything.
Trust in yourself, and do not wait others to make your life happen! Because when you trust in yourself that is when magic happens in your life. 😊