728x90 반응형 시스템73 무료인증서 발급 방법 Let's Encrypt ssl 인증서 Let's Encrypt ssl 인증서 발급방법 /* Let's Encrypt ssl 인증서 발급방법 */ mkdir -p /var/www/letsencrypt/.well-known/acme-challenge touch /etc/nginx/snippets/letsencrypt.conf chown root:ubuntu /etc/nginx/snippets/letsencrypt.conf chmod 775 /etc/nginx/snippets/letsencrypt.conf vi /etc/nginx/snippets/letsencrypt.conf /* 내용 저장 */ location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /var/www/.. 2024. 2. 29. 도커허브에 올려놓은 이미지 내려 받아서 wildfly 셋팅하기 1. 도커허브 이미지 다운로드 wildfy 서버 이중화 셋팅 이미지 다운로드 wildfly was1 번 다운로드 docker pull cbwstar/wildfly-was1:26.1.3 wildfly was2 번 다운로드 docker pull cbwstar/wildfly-was2:26.1.3 아파치 서버 다운로드 docker pull cbwstar/apache2:2.4.57 톰캐서버 이중화 셋팅 이미지 다운로드 톰캣서버 1번 다운로드 docker pull cbwstar/tomcat9-was1:9.0.76 톰캣서버 2번 다운로드 docker pull cbwstar/tomcat9-was2:9.0.76 공유볼륨 데이타 다운로드 docker pull cbwstar/docker-volume-data:0.1.1 2... 2024. 2. 28. 우분투22.04 아파치 + wildfly 연동 설정 1. 우분투 22.04 도커 설치 vim Dockfile FROM ubuntu:22.04 ARG DEBIAN_FRONTEND=noninteractive ENV TZ=Asia/Seoul RUN sed -i 's/kr.archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list RUN apt update \ && apt install -qq -y init systemd \ && apt install -qq -y build-essential \ && apt install -qq -y tzdata \ && apt install -qq -y vim curl telnet net-tools tzdata openssh-server \ && apt-get clean aut.. 2024. 2. 27. 오라클 클라우드 마리아db 외부 연결 방화벽 설정 오라클 클라우드에서 외부접속을 하기 위해서는 방화벽을 설정 해 줘야 한다. 컴퓨터>인스턴스>인스턴스 세부정부에서 가상클라우드 네트워크 선택 보안목록 선택 수신규칙 추가 CIDR 형식으로 입력후 규칙추가 버튼을 클릭하여 규칙을 추가한다. 마리아 DB 사용자 계정에 외부 접속을 할수 있게 계정을 생성한다. #계정 생성 create user '아이디'@'%' identified by '비밀번호'; #계정 삭제 drop user '아이디'@'%' #유저 목록 확인 select user, host from mysql.user; #권한 부여 grant all privileges on *.* to '아이디'@'%'; #MariaDB 권한 적용 flush privileges; MariaDB - IP 및 PORT 설정 .. 2024. 2. 12. [쿠버네티스] 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. 이전 1 2 3 4 다음 728x90 반응형