Printing HTTP headers with curl
When debugging web applications, most adminstrators will review the HTTP request and response headers for errors. This information can be retrieved with Firefox’s HTTP Live headers plugin, ethereal, or...
View ArticleUsing StartTLS with HTTP connections
While catching up with some news groups today, I came across RFC 2817. This RFC describes HTTP protocol extensions to allow a client and server to initiate a TLS session over an existing connection....
View ArticleHTTP Cookies
The HTTP protocol was originally designed to be stateless protocol, which provides some serious hurdles for applications that need to be “session” aware. To address this issue, the HTTP protocol added...
View ArticleMeasuring website latency with http_ping
A year or so ago, I modified my ldap-ping.pl script to create a script (http-ping.pl) that would measure the time it took to retrieve a specific URI from a web server. While scouring the OpenBSD ports...
View ArticleNotes from episode 28 of TGIK: Exploring CockroachDB on Kubernetes
Over the past few months I’ve been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost....
View ArticleNotes from episode 12 of TGIK: Exploring serverless with Kubeless
Over the past few months I’ve been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost....
View ArticleNotes from episode 13 of TGIK: Serverless with Fission
Over the past few months I’ve been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost....
View ArticleNotes from episode 14 of TGIK: Serverless with OpenFaaS
Over the past few months I’ve been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost....
View Articleatexit() stage right. Or how my Python program leaked file descriptors.
A year and a half ago I started using prometheus and grafana to graph metric data. This combination is incredibly powerful and I have been absolutely blown away by the amount of actionable intelligence...
View ArticleNotes from episode 70 of TGIK: Assuming AWS roles with kube2iam/kiam
Over the past few months I’ve been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost....
View ArticleUsing external-dns to managed DNS entries in Kubernetes clusters
Kubernetes provides a service resource to distribute traffic across one or more pods. I won’t go into detail on what a service is, since it’s covered in-depth elsewhere. For Internet-facing...
View ArticleExporting AWS Cloudwatch log streams to a local file
I love AWS, but when I’m debugging issues I prefer the Linux command line over Cloudwatch Logs Insights. Numerous AWS services store their log configuration inside cloudwatch, which presents a small...
View ArticleBacking up your route53 zone configuration with the aws CLI
In a previous post, I discussed using the Kubernetes external-dns project to manage DNS changes. Prior to rolling it out, I needed a way to backup each zone prior to external-dns modifying it. I also...
View ArticleUsing audit2rbac to create RBAC policies from Kubernetes audit log
When I first started with Kubernetes, it took me some time to understand two things. One, how do I generate manifests to run my service. I tackled this in a previous blog post. The second was wrapping...
View ArticleUsing the profile module to time Ansible playbook runs
This past weekend I spent some time revamping a few playbooks. One of my playbooks was taking a while to run, and I wanted to see how much actual time was spent in each task. Luckily for me, Ansible...
View ArticleUsing the Ansible async module to perform synthetic health tests during...
I’ve become a huge fan of Ansible’s async support. This is incredibly useful for performing synthetic health tests on services after a task completes. A common use case is patching a server that hosts...
View ArticleListing Kubernetes nodes by label
When you support large Kubernetes clusters, you need efficient methods to list pods, nodes, and deployments when you are troubleshooting issues. Kubectl has a number of built-in methods to do this. You...
View ArticleUsing grpcurl to interact with gRPC applications
The past couple of weeks I have been digging into gRPC and HTTP2 in my spare time. I needed a way to review the requests and responses, and an easy way to explore gRPC servers. I also wanted something...
View ArticleUsing the terraform console to debug interpolation syntax
I am a long time Terraform user. The number of providers that are available for Terraform, and having a resource for pretty much every cloud service makes it super appealing. But even with several...
View ArticleAdding default tags to AWS resources with Terraform
If you’ve worked with the various cloud providers, you’ve probably realized the value that comes with tagging resources. For billing and searching, I like to create a default set of tags that are...
View Article
More Pages to Explore .....