# use config k3s
export KUBECONFIG=./kubeconfig-kc-dev-001.yaml
# add / edit 1 service
kubectl apply -f service.yaml
# re run service, download new image
kubectl rollout restart deployment <service>
kubectl get node -o wide
kubectl get pod
kubectl get svc
kubectl get svc nginx (-o yaml)
kubectl get pods -l app=nginx -o wide
kubectl describe pod <pod-name>
kubectl logs <pod-name> -c <container>
# stop container, not delete service
kubectl scale deployment <service-name> --replicas=0
kubectl delete service <service-name>
kubectl delete deployment <service-name>
kubectl delete pod <pod-name>
kubectl delete pod myapp -n default --grace-period=0 --force
########### other:
docker tag soda-app 10.10.10.15:30500/soda
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: authority-data-key
server: <https://10.10.10.10:6443>
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
user:
client-certificate-data: certificate-data-key
client-key-data: client-data-key
Service chứa nhiều pod, giao tiếp giữa node và pod, tự tìm các node phù hợp để triển khai pod
apiVersion: v1
kind: Service
metadata:
name: soda
spec:
selector:
app: soda
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 30080
Triển khai pod, tương tự container của docker, chú ý mục: containers, khai báo docker image, khá giống trong file docker-compose.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: soda
spec:
replicas: 1
selector:
matchLabels:
app: soda
template:
metadata:
labels:
app: soda
spec:
containers:
- name: soda
image: regitry.com/soda:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
env:
- name: MYSQL_HOST
value: mysql
- name: MYSQL_PORT
value: "3306"
- name: MYSQL_DATABASE
value: db
- name: MYSQL_USER
value: root
- name: MYSQL_PASSWORD
value: password
Nếu dùng registry nội bộ, ko có https, thì download image bị chặn, phải vào tất cả node (master và worker) để thêm file này: /etc/rancher/k3s/registries.yaml. Host là địa chỉ IP của server registry
mirrors:
"10.10.10.15:30500":
endpoint:
- "<http://10.10.10.15:30500>"
Sau đó dùng lệnh bash
sudo systemctl restart k3s-agent
sudo systemctl restart k3s