Category Archives: Administration
Kubectl helpful commands
k8s cheatsheet. Get all pods by label
1 |
$ kubectl --kubeconfig <config file> get po -lapp=<pod name without hash> -Lversion,cfg,infra-cfg |
Exec into the pod
1 |
$ kubectl --kubeconfig <config file> exec -it <pod name> sh |
Port forwarding
1 |
$ kubectl --kubeconfig <config file> port-forward <pod name> <local port>:<remote port> |
Getting logs
1 |
$ kubectl --kubeconfig <config file> logs <pod name> <pod name without hash> |
Get replica limits from configs:
1 2 3 4 5 |
$ kubectl --kubeconfig <config file> get hpa <pod name without hash> # more details $ kubectl --kubeconfig <config file> get deployment <pod name without hash> --output=yaml $ kubectl --kubeconfig <config file> describe deployments <pod name without hash> $ kubectl --kubeconfig <config file> describe pod <pod name without hash> # CPU and memory limits/requests (quota) |
Remove pod from load balancing to debug startup errors:
1 2 3 |
$ kubectl --kubeconfig <config file> label pod <pod_name> <labels to remove> # and remove (kill the pod) afterwards $ kubectl --kubeconfig <config file> delete pod <pod_name> |
Scale (up/down) pods:
1 2 3 4 |
$ kubectl --context=xx-live-default get pods -l app=boblin -o wide $ kubectl --context=xx-live-default scale --current-replicas=12 --replicas=3 deployment/boblin $ kubectl --context=xx-live-default delete pods boblin-3353777365-qjdpd $ kubectl --kubeconfig <config file> scale deployment <pod name without hash> --current-replicas=0 --replicas=2 |
1 2 3 4 |
$ kubectl --kubeconfig <config file> get po -lapp=<label> -Lversion,cfg $ watch -n 1 kubectl --kubeconfig <config file> get po -lapp=<label> -Lversion,cfg $ kubectl --kubeconfig <config file> exec <exact pod hash> sh $ kubectl --kubeconfig <config file> get hpa <label> |
More commands here: https://kubernetes.io/docs/reference/kubectl/overview/ https://kubernetes.io/docs/reference/kubectl/cheatsheet/
Publish subdirectory of a project to gh-pages
If your build is located at ./build, then do this:
1 |
git subtree push --prefix build origin gh-pages |
More details here — https://gist.github.com/cobyism/4730490
docker-compose for starting aerospike and memcache
Place this config wherever you like (in your project) — for instance, ~/myproj/docker/docker-compose.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
version: "2" services: #aerspike as: image: aerospike/aerospike-server volumes: - ./aerospike/etc:/opt/aerospike/etc ports: - 3000:3000 command: [asd, --config-file, /opt/aerospike/etc/docker.conf] memcached: image: memcached ports: - 11211:11211 volumes: #volume for etcd dicovery-data: driver: local #volume for database db-data: driver: local |
And this config for aerospike should be placed in a directory ~/myproj/docker/aerospike/etc/docker.conf After that you should run it like that:
1 2 |
cd ~/myproj/docker docker-compose up -d |
When you finished, just run:
1 2 |
cd ~/myproj/docker docker-compose down |
https://docs.docker.com/compose/reference/up/
How to count resource usage in linux
1 |
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 5 |
It will output something like this:
1 2 3 4 5 6 |
PID PPID CMD %MEM %CPU 2591 2113 /usr/lib/firefox/firefox 7.3 43.5 2549 2520 /usr/lib/virtualbox/Virtual 3.4 8.2 2288 1 /home/gacanepa/.dropbox-dis 1.4 0.3 1889 1543 c:\TeamViewer\TeamViewer.ex 1.0 0.2 2113 1801 /usr/bin/cinnamon 0.9 3.5 |
Запустить memcached в докере
Под мак.
1 2 3 4 5 6 |
docker pull memcached:alpine docker run --name memcached -d --restart=always --publish 11211:11211 memcached:alpine telnet localhost 11211 ctrl+] docker ps docker stop <id> |
https://hub.docker.com/_/memcached/ https://github.com/sameersbn/docker-memcached Вдогонку — как смотреть статистику в мемкэше.
1 2 3 4 5 6 |
telnet localhost 11211 > stats > stats items > set key 0 900 4 data > get key |
https://blog.elijaa.org/2010/05/21/memcached-telnet-command-summary/ http://www.alphadevx.com/a/90-Accessing-Memcached-from-the-command-line
Дешёвый регистратор доменов
Дешёвый регистратор доменов в зоне RU — http://atname.ru/
Ограничение скорости интернет в Mac OS
Shaper (шейпер) интернета для мака. Зайти в Apple’s Download Center и поискать «Hardware IO». Скачать, там найти Network Link Conditioner. Вот как с ним работать — http://nshipster.com/network-link-conditioner/.
Хорошая книга по сетям
«High Performance Browser Networking by Ilya Grigorik»: Бумажная версия Хорошая онлайн-версия «HTTP/2: A New Excerpt from High Performance Browser Networking by Ilya Grigorik»: Электронная оффлайн-версия
SSL/TLS просто
Общие сведения о TLS Протокол TLS (transport layer security) основан на протоколе SSL (Secure Sockets Layer), изначально разработанном в Netscape для повышения безопасности электронной коммерции в Интернете. Протокол SSL был реализован на application-уровне, непосредственно над TCP (Transmission Control Protocol), что позволяет более высокоуровневым протоколам (таким как HTTP или протоколу электронной почты) работать без изменений. Если …
SRE на GO в Dropbox
Вячеслав Бахмутов from CodeFest https://youtu.be/EWsXbsUBm-M