admin
kube-ps1
curl https://raw.githubusercontent.com/jonmosco/kube-ps1/master/kube-ps1.sh -o ~/kube-ps1.sh
echo "source ~/kube-ps1.sh" >> ~/.bashrc
echo "PS1='[\u@\h \W $(kube_ps1)]\$ '" >> ~/.bashrc
Krew:
Make sure that git is installed.
Run this command to download and install krew:
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)
Add the $HOME/.krew/bin directory to your PATH environment variable. To do this, update your .bashrc file and append the following line:
echo 'export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"' >> ~/.bashrc
kubectx
kubectl krew install ctx
kubectl krew install ns
kubectl rollout restart <deployment>
kubectl get pods -o jsonpath='{range .items[*]}{range .spec.containers[*]}{.name}{"\t"}{.resources.requests.memory}{"\n"}{end}{end}'
Debugging im Pod (tcpdump muss installiert sein):
kubectl exec my-app-pod -c nginx -- tcpdump -i eth0 -w - | wireshark -k -i -
Debugging auf dem Node
kubectl debug node/ip-10-250-104-130.eu-central-1.compute.internal -it --image=ubuntu -n default
kubectl exec -n default *debug pod name* -- tcpdump -i any -w - | wireshark -k -i -
GGF lokal Userrechte für Wireshark setzen:
sudo usermod -a -G wireshark $USER
cAdvisor (Container Advisor) bietet Containernutzern einen Überblick über die Ressourcennutzung und die Leistungsmerkmale ihrer laufenden Container.
Es ist ein laufender Daemon, der Informationen über laufende Container sammelt, aggregiert, verarbeitet und exportiert.
Insbesondere speichert er für jeden Container die Parameter der Ressourcenisolierung, die historische Ressourcennutzung und Histogramme der gesamten historischen Ressourcennutzung.
Diese Daten werden pro Container und maschinenweit exportiert.
Zum aktivieren
export TF_LOG=DEBUG
export TF_LOG=TRACE
Zum deaktivieren
unset TF_LOG
Regeln mit Zeilennummern auflisten
sudo iptables -L --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy DROP)
num target prot opt source destination
1 DOCKER-USER all -- anywhere anywhere
2 DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
3 ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
4 DOCKER all -- anywhere anywhere
5 ACCEPT all -- anywhere anywhere
6 ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
NAT Regeln mit Zeilennummern auflisten
sudo iptables -tnat -L --line-numbers
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 DOCKER all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
1 DOCKER all -- anywhere !localhost/8 ADDRTYPE match dst-type LOCAL
2 DNAT tcp -- anywhere anywhere tcp dpt:ldap to:10.185.131.139:443
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 172.17.0.0/16 anywhere
2 MASQUERADE all -- anywhere anywhere
Die gewünschte Regel löschen (Chain und Zeilennummer angeben)
sudo iptables -D FORWARD 5
Die gewünschte NAT Regel löschen (Chain und Zeilennummer angeben)
sudo iptables -t nat -D POSTROUTING 2
Eingehenden Traffic auf Port 443 weiterleiten an 10.98.193.201:389
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to 10.98.193.201:389
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Eingehenden Traffic auf Port 443 und IP 46.25.33.12 weiterleiten an 10.98.193.201:389
sudo iptables -t nat -A PREROUTING -p tcp -d 46.25.33.12 --dport 22101 -j DNAT --to 10.10.0.101:22
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Ausgehenden Traffic an Port 389 (ldap) nach 10.98.193.200:389 umleiten
sudo iptables -t nat -A OUTPUT -p tcp --dport 389 -j DNAT --to-destination 10.98.193.200:389
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Ausgehenden Traffic an IP 10.90.32.6 und Port 389 (ldap) nach 10.98.193.200:389 umleiten
sudo iptables -t nat -A OUTPUT -p tcp -d 10.90.32.6 --dport 443 -j DNAT --to-destination 10.98.193.200:389
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
terraform state list
terraform state list | grep thomas
data.gitlab_user.members["thomas@asanger.dev"]
data.ldap_user.members["thomas@asanger.dev"]
module.upn_lookup["thomas@asanger.dev"].data.http.upn_lookup
terraform state rm 'data.ldap_user.members["thomas@asanger.dev"]'
terraform state show 'data.gitlab_user.members["thomas@asanger.dev"]'
# data.gitlab_user.members["thomas@asanger.dev"]:
data "gitlab_user" "members" {
avatar_url = "https://gitlab.asanger.dev/505/avatar.png"
can_create_group = false
can_create_project = false
color_scheme_id = 0
external = false
id = "505"
is_admin = false
name = "Asanger, Thomas"
namespace_id = 0
projects_limit = 0
state = "active"
theme_id = 0
two_factor_enabled = false
user_id = 505
username = "asangert"
}
terraform state show 'gitlab_group_membership.maintainers["thomas@asanger.dev"]'
# gitlab_group_membership.maintainers["thomas@asanger.dev"]:
resource "gitlab_group_membership" "maintainers" {
access_level = "maintainer"
group_id = "6911"
id = "6911:505"
skip_subresources_on_destroy = false
unassign_issuables_on_destroy = false
user_id = 505
}
terraform import -var-file ../../compiled/mp_content/team.tfvars 'gitlab_group_membership.maintainers["thomas@asanger.dev"]' "6911:505"