This is a rough shopping list of skills/accounts that will be a benefit for this guide.
- Equinix Metal portal account
GO
experience (basic)iptables
usage (basic)qemu
usage (basic)
<div layout-gt-sm="row"> | |
<md-input-container> | |
<label>SSH</label> | |
<input value="ssh {{instance.proxy_host}}@direct.{{host}} -p 8022" type="text" readonly="readonly" size="50"> | |
<md-icon ngclipboard data-clipboard-text="ssh {{instance.proxy_host}}@direct.{{host}} -p 8022"class="material-icons">content_copy | |
<md-tooltip md-direction="top">Copy!</md-tooltip> | |
</md-icon> | |
<md-button class="md-raised" href="ssh://{{instance.proxy_host}}@direct.{{host}}:8022" target="_blank" rel="noopener noreferrer"> | |
<md-icon class="material-icons">login</md-icon> SSH | |
</md-button> |
# Create Tinkerbell bridge | |
sudo ip link add tinkerbell type bridge | |
# | |
# Assign Address to bridge | |
sudo ip addr add 192.168.1.1/24 dev tinkerbell | |
# Create tap | |
sudo ip tuntap add dev tinkGuest mode tap user $USER | |
# | |
# Add to bridge |
#!/bin/bash | |
echo This should set up everything needed for Kubernetes | |
sudo modprobe overlay | |
sudo modprobe br_netfilter | |
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf | |
net.bridge.bridge-nf-call-iptables = 1 | |
net.ipv4.ip_forward = 1 | |
net.bridge.bridge-nf-call-ip6tables = 1 |
apiVersion: apps/v1 | |
kind: DaemonSet | |
metadata: | |
creationTimestamp: null | |
name: kube-vip-ds | |
namespace: kube-system | |
spec: | |
selector: | |
matchLabels: | |
name: kube-vip-ds |
package main | |
import ( | |
"context" | |
"flag" | |
"fmt" | |
"net" | |
"os" | |
"strconv" | |
"strings" |
package main | |
import ( | |
"compress/gzip" | |
"crypto/tls" | |
"crypto/x509" | |
"encoding/json" | |
"io" | |
"io/ioutil" | |
"math" |
modprobe nbd | |
qemu-nbd --connect=/dev/nbd0 ./focal-server-cloudimg-amd64.img | |
partprobe /dev/nbd0 | |
mkdir /mnt/image | |
mount /dev/nbd0p1 /mnt/image | |
cd /mnt/image | |
mount -t proc /proc proc/ | |
mount --rbind /sys sys/ | |
mount --rbind /dev dev/ | |
chroot /mnt/image bash |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: packet-cloud-controller-manager | |
namespace: kube-system | |
labels: | |
app: packet-cloud-controller-manager | |
spec: | |
replicas: 1 | |
selector: |