Skip to content

Instantly share code, notes, and snippets.

View robraux's full-sized avatar

Rob robraux

  • Raux Software, LLC
  • Ann Arbor, MI
View GitHub Profile

Overview

This document outlines the failure scenario when using the Kuma service mesh in Kubernetes mode with a Loft.sh vCluster. The Kuma demo app behaves correctly in bare k3s, Kind, minikube, and bare AWS k8s, and the Loft AWS k8 cluster directly, for certain.

  • Install and configure Loft. It may be possible to sidestep this setup by using Kiosk directly, but I have not done so, nor does my use case warrant that.
  • Create vcluster (k3s inside k8).
  • Install Kuma control plane
  • Apply kuma-demo app
  • Observe issues

Make sure k3s is executable, it's a Linux only app right now and I'm on Mac 11.0.1 so:

brew cask install multipass

Execute the VM (deliberately large):

multipass launch --name k3s --mem 5G --disk 10G

Trails

Trails you wouldn’t run to from Ann Arbor

Note most of these all require passes to park (metropark vs. state park)

Potowami (Poto) - http://www.michigandnr.com/parksandtrails/Details.aspx?id=229&type=SPTR#map-tab Probably the most popular place to run trails, but also mountain bike in the area. It’s ~25 mins from Westside of Ann Arbor and is rather hilly/technical for the area.

Island Lake - http://www.michigandnr.com/parksandtrails/Details.aspx?id=462&type=SPRK Mostly flat like a pancake with very few hills, this is another popular spot to enjoy the woods, but without the hills to punish. It’s also an incredibly popular MTB spot for beginners.

@robraux
robraux / knife-zshrc.zsh
Last active November 5, 2015 16:24
knife zshr function
kssh() {
ssh -l ubuntu `knife node show -l $1 -a ec2.public_ipv4 | tail -n1 | sed 's/ec2.public_ipv4: //'`
}
# add to your .zshrc file, this expects you have the key in your ssh agent
# use: kssh peach-api-16
@robraux
robraux / flood.js
Created October 14, 2015 19:07
Keep an API flooded, but not overwelmed
var request = require('request')
var async = require('async')
var url = "https://yourapi"
// status codes and the number of results
var results = {200 : 0, 500: 0};
var requestIt = function(cb) {
request(url, function (error, response, body) {
@robraux
robraux / gist:aa9c266ec8115e91b923
Last active June 22, 2016 05:57
Mac 10.10.5 notification w/Iterm2
1. Install: https://github.com/julienXX/terminal-notifier
2. Have iterm2: https://www.iterm2.com/
3. In iterm2, setup a trigger on your "Profile" => "Advanced" => "Triggers", like
https://www.evernote.com/l/AAX11ukjn5pDSYrbR54z_vNJuv-U6jyU6BAB/image.png
Where regexp is: "Deployment .+ for .+ on deployment id .*"
and params are "/usr/local/bin/terminal-notifier -title "Deployment finished" -message "\0"
4. That should do it. You can test it out by running:
sleep 5 && echo "Deployment succeeded for Peach-API on deployment id d-GXY9RDCGB
@robraux
robraux / runForever.js
Created October 3, 2014 14:42
runForever.js
var http = require('http');
http.createServer(function (req, res) {
console.log("Got the request, but I'm not going to do anything about it, hahahahah");
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Thread : Fatal Exception: NSRangeException
0 CoreFoundation 0x2e5edf03 __exceptionPreprocess + 130
1 libobjc.A.dylib 0x38d82ce7 objc_exception_throw + 38
2 CoreFoundation 0x2e524331 -[__NSArrayI objectAtIndex:] + 176
3 RunForth 0x000c916b -[Logout alertView:willDismissWithButtonIndex:] (Logout.m:22)
4 UIKit 0x3103437f -[_UIModalItemsCoordinator _dismissItem:withTappedButtonIndex:animated:notifyDelegate:] + 330
5 UIKit 0x31034037 -[_UIModalItemAlertContentView tableView:didSelectRowAtIndexPath:] + 694
6 UIKit 0x30f3b7f3 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1078
7 UIKit 0x30fedcb3 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 214
8 UIKit 0x30e9ce09 _applyBlockToCFArrayCopiedToStack + 316
*** -[__NSArrayI objectAtIndex:]: index 5 beyond bounds [0 .. 0]
(
"1 RunForth 0x0025e109 HandleUbertestersException + 64",
"2 CoreFoundation 0x2e5ee205 <redacted> + 580",
"3 libobjc.A.dylib 0x38d82f6b <redacted> + 174",
"4 libc++abi.dylib 0x3874d1b3 <redacted> + 78",
"5 libc++abi.dylib 0x3874cd17 __cxa_rethrow + 102",
"6 libobjc.A.dylib 0x38d82e2f objc_exception_rethrow + 42",
"7 CoreFoundation 0x2e52181f CFRunLoopRunSpecific + 642",
"8 CoreFoundation 0x2e52158b CFRunLoopRunInMode + 106",
{
"item": [
{
"value": 1320,
"label": "200"
},
{
"value": 8,
"label": "400"
},