Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 | 31 |
Tags
- Grafana
- Kubernetes
- argocd
- 모의해킹
- Crawling
- opentelemetry
- sonarqube
- DevOps
- Service Mesh
- 웹 취약점
- gitlab ci
- gitlab cd
- ECR
- 웹 해킹
- docker
- linkerd
- eks
- Jenkins
- helm
- deploy
- Monitoring
- CI/CD
- 크롤링
- CI
- scraping
- 스크레이핑
- GitLab
- CD
- Resource
- Prometheus
Archives
- Today
- Total
ㅡ.ㅡ
[K8S] Kubernetes Dashboard 본문
Nginx 컨트롤러 생성
설치 파일
wget -O aws_nlb_nginx_ingress_controller.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/deploy.yaml
프라이빗 서브넷에 로드밸런서 생성 설정 추가
프라이빗 서브넷 태그 추가
KEY : kubernetes.io/role/elb Value : 1,
KEY : kubernetes.io/role/internal-elb Value : 1
퍼블릭 서브넷에 생성 시 service.beta.kubernetes.io/aws-load-balancer-internal: "true" 항목 제거
271 # Source: ingress-nginx/templates/controller-service.yaml
272 apiVersion: v1
273 kind: Service
274 metadata:
275 annotations:
276 service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
277 service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: 'true'
278 service.beta.kubernetes.io/aws-load-balancer-type: nlb
279 service.beta.kubernetes.io/aws-load-balancer-internal: "true" # 추가
설치 및 확인
ktl apply -f aws_nlb_nginx_ingress_controller.yaml
ktl get svc -n ingress-nginx
대시보드, 매트릭 서버 생성
설치 파일
wget -O metric.yaml https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml
wget -O dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
대시보드 세션 타임 변경
containers:
- name: kubernetes-dashboard
image: 'kubernetesui/dashboard:v2.0.0'
args:
- '--auto-generate-certificates'
- '--namespace=kubernetes-dashboard'
- --token-ttl=43200 # 추가
설치 및 확인
ktl apply -f dashboard.yaml,metric.yaml
ktl get deploy -n kubernetes-dashboard
로드밸런서에 대한 룰셋(Ingress) 생성
설치 파일
cat > ingress-dashboard.yaml << EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: dashboard
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/configuration-snippet: |
rewrite ^(/dashboard)$ $1/ redirect;
namespace: kubernetes-dashboard
spec:
rules:
- http:
paths:
- path: /dashboard(/|$)(.*)
backend:
serviceName: kubernetes-dashboard
servicePort: 443
EOF
설치 및 확인
kubectl apply -f ingress-dashboard.yaml
ktl get ingress -n kubernetes-dashboard
eks-admin 서비스 계정 및 클러스터 역할 바인딩 만들기
설치 파일
cat > eks-admin-service-account.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: eks-admin
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: eks-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: eks-admin
namespace: kube-system
EOF
설치 및 접근 토큰 값 확인
ktl apply -f eks-admin-service-account.yaml
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')
대시보드 접속
ktl get svc -n ingress-nginx 명령어로 주소 확인 후 https://주소값/dashboard/를 주소에 접속하여 확인한 토큰 값을 통해 로그인
)
'Observabillity' 카테고리의 다른 글
[Monitoring] Prometheus-Stack (0) | 2021.10.31 |
---|---|
[Logging] APP Logging/Fluentd&Fluentbit (0) | 2021.10.17 |
[Monitoring] snmp_exporter(fortigate) (0) | 2021.01.23 |
[Monitoring] 도커 컨테이너(호스트) 모니터링 (0) | 2021.01.23 |
[Monitoring] Grafana (0) | 2021.01.02 |