docker
docker 종료된 컨테이너 삭제
$ docker rm $(docker ps --all -q -f status=exited)
docker 사용하지 않는 image 삭제
$ docker rmi -f $(docker images --filter "dangling=true" -q --no-trunc)
docker 사용하지 않는 이미지, 컨테이너, 네트워크 등 전부 삭제
$ docker prune -a
Kubernetes
네임스페이스 생성
$ kubectl create namespace stage
deployments 등 각 yaml 적용
$ kubectl apply -f ./stage.yaml
deplyments 등 각 yaml 삭제
$ kubectl delete -f ./stage.yaml
kubernetes secret 등록 (파일채로) .env 파일 secret 으로 등록
$ kubectl create secret generic credential --from-file=../.env
kubernets secret 네임스페이스 간 copy dev 네임스페이스에서 stage 네임스페이스로 특정한 secret 파일 복사
$ kubectl get secret icarus-agent --namespace=dev -o yaml | sed 's/namespace: .*/namespace: stage/' | kubectl apply -f -
deployment를 이용해서 loadbalancer expose
$ kubectl expose deployment test-api --name test-api-loadbalancer --type=LoadBalancer -n stage
Helm
prometheus install
$ helm install prometheus prometheus-community/kube-prometheus-stack
AWS 환경에서가 아닌 ECR에 접근하기
aws-cli 로그인
$ aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin {리소스아이디}.dkr.ecr.ap-northeast-2.amazonaws.com
로그인 뒤에 저장된 docker config 파일을 secret 파일로 저장
$ kubectl create secret generic regcred --from-file=.dockerconfigjson=/home/slowquery/snap/docker/796/.docker/config.json --type=kubernetes.io/dockerconfigjson -n stage
ServiceAccount 적용
$ kubectl edit sa default -n stage
imagePullSecrets 등록하여 기본으로 사용하도록 적용하기
apiVersion: v1
imagePullSecrets:
- name: regcred
kind: ServiceAccount
metadata:
creationTimestamp: "2020-10-21T09:00:09Z"
name: default
namespace: stage
resourceVersion: "3364829"
selfLink: /api/v1/namespaces/dev/serviceaccounts/default
uid: fbafa2f7-ba39-4310-8c5e-cf2b833d6528
secrets:
- name: default-token-mzszz
태그dockerkuberneteshelm