XXX 시스템 배치 총괄
4347 단어 시스템 구조
OpenResty
docker 용기
k8s 용기 편성
keepalived
haproxy
mongodb
minio
ELK
openresty ([Nginx 기반] (http://openresty.org/cn/nginx.html) 루 아의 고성능 웹 플랫폼
redis
nginx 2. 설치 방법
\ # 모든 k8s 클 러 스 터 노드 에 기본 구성 요소 docker 용 기 를 설치 합 니 다.
\ # k8s 클 러 스 터 3 주 는 주로 배치 되 고 3 주 는 keepalived, haproxy 를 통 해 높 은 사용 가능 하 며 노드 에서 keepalived 를 연결 하 는 가상 ip 을 통 해 메 인 노드 와 통신 합 니 다.
\ # redis 3 주 3 은 클 러 스 터 에서 세 대의 서버 에 배치 되 어 있 습 니 다.
\ # mongodb 1 주 1 중재 에서 3 대 서버 에 배치
\ # nginx 두 대의 서버 3. Docker Docker 의 시작 과 시작 정지 docker: sudo systemctl start docker 정지 docker: sudo systemctl stop docker
docker: sudo systemctl 다시 시작 docker
docker 상태 보기: sudo systemctl status docker
부팅 시작: sudo systemctl enable docker
docker 개요 보기: docker info
docker 도움말 문서 보기: docker -- help
\ \ # exited 상태의 용 기 를 삭제 합 니 다.
##sudo docker rm $(sudo docker ps -qf status=exited)
\ # 용기 생 성 시 지정 docker 재 부팅 매개 변수 -- restart = always 용기 자동 시작 docker run -- restart = always 생 성 시 지정 되 지 않 은 -- restart = always, update 명령 docker update -- restart = always xxx 를 통 해
3. 용기 대량 조작
docker
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
\ # 모든 미 러 삭제 ~ ~ ~ ~ sudo docker rmi $(docker images - q)
kubectl
source 시동 - 정지 - 재 부팅 - 상태
master
systemctl daemon-reload systemctl start kube-apiserver systemctl start kube-controller-manager systemctl start kube-scheduler etcd
systemctl start etcd systemctl stop etcd systemctl restart etcd client
systemctl start kube-proxy -l systemctl start docker -l systemctl start kubelet -l status
systemctl status etc systemctl status kube - apserver - l systemctl status kube - controller - manager - l systemctl status kube - scheduler systemctl status kube - proxy - l systemctl status docker - l systemctl status kubelet - l 상용 명령
kubectl get pods kubectl get rc kubectl get service kubectl get componentstatuses kubectl get endpoints kubectl cluster-info kubectl create -f redis-master-controller.yaml kubectl delete -f redis-master-controller.yaml kubectl delete pod nginx-772ai kubectl logs -f pods/heapster-xxxxx -n kube-system #로그 보기 kubectl scale rc redis - slave -- replicas = 3 #RC 의 던 전 수 를 수정 하여 Pod 의 동적 크기 조정 etcdctl cluster - health 를 실현 합 니 다. #네트워크 클 러 스 터 건강 상태 etcdctl -- endpoints = 검사https://192.168.71.221:2379 cluster-health #안전 인증 검사 네트워크 클 러 스 터 건강 상태 etcdctl member list etcdctl set / k8s / network / config '{"Network": "10.1.0.0 / 16"}' etcdctl get / k8s / network / config 기본 진급
kubectl get services kubernetes-dashboard -n kube-system #모든 서비스 보기 kubectl get deployment kubernetes - dashboard - n kube - system #발 표 된 모든 kubectl get pods -- all - namespaces 보기 #모든 pod kubectl get pods - o wide -- all - namespaces \ # 모든 pod 의 IP 및 노드 보기 kubectl get pods - n kube - system | grep dashboard kubectl describe service / kubernetes - dashboard -- namespace = "kube - system" kubectl describe pods / kubernetes - dashboard - 349859023 - g6q8c -- namespace = "kube - system" #지정 한 형식 보기 kubectl describe pod nginx - 772 ai #pod 상세 정보 보기 kubectl scale rc nginx -- replicas = 5 # 동적 신축 kubectl scale deployment redis - slave -- replicas = 5 #동적 신축 kubectl scale -- replicas = 2 - f redis - slave - deployment. yaml #동적 신축 kubectl exec - it redis - master - 103017107 - q47hh / bin / bash #용기 kubectl label nodes node 1 zone = north #노드 lable 값 추가 spec. nodeSelector: zone: north \ # pod 가 어느 노드 에 있 는 지 지정 합 니 다 kubectl get nodes - lzone #zone 의 노드 kubectl label pod redis - master - 103017107 - q47hh role = master 가 져 오기 #lable 값 증가 [key] = [value] kubectl label pod redis - master - 103017107 - q47hh role - #lable 값 kubectl label pod redis - master - 103017107 - q47hh role = backend -- overwrite 삭제 #lable 값 수정 kubectl rolling - update redis - master - f redis - master - controller - v2. yaml #설정 파일 스크롤 업그레이드 kubectl rolling - update redis - master -- image = redis - master: 2.0 #명령 업그레이드 kubectl rolling - update redis - master -- image = redis - master: 1.0 -- rollback #pod 버 전 스크롤 백