Server administration
Linux
Create user
1
2
3
| sudo useradd test
sudo mkdir /home/test
sudo chown -R test: /home/test
|
Routine server patch
1
2
3
4
| sudo apt update
sudo apt upgrade
#Exclude some packages
|
Setup VM and make it start automatically
Please refer to this cheatsheet
1
2
3
4
5
6
7
| ## install virt-manager, it can connect to remote vm server
virt-manager
virsh autostart vmName
virsh list
virsh dominfo k8s-node01
virsh nodeinfo
|
Expand LVM volume
1
| # ubuntu default only use half of the volume
|
MySQL
Create user with remote access
1
| CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
|
Create new database and grant admin right to new user
1
2
3
| create database DWH;
GRANT ALL ON database.table TO 'username'@'%';
FLUSH PRIVILEGES;
|
Create a table
1
2
3
4
5
6
7
8
| # create table
create table test(
name VARCHAR(100), value VARCHAR(100), description VARCHAR(500)
)
# primary key
ALTER TABLE Persons
ADD PRIMARY KEY (name);
|
Redis
1
2
3
4
5
6
| # connect to redis server
redis-cli
keys *
del abc
get abc
set abc "hello"
|
Zookeeper
1
2
3
4
5
6
7
| # connect to zookeeper server
zkCli -server localhost:22181
[zk: localhost:22181(CONNECTED) 0] ls /
[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, services, testapp, zookeeper]
get /testapp/application/f89497d9-a0ba-474e-8b4b-6878a700adf6
{"name":"application","id":"f89497d9-a0ba-474e-8b4b-6878a700adf6","address":"yiude-mbp","port":8282,"sslPort":null,"payload":{"@class":"org.springframework.cloud.zookeeper.discovery.ZookeeperInstance","id":"application","name":"application","metadata":{"instance_status":"UP"}},"registrationTimeUTC":1654331328914,"serviceType":"DYNAMIC","uriSpec":{"parts":[{"value":"scheme","variable":true},{"value":"://","variable":false},{"value":"address","variable":true},{"value":":","variable":false},{"value":"port","variable":true}]}}
|
Kafka
1
2
3
4
| # create topic
kafka-topics --create --topic testapp-wordcount --bootstrap-server kafka:9092
kafka-console-producer --topic testapp-wordcount --bootstrap-server kafka:9092
kafka-console-consumer --topic testapp-wordcount --from-beginning --bootstrap-server kafka:9092
|
Docker
1
2
3
4
5
6
7
8
9
10
| # to a folder with Dockerfile
DOCKER_BUILDKIT=1 docker build -t ymlai87416/spark-master:3.2.0-hadoop3.2 .
docker login
docker push ymlai87416/semi-trade:v0.41
# to a folder with docker-compose.yml
docker-compose up
# copy file to docker machine
docker cp CONTAINER:SRC_PATH DEST_PATH|
|
K8s
Basic admin
See k8s dashboard
1
2
| kubectl proxy
ssh -L 8001:localhost:8001 ubuntu@192.168.100.21
|
Find the token for login k8s console
1
| kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
|
Cert manager
Cert manager automatically renew.
https://cert-manager.io/docs/usage/certificate/
Ingress
For exporting stuff
Cheatsheet
https://kubernetes.io/docs/reference/kubectl/cheatsheet/