본문 바로가기
728x90
반응형

시스템/쿠버네티스37

[쿠버네티스] ingress-nginx-controller node에 다 기동 되어 있어야 한다. node서버가 여러개인 경우 각 node서버 에 ingress-nginx-controller가 기동 되어 있어야 브라우저에서 호출할때 에러가 없다. 각 노드마다 통신을 해야 하는데 ingress-nginx-controller가 떠있지 않은 node에서 서비스가 돌아가는 앱은 ingress와 통신이 안되어서 호출이 안된다. root@master:~/ingress# kubectl get deployments.apps NAME READY UP-TO-DATE AVAILABLE AGE ingress-nginx-controller 1/1 1 1 10d 호출을 해서 확인후에 아래 명령으로 편집을 해서 kubectl edit deployments.apps ingress-nginx-controller replicas: .. 2024. 1. 31.
[쿠버네티스] MSA(7) TLS 인증서 생성 1. MSA ingress SSL 인증서 생성 openssl genrsa -out portal.co.kr.key 4096 openssl genrsa -out admin.co.kr.key 4096 openssl genrsa -out kibana.co.kr.key 4096 openssl genrsa -out gateway.co.kr.key 4096 openssl genrsa -out discovery.co.kr.key 4096 2. vi v3.ext authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment exten.. 2024. 1. 26.
[쿠버네티스] MSA(6) mysql db 설치 1. configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: mysql-configmap labels: env: production tier: database app: configmap name: mysql-configmap data: mysql-user: "msaportal" mysql-database: "msaportal" mysql-allow-empty-password: "1" mysql-root-host: "%" TZ: Asia/Seoul master.cnf: | [mysqld] log-bin character-set-server=utf8 collation-server=utf8_general_ci slave.cnf: | [mysqld] sup.. 2024. 1. 26.
[쿠버네티스] MSA(5) Zipkin 설치 1. deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: zipkin-deployment labels: env: production tier: backend app: zipkin name: zipkin-deployment spec: replicas: 1 selector: matchLabels: env: production tier: backend app: zipkin name: zipkin-pod template: metadata: labels: env: production tier: backend app: zipkin name: zipkin-pod spec: containers: - name: zipkin image: openzip.. 2024. 1. 25.
[쿠버네티스] MSA(4) configmap 생성 1. 환경설정 파일 configmap 생성 vi common-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: common-configmap labels: env: production tier: backend app: configmap name: common-configmap data: APP_HOME: "/srv/nfs" TZ: "Asia/Seoul" vi backend-comfigmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: backend-configmap labels: env: production tier: backend app: configmap name: backend-configm.. 2024. 1. 25.
[쿠버네티스] MSA(3) 도메인별 시크릿 키 생성 1. 가상 도메인별 시크릿 키 생성 1) msa 네임스페이스 변경 kubectl ns msa root@master:/home/msa/k8s/envirionments/nfs# kubectl ns msa Context "kubernetes-admin@kubernetes" modified. Active namespace is "msa". 2) secrets 조회 kubectl get secrets root@master:/home/msa/k8s/envirionments/nfs# kubectl get secrets No resources found in msa namespace. /* msa 네임스페이스에는 작업한게 없어서 생성된 데이타가 없다. */ 3) 시크릿 키 생성 - 인증서 파일이 만들어진 폴더로 이동한.. 2024. 1. 25.
[쿠버네티스] MSA(2) nfs공유폴더 설정 1. MASTER서버를 서버 공유 폴더를 생성한다. * 서버측 nfs 패키지 설치 #!/bin/sh # NFS 서버 패키지를 설치한다. sudo apt install -y nfs-kernel-server # 공유 디렉터리를 만든다. sudo mkdir /srv/nfs # 공유 디렉터리에 권한을 부여한다. sudo chown -R nobody:nogroup /srv/nfs sudo chmod 777 /srv/nfs # 공유 디렉터리 내보내기를 설정한다. echo "/srv/nfs *(rw,sync,no_subtree_check,no_root_squash)" | sudo tee /etc/exports # NFS 서버를 재시작하고 상태를 확인한다. sudo systemctl restart nfs-kernel-.. 2024. 1. 25.
[쿠버네티스] MSA(1) 개발환경 셋팅 1. msa 네임스페이스 생성 kubectl create namespace msa 2. 네임스페이스 확인 kubectl get namespaces root@master:/home/msa/k8s/envirionments/rabbitmq/ingress# kubectl get namespaces NAME STATUS AGE argocd Active 15d calico-apiserver Active 19d calico-system Active 19d default Active 19d harbor Active 8d ingress-nginx Active 8d jenkins Active 16d kube-node-lease Active 19d kube-public Active 19d kube-system Active .. 2024. 1. 25.
[쿠버네티스] 젠킨스에서 깃랩전송시 fatal: could not read Username 에러 발생시 fatal: could not read Username for 'https://invako.kro.kr:8090': No such device or address 깃랩 토큰 : glpat-sXzjyFdtfSg8gpfSmVvM 깃랩 접속 오류 발생시 터미널 접속(도커일경우 도커접속) /* 접속설정 영구저장 */ git config --global credential.helper store # 또는 로그인 정보를 시간단위로 저장 # git config --global credential.helper 'cache --timeout 600' git config --global user.name manager git config --global user.email cbwstar@gmail.com git ls-re.. 2024. 1. 24.
[쿠버네티스] Argocd TLS/SSL 적용 1. ca 키생성 openssl genrsa -out ca.key 4096 2. ca 인증성생성 openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Osong/L=Osong/O=invako/OU=Personal/CN=192.168.2.50" \ -key ca.key \ -out ca.crt 3. 서버 인증서 개인키 생성 openssl genrsa -out argocd.co.kr.key 4096 3. 인증서 서명요청(CSR) /* CN은 도메인이나 아이피 입력 */ openssl req -sha512 -new \ -subj "/C=CN/ST=South/L=Osong/O=invako/OU=Personal/CN=argocd.co.kr" \ -.. 2024. 1. 24.
[쿠버네티스] nginx TLS(SSL) 접속 & vhost & proxy 설정 젠킨스 ssl 적용 1. nginx 도커 설치 1) docker-compose.yaml 파일생성 vi docker-compose.yaml version: '3.1' services: nginx: container_name: nginx_web image: nginx:latest restart: always ports: # 사용안하는 포트와 포트 포워딩 - "7080:80" - "5443:443" volumes: # ssl 사설인증서 공유폴더 설정 - ./ssl:/etc/ssl - ./nginx.conf:/etc/nginx/conf.d/default.conf # - ./content:/usr/share/nginx/html:rw # 동일네트워크 대역설정 networks: - apps_net environment: - TZ=Asi.. 2024. 1. 23.
[쿠버네티스] rabbitmq 설치 ingress 적용 & SSL 적용 1. 폴더 생성 mkdir -p /home/msa/k8s/envirionments/rabbitmq cd /home/msa/k8s/envirionments/rabbitmq 1) deployment 생성 vi deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: rabbitmq-deployment labels: env: production tier: backend app: rabbitmq name: rabbitmq-deployment spec: replicas: 1 selector: matchLabels: env: production tier: backend app: rabbitmq name: rabbitmq-pod template: me.. 2024. 1. 23.
[쿠버네티스] Ingress TLL/SSL 설정 1. CA 인증서 개인 키를 생성합니다. openssl genrsa -out ca.key 4096 2. CA 인증서를 생성합니다. openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Korea/L=Osong/O=invako/OU=Personal/CN=localhost" \ -key ca.key \ -out ca.crt 3. 서버 인증서를 생성합니다. 1) 개인키(비밀키) 생성 openssl genrsa -out invako.kro.kr.key 4096 2) 인증서 서명 요청 CA루트인증서 (CSR)을 생성합니다. openssl req -sha512 -new \ -subj "/C=CN/ST=South/L=Osong/O=invako/OU=P.. 2024. 1. 23.
[쿠버네티스] GitLab-ArgoCd CD 구축 1. krew 이용한 플러그인 설치 ns : 네임스페이스를 변환해주는 플러그인 neat : yaml 추출시 불필요한 부분을 삭제하여 깔끔하게 볼 수 있는 플러그인 설치 kubectl krew install ns kubectl krew install neat root@master:~/argocd# kubectl krew install ns Updated the local copy of plugin index. Installing plugin: ns Installed plugin: ns \ | Use this plugin: | kubectl ns | Documentation: | https://github.com/ahmetb/kubectx | Caveats: | \ | | If fzf is installed.. 2024. 1. 16.
[쿠버네티스] 쿠버네티스 배포하기 위한 manifest 파일생성 & 깃랩전송 오류시 credential 설정 1. manifest 레포지토리 생성 2. 로컬에 manifest 폴더 생성 - README.md , pipelineapp_deployment.yaml. pipelineapp_service.yaml 파일 생성 - 쿠버네티스에 디폴로이 하기 위한 deployment 파일 생성 pipelineapp_deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: pipelineapp-deploy spec: replicas: 2 selector: matchLabels: type: pipeline version: v1 template: metadata: labels: type: pipeline version: v1 spec: containers: - n.. 2024. 1. 16.
[쿠버네티스] 젠킨스 & 깃랩 CI 자동배포 1. 젠킨스 설정 1) 깃랩인증정보 등록 2) global 클릭 2) Add Credectials 클릭 3) Username with password 4) GitLab API token 5) 젠킨스관리-> 시스템 2. 깃랩 토큰 발행 - 발행된 토큰을 위에 젠킨스에 사용 1) 신규프로젝트 생성 2) 프로젝트 생성 완료 로컬pc에서 작업한 소스 깃랩으로 push 3) 로컬 작업 소스 깃랩 push 4) 깃랩 명령어 실행 5) 깃랩 소스 반영 확인 6) Webhooks 설정 - 소스 커밋시 자동 CI 7) 젠키스 파이프라인 생성 - 메인화면에서 새로운 item 클릭 3 파이프라인 테스트 1) Dockerfile 생성 FROM openjdk:17-ea-11-jdk-slim LABEL authors="cbw" .. 2024. 1. 15.
[쿠버네티스] 깃랫 접속 ssh키 등록 원격깃랩으로 ssh 인증으로 접속하기 1. ssh 키생성 ssh-keygen -t rsa root@jenkins:~# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa Your public key has been saved in /root/.ssh/id_rsa.pub The key fingerprint is: SHA256:C.. 2024. 1. 15.
[쿠버네티스] Debian 12 리눅스 자바17설치 APT를 통해 Debian 12, 11, 10에 OpenJDK 17 설치 1단계: OpenJDK 17 설치 전 Debian 패키지 업데이트 OpenJDK를 설치하기 전에 Debian Linux의 모든 시스템 패키지가 최신 상태인지 확인하는 것이 중요합니다. 시스템을 업데이트하면 OpenJDK 설치 프로세스 중에 충돌이 발생할 가능성이 최소화됩니다. 패키지를 업데이트하고 업그레이드하려면 터미널에서 아래 명령을 실행하세요. sudo apt update && sudo apt upgrade 이 명령은 사용 가능한 업데이트 목록을 가져온 다음 패키지를 업그레이드합니다. 2단계: OpenJDK 17 패키지 검색 OpenJDK 17을 설치하는 가장 안정적이고 번거롭지 않은 방법은 기본 Debian 저장소를 이용하는 .. 2024. 1. 15.
[쿠버네티스] Spring boot를 이용한 샘플 웹 애플리케이션 생성 1. 개발툴 인텔리 제이 설치 https://www.jetbrains.com/ko-kr/idea/ IntelliJ IDEA – Java 및 Kotlin을 위한 최고의 IDE www.jetbrains.com 인텔리제이 사이트에 들어가서 돈이 없으니까 공짜 버전 커뮤니티 버전을 다운 받아 설치 합니다. - 개발툴이 좋아야 개발이 편해 집니다.(인텔리제이를 추천합니다.) 2. spring.io 홈페이지에 가서 스프링 프로젝트 생성 https://start.spring.io/ - 간단하게 테스트 용도니까 Spring Web을 추가 합니다. - 방금 선택한 내용 대로 ZIP 파일로 다운을 받습니다. - 다운 받은 파일을 d:\spring-cloud\example\ 위에서 만들어 놓은곳으로 카피해서 압축을 풉니다... 2024. 1. 13.
[쿠버네티스] git clone 인증서 오류 발생시 git clone https://xx.xxx.com:9888/xxxx.git certificate verification faile. CAfile: /etc/ssl~~~~~에러 발생시 SSL Verify 옵션을 Off 해주면 Clone일 잘된다. git config --global http.sslVerify false 2024. 1. 13.
728x90
반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading