Skip to content

Instantly share code, notes, and snippets.

View leoh0's full-sized avatar
πŸ•ΆοΈ
Working

Eohyung Lee leoh0

πŸ•ΆοΈ
Working
View GitHub Profile
@leoh0
leoh0 / add_port_to_master.sh
Last active August 7, 2020 00:04
Example of adding another port to master server, this script is for IPTABLE backend only. If you create this to IPVS backend cluster then you will break all of the cluster.
############# CAUTION!!! #############
# DON'T USE THIS YAML TO IPVS CLUSTER
# IT WILL BREAK ALL OF THE CLUSTER
############# CAUTION!!! #############
apiVersion: v1
kind: Service
metadata:
name: pf
spec:
externalIPs:
@leoh0
leoh0 / default-backend-to-legacy-service.sh
Created September 24, 2019 06:01
default backend to legacy service
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: default-backend-to-legacy-service
spec:
backend:
serviceName: legacy-service
servicePort: 80
---
@leoh0
leoh0 / multi.sh
Last active September 18, 2019 09:17
k8s get multi shell & get multiple pods logs based on its label
# NOTE: Please install kubectl, fzf, stern, tmux first before using this functions
# NOTE: μ‚¬μš©μ „μ— kubectl, fzf, stern, tmux λ₯Ό λ¨Όμ € μ„€μΉ˜ν•˜μ„Έμš”.
# Choose multiple pods using `TAB` and then get their shells using `ENTER`.
# TAB으둜 pod듀을 μ„ νƒν•˜κ³  ENTER둜 κ·Έ podλ“€μ˜ shell을 λ™μ‹œμ— μ–»μŠ΅λ‹ˆλ‹€.
function multi_login() {
pods=$(kubectl get pods --all-namespaces | sed '1d' | fzf -x -m -e +s --reverse --bind=left:page-up,right:page-down --no-mouse | awk '{print $1","$2}')
if [[ $pods != "" ]]; then
init="true"
tmuxname=k8s-ns-$(date +%s)
@leoh0
leoh0 / README.md
Last active September 9, 2019 08:08
google cloud shell을 μ΄μš©ν•΄μ„œ proxy μ„œλ²„λ‘œ μ‚¬μš©ν•΄μ„œ 곡짜둜 vpn처럼 μ΄μš©ν•˜κΈ°

google cloud shell을 μ΄μš©ν•΄μ„œ proxy μ„œλ²„λ‘œ μ‚¬μš©ν•΄μ„œ 곡짜둜 vpn처럼 μ΄μš©ν•˜κΈ°

google cloud shell은 public ipκ°€ μ—†λŠ” private ip만 μžˆλŠ” containerμž…λ‹ˆλ‹€. 즉 μ™ΈλΆ€ 접근은 google client듀을 ν†΅ν•΄μ„œλ§Œ 접근이 κ°€λŠ₯ν•œλ° 이런 μžμ›λ“€μ„ κ°€μ§€κ³  외뢀에 μ ‘κ·Ό ν•˜λŠ” proxyλ§Œλ“œλŠ” 법에 λŒ€ν•œ μ†Œκ°œμž…λ‹ˆλ‹€.

MYNOTEBOOK 이 λ‚΄κ°€ μ ‘μ†ν•˜κ³  μžˆλŠ” chrome을 λ„μšΈ pc라고 λ³΄μ‹œλ©΄ λ©λ‹ˆλ‹€. λ¬Όλ‘  보톡은 ν¬νŠΈν¬μ›Œλ”© ν•΄μ„œ 접속 ν•  수 있게 μ—΄μ–΄μ•Ό ν•œλ‹€κ³  λ³΄μ‹œλ©΄ λ©λ‹ˆλ‹€.

docker run -ti \
@leoh0
leoh0 / create_pod_by_curl_in_pod.sh
Last active April 21, 2020 22:56
pod μ•ˆμ—μ„œ pod λ§Œλ“€κΈ° 예제
# pod 생성을 μœ„ν•œ μ€€λΉ„
kubectl create sa a
kubectl create role a --verb=create --resource=pod
kubectl create rolebinding a --role=a --serviceaccount=default:a
# pod ν•˜λ‚˜ 생성
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
curl -s \
--cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt \
-H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" \
-H 'Content-Type: application/json' \
-d'{"apiVersion":"v1","kind":"Pod","metadata":{"name":"nginx"},"spec":{"containers":[{"name":"nginx","image":"nginx","ports":[{"containerPort":80}]}]}}' \
https://kubernetes.default.svc/api/v1/namespaces/$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)/pods
@leoh0
leoh0 / README.md
Last active April 25, 2019 11:15
github contribution as a calendar

Setup

# COMMIT_USERNAME is for your commit user name
export COMMIT_USERNAME="Eohyung Lee"

# COMMIT_USERNAME is for your commit email
export [email protected]

# GITHUB_USERNAME is for github user name(or organization name)
#!/bin/bash
curl -fSL \
--progress \
-H "Authorization: Bearer $(curl -fsSL \
"https://auth.docker.io/token?service=registry.docker.io&scope=repository:leoh0/kakaotalk:pull" | \
sed 's/.*"token":"\([^"]*\)".*/\1/g')" \
https://registry-1.docker.io/v2/leoh0/kakaotalk/blobs/sha256:030ac842b5fc9f2a86056a93bbf8c4f706b33db131952f1f571c28013f266bfc | \
tar xzvf -
#!/bin/bash
function ensure_privileged_or_exit() {
grep -xq $'CapBnd:\t0000003fffffffff' /proc/self/status || \
(echo -e "[ERROR] Run with --privileged option." ; exit 1)
}
### Main
ensure_privileged_or_exit
@leoh0
leoh0 / install.sh
Last active March 21, 2019 08:50
install manjaro
#!/bin/bash
set -e
set -o pipefail
# install.sh
# This script installs my basic setup for a manjaro laptop
# Choose a user account to use for this installation
get_user() {
if [ -z "${TARGET_USER-}" ]; then