High Availability in Kubernetes cluster built by kops
In my previous post, I have shown you how to create a Kubernetes cluster on AWS with kops. And this article I will dig deeper in to the Kubernetes HA (High-Availability) that is built by kops. Here is...
View ArticleUnderstanding Ingress in Kubernetes
Simply speaking ingress is a collection of routing rules, and ingress controller is the component that implements those rules in Kubernetes cluster. It is not available in any Kubernetes releases prior...
View ArticleUse AWS EFS for Kubernetes
Before introducing how to use AWS EFS for Kubernetes, let me recap some terms of Persistent Volumes. PV (Persistent Volume): PV is a piece of storage, it can be NFS, iSCSI, EBS, EFS... The purpose of...
View ArticleUse helm in Kubernetes
Helm is the package manager for Kubernetes, you can think it as yum/apt/homebrew. It contains two parts: Server (tiller) and Client (helm). helm client can be installed on Linux/Mac/Windows, the...
View ArticleEscalator – auto-scaling tool for Kubernetes
Atlassian recently open sourced its in-house auto-scaling tool for Kubernetes - Escalator. I have not gotten a chance to try it yet, but according to this article, the tools is initially designed for...
View ArticleWhat is kube-aws?
Have you read my previous post Install Kubernetes on AWS with kops? If yes, then kube-aws is an alternative to kops. If you have not, then kube-aws is an open source tool that simplifies the...
View ArticleEC2 fleet at first glance
I was working on a project called SpotOn last year. The basically idea is to use Spot fleet whenever possible. If the pool size is lower than the threshold, then CloudWatch will trigger a Lambda...
View ArticleEKS is now generally available
Finally finally, EKS is now generally available. It took roughly half year to arrive here since the announcement in last ReInvent. If you ever used kops before, then you will feel that the way how they...
View ArticleUpdated AWS Well-Architected Framework
AWS recently released the new version of AWS Well-Architected Framework, I just had a quick look. The biggest change to me is that the Architecture design principles (they call it pillars of the...
View Articlekubectl unable to connect minikube on VPN
I installed minikube in my Mac, and I noticed that kubectl is unable to connect to it while my Mac in on VPN (Cisco Anyconnect). $ kubectl cluster-infoKubernetes master is running at...
View ArticleAWS Summit Sydney 2019
Another year, another AWS Summit. As always I attended AWS summit in Sydney this year. If I only can summarise it with one sentence, then it would be "It is AWS age 2.0 now". I started my AWS journey...
View ArticlePort Forwarding over AWS Session Manager
Continue with the Session Manager over PrivateLink, another good use case for session manager is port forwarding. Here is a quick demo: First, login into the EC2 instance with session manager to...
View ArticleUse Image Scanning for AWS ECR
Amazon just announced that ECR now has the image scanning capability. It is a good News if you use ECR as your Docker image registry, as you just can consume it for free! A good use case is to add it...
View ArticleUse Glusterfs for Dynamic Volume Provisioning in Kubernetes
I recently setup a single node Kubernetes cluster on-premise for testing Jira and Confluence Data Center (which I will write a seperate blog later). In this blog, I want to share how I use Glusterfs as...
View ArticleReplace Flannel with Weave Net in Kubernetes
The major reason that I replaced Flannel with Weave Net as the Kubernetes CNI is that Flannel does not support multicast. I did not realize it until my test Confluence DC cluster became dysfunctional....
View ArticleRun Jira Data Center on Kubernetes Part One
In this post, I would like to share how I was able to run Jira Data Center on Kubernetes in an effect way. First of all, you need to have a storage class that supports dynamic provisioning. If you...
View ArticleRun Jira Data Center on Kubernetes Part Two
Continue with the part one, let's do some configurations. As the folder /var/atlassian/application-data/jira/shared-home does not exist in the offical Jira image, we need to create it manually in the...
View ArticleReindex Jira Data Center without downtime on Kubernetes
There are two ways to reindex Jira Data Center without downtime on Kubernetes. My Jira cluster runs a statefulSet in kubernetes. The configuration details:...
View ArticleResize Persistent Volume in Kubernetes
You can only resize volumes containing a file system if the file system is XFS, Ext3, or Ext4. When a volume contains a file system, the file system is only resized when a new Pod is using the...
View ArticleConfigure Traefik Sticky Session in Kubernetes
As wrote earlier, I have a Jira Data Center cluster running on Kubernetes. The cluster has three nodes, and traefik is the ingress controller....
View Article