본문 바로가기
WEB/Infra

podman (Devops)

by 최새벽 2024. 10. 15.

NFS 설치 및 Kubernetes 설정

curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.8.0/deploy/install-driver.sh | bash -s v4.8.0 --
kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller
kubectl -n kube-system get pod -o wide -l app=csi-nfs-node

dnf install nfs-utils -y
mkdir -p /opt/nfs
cat <<EOF> /etc/exports.d/nfs.exports
/opt/nfs *(rw,sync,no_root_squash)
EOF
exportfs -avrs
systemctl enable --now nfs-server.service
showmount -e 192.168.10.10

cat <<EOF> storageclass-configure.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass

metadata:
  name: nfs-csi
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: nfs.csi.k8s.io
parameters:
  server: dns1.example.com
  share: /opt/nfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
  - hard
  - nfsvers=4.1
EOF
kubectl apply -f storageclass-configure.yaml
kubectl apply -f kube-git.yaml
kubectl get sc,pv,pvc -n kube-git

이건뭐지

 

node 1,2,에 

dnf install nfs-utils -y

 

 

podman images

 

skopeo copy --src-tls-verify=false --dest-tls-verify=false docker://dev.example.com:5000/app/blog:webv2 docker://registry.choigang.com/offical/blogweb:v1

skopeo copy --src-tls-verify=false --dest-tls-verify=false docker://dev.example.com:5000/app/blog:dbv2 docker://registry.choigang.com/offical/blogdb:v1

 

skopeo list-tags --tls-verify=false docker://registry.choigang.com/offical/blogweb

skopeo list-tags --tls-verify=false docker://registry.choigang.com/offical/blogdb

 

 

yaml파일 수정

 

 

 

[반 자동화 하기]

mkdir official-blog

cd official-blog

kubectl create deployment --image=registry.choigang.com/official/blog:dbv1 --dry-run=client --output=yaml --replicas=1 --port=5432 official-blog

kubectl create deployment --image=registry.choigang.com/official/blog:webv1 --dry-run=client --output=yaml --replicas=1 --port=8080 official-blog

 

 

 

 

kubectl create deployment --image=registry.choigang.com/offical/blog:dbv1 --image=registry.choigang/offical/blog:webv1 --port=8080 --dry-run=client --output=yaml --replicas=1 offical-blog --namespace=offical-blog > offical-blog-deployment.yaml

 

kubectl create namespace offical-blog --dry-run=client --output=yaml > offical-blog-namespace.yaml

 

kubectl create service clusterip offical-blog --output=yaml --dry-run=client --tcp 8080:8080 --tcp 5432:5432 > offical-blog-service.yaml

kubectl create deployment --image=registry.demo.io/offical/blodb:v1 --image=registry.demo.io/offical/blogweb:v1 --port=8080 --dry-run=client --output=yaml --replicas=1 offical-blog > offical-blog-deployment.yaml

kubectl create namespace blog-service --dry-run=client --output=yaml > offical-blog-namespace.yaml

// 포트 번호는 한번에 2개 안들어감 따로 설정해줘야된다고 함

 

 

[SonarQube]

https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/languages/java/

 

Java

Java analysis is available in all editions of SonarQube.

docs.sonarsource.com

코드 빌드하고 푸시하는거 자동화 사이클 돌리는 도구 

 

 

[SOA]

https://www.ibm.com/kr-ko/topics/soa

 

SOA(Service-Oriented Architecture)란? | IBM

애플리케이션 개발 및 통합의 발전에서 중요 단계인 SOA(Service-Oriented Architecture)를 살펴봅니다.

www.ibm.com

SOA는 애플리케이션 구축 및 통합의 새로운 패러다임으로, 서비스의 재사용성과 상호 운용성을 강조함.

 

[사용하는 이유]

개발자
   ↓
인프라 및 네트워크의 중요성 증가
   ↓
퍼블릭 클라우드의 등장
   ↓
퍼블릭 클라우드 위에 쿠버네티스의 발전
   ↓
쿠버네티스를 통해 퍼블릭 클라우드 없이도 환경 관리 가능
   ↓
효율적인 서비스 배포 및 관리

 

= >표준인터페이스

 

-------------------

 

kubectl get namespace

kubectl create namespace release-blog-service

 

 

깃에 yaml올려두면 

tekton의 kubernates action이 불러와서 사용

api 서버에 action이 전달을 해줌

 

systemctl status kubelet : 프록시 서버 -던져줌-> kubelet

 

 

https://hub.tekton.dev/ 에서 

git clone 검색하고 

tkn task list 에 보면 git-clone설치되어 있는게 보일 것임

https://hub.tekton.dev/tekton/task/git-clone

 

Tekton Hub

 

hub.tekton.dev

 

그냥 있는 코드 그대로 가져와서 사용해도 상관은 크게 없다

 

 

https://github.com/tangt64/training_memos/tree/main/opensource-201/opensource-CNCF-tekton-201

 

training_memos/opensource-201/opensource-CNCF-tekton-201 at main · tangt64/training_memos

collection of training text memo . Contribute to tangt64/training_memos development by creating an account on GitHub.

github.com

 

 

'WEB > Infra' 카테고리의 다른 글

웹 서버 배포하기 01 : ubuntu 설치  (0) 2025.01.16
쿠버네틱스 (Devops)  (0) 2024.10.15
가상머신 ip고정(DevOps)  (1) 2024.07.22
프로젝트 인프라 구축 (DevOps)  (3) 2024.07.22