- Kubernetes Hands-on Workshop with Heptio
- Paid training from Heptio. Led by Ryan Schneider. Joe Beda to do Q&A toward end.
- Tuesday, May 1, 09:00 - 17:00
- How We Built Contour, and What You Can Learn From Our Experience - Dave Cheney, Heptio.
- Managing Kubernetes: What You Need to Know About Day 2 - Craig Tracey, Heptio
- Thursday, May 3, 11:10 - 11:45 kubernetes-cluster-kris-nova-heptio-advanced-skill-level)
- Building Applications to Increase Kubernetes Adoption, and Make Life Easier Once You've Adopted It - Kate Kuchin, Heptio
- [Thursday, May 3, 14:45 - 15:20](https://kccnceu18.sched.com/event/Dqv
-- reference: https://docs.fluentbit.io/manual/filter/lua#callback-prototype | |
JSON = require("/fluent-bit/etc/JSON") | |
-- record["log"] comes as: | |
-- 'This is the first line\n{\"log\":\" and this is #2\",\"stream\":\"stdout\",\"attrs\":{\"io.kubernetes.container.name\":\"main\",\"io.kubernetes.pod.name\":\"my-pod\",\"io.kubernetes.pod.namespace\":\"dev\"},\"time\":\"2019-02-18T14:26:15.303296418Z\"}\n{\"log\":\" and this is #3\",\"stream\":\"stdout\",\"attrs\":{\"io.kubernetes.container.name\":\"main\",\"io.kubernetes.pod.name\":\"my-pod\",\"io.kubernetes.pod.namespace\":\"dev\"},\"time\":\"2019-02-18T14:26:16.303296418Z\"}\n{\"log\":\" and this is #4\",\"stream\":\"stdout\",\"attrs\":{\"io.kubernetes.container.name\":\"main\",\"io.kubernetes.pod.name\":\"my-pod\",\"io.kubernetes.pod.namespace\":\"dev\"},\"time\":\"2019-02-18T14:26:17.303296418Z\"}\n{\"log\":\" and this is #5\",\"stream\":\"stdout\",\"attrs\":{\"io.kubernetes.container.name\":\"main\",\"io.kubernetes.pod.name\":\"my-pod\",\"io.kubernetes.pod |
apt-get update | |
apt-get upgrade -y | |
apt-get update && apt-get install -y apt-transport-https curl | |
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - | |
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list | |
deb http://apt.kubernetes.io/ kubernetes-xenial main | |
EOF | |
apt-get update | |
apt-get install -y kubelet kubeadm kubectl docker.io | |
<Project> | |
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" /> | |
<PropertyGroup> | |
<TargetFramework>netstandard1.0</TargetFramework> | |
<IsPackable>true</IsPackable> | |
<IncludeBuildOutput>false</IncludeBuildOutput> | |
<ContentTargetFolders>contentFiles</ContentTargetFolders> | |
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> |
using System; | |
using System.Diagnostics; | |
using System.Linq; | |
using System.Runtime.CompilerServices; | |
using Serilog; | |
using Serilog.Configuration; | |
using Serilog.Core; | |
using Serilog.Events; | |
namespace ConsoleApp24 |
At Gruntwork, we work with multiple software teams. That means we have to modify the "Switch Role" history multiple times. But the only way to do that today is to delete your cookie and clear all AWS Console saved settings. That got old after a while, so these instructions enable you to modify the "Switch Roles" configuration directly.
using System; | |
using System.Diagnostics; | |
using System.Threading; | |
using System.Threading.Tasks; | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
Console.WriteLine("*** WITHOUT throttling ***"); |
Consul: 0.7.2
You may have crashed your cluster so that all Consul servers have been offline at some point. You may be running on Kubernetes. The default 96 hours didn't pass, so there was no reaping of Consul servers. Restarting it all doesn't work. You've read this issue five times over and nothing works. On top of it all, which makes it harder, you're running a StatefulSet on Kubernetes, so you need to do kubectl delete pods/consul-1
to make the container arguments (kubectl replace consul/consul.yml
) bite. On top of this, if you kubectl exec -it consul-1
and then kill -9 5
, Kubernetes goes into a crash loop with exponential backoff, eating into your time.
Sounds like a Friday pleasure, right?
The tools you have at your disposal are:
-bootstrap
kubectl replace consul/consul.yml
Written for Rx.Net 2.2.5 (released July 2014)