728x90

https://extrashot.tistory.com/78

 

[게시판스킨] 스케줄 게시판 ver.2 (최종수정 24.05.30 09:42)

아보카도 에디션에서 사용 가능한 스케줄 게시판입니다.기존에 있던 겹치는 일정이 있을때 일정 라인이 끊어지는 부분을 수정하였습니다.게시판으로 쓸 수 있는 스킨과 최신글스킨(커뮤 메인

extrashot.tistory.com

 

수정해야 하는 파일

ㄴskin

    ㄴboard

        ㄴschedule2 (게시판용)

    ㄴlatest

        ㄴschedule2 (최신글용)

           ㄴ latest.skin.php 파일 수정

 

이전 달 / 다음 달 값 받아오기

파일 내에서 '오늘의 달력' 검색 (기본 15 번째 줄)

해당 코드 '위'에 아래 코드 추가

if (isset($_GET['year'])) $year = (int)$_GET['year'];
if (isset($_GET['month'])) $month = (int)$_GET['month'];

 

이전 달 / 다음 달로 가는 링크 생성하기

span title 검색 (기본 50 번째 줄)

해당 코드 줄 아래 코드로 변경

	<a href="<?php echo $_SERVER['PHP_SELF']."?bo_table=".$bo_table."&"; ?><?php if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} echo ("year=$year_pre&month=$month_pre&sc_no=$sc_no");?>"><</a>
	<span title="<?php echo $year ?>년 <?php echo $month ?>월"><?=$month_m?> <?=$year?></span>
	<a href="<?php echo $_SERVER['PHP_SELF']."?bo_table=".$bo_table."&"; ?><?php if($month == 12) {$year_pre=$year+1; $month_pre=1;} else {$year_pre=$year; $month_pre=$month+1;} echo ("year=$year_pre&month=$month_pre&sc_no=$sc_no");?>">></a>

 

혹시나 대하 님께서 이 글을 발견하시면 모쪼록 배포하고 계시는 파일에 반영해 주시길... 항상 감사드립니다.

728x90
728x90

CKA 시험을 좀 더 편하고 빠르게 볼 수 있기 위한 터미널 환경 세팅

일부 문제는 ssh를 통해 다른 노드로 접근해야 하는데, 이 경우 해당 세팅이 유지되진 않는 점을 참조해야 합니다.

 

 

CKA 시험에 이미 설정되어 있는 부분

alias

alias k=kubectl

https://kubernetes.io/docs/reference/kubectl/cheatsheet/

Vim

~/.vimrc

set tabstop=2

set expandtab

set shiftwidth=2

추가 설정

빠르게 yaml 파일로 저장하기

export do="--dry-run=client -o yaml"

ex) k run pod1 --image=ngnix $do

빠르게 pod 삭제하기

export now="--force --grace-period 0"

ex) k delete pod1 $now

Namespace 줄이기

alias kn='kubectl config set-context --current --namespace '

ex) kn default # default ns로 세팅

기타

history 명령어를 통해 썼던 명령어 확인하기

또는 Ctrl r

명령어를 치고 대기해야 하는 경우, Ctrl z를 사용하여 작업을 백그라운드에 배치

fg 명령어를 통해 다시 가져올 수 있음

Vim 단축키

줄 번호 붙이기

:set nu

복사, 붙여넣기, 잘라내기

라인 표시: Esc+V

복사: y

잘라내기: d

붙여넣기: p

728x90
728x90

쿠버네티스 대시보드

관련 문서

쿠버네티스 대시보드 설치 자체는 금방 끝난다. 편리하게 GUI를 이용해 보도록 하자.

 

1. 대시보드 적용

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

 

1.5 원격으로 서버에 접속하고 있다면, kubernetes-dashboard service의 yaml 변경이 필요하다.

kubectl edit services kubernetes-dashboard -n kubernetes-dashboard

해당 명령어를 통해 수정이 가능하다. 아랫쪽에 있는 type을 ClusterIP에서 NodePort로 변경하면 된다.

apiVersion: v1
kind: Service
  ...
spec:
  ports:
  - nodePort: 31116
    port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: NodePort
[root@master ~]#  kubectl get services -n kubernetes-dashboard
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.102.33.100   <none>        8000/TCP        17h
kubernetes-dashboard        NodePort    10.108.90.43    <none>        443:31116/TCP   17h

수정된 것을 확인하면 TYPE이 NodePort로 변경되었다. 마스터노드IP:노드포트(31116)으로 접속 가능하다.

해당 과정을 거치지 않고 원격지에서 마스터 노드 IP를 통해 대시보드에 접속하면 보안 문제로 토큰 입력이 불가능하다.

 

2. 대시보드 접속 활성화

kubectl proxy

프록시를 활성화 했다면 다음 링크로 대시보드 접근이 가능하다. http://localhost:8001/

1-5 단계를 거친 경우 https://마스터노드IP:NodePort 로 접속 가능하다.

 

3. 접속 방법

해당 주소로 접속하면, 다음과 같은 창이 뜬다.

 

4. 토큰 생성 방법

Serviceaccount는 kubectl get serviceaccount 명령어로 확인이 가능하지만, 권한이 없어 대시보드에 접근해도 아무것도 볼 수 없는 상태다. 그러므로 권한을 가지고 있는 어카운트를 만들어 보도록 하자. 대시보드 네임스페이스에 admin-user 어카운트를 만들어 준다.

cat <<EOF | kubectl create -f -
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
EOF
[root@master ~]# kubectl get serviceaccounts -n kubernetes-dashboard
NAME                   SECRETS   AGE
admin-user             1         65s
default                1         19h
kubernetes-dashboard   1         19h

 

만들고 권한을 생성해 준다. cluster-admin이라는 role이 모든 권한을 가지고 있다.

cat <<EOF | kubectl create -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kubernetes-dashboard
EOF
[root@master ~]# kubectl get clusterrolebinding admin-user
NAME         ROLE                        AGE
admin-user   ClusterRole/cluster-admin   45s

 

그런 다음 토큰을 가져온다.

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

[root@master ~]# kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
Name:         admin-user-token-s6pvq
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: admin-user
              kubernetes.io/service-account.uid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1099 bytes
namespace:  20 bytes
token:      블라블라

 

제일 아래의 토큰 값을 기입해 주면, 접속 완료! 모든 권한을 가지고 있다.

728x90