Home

0

Helm 을 이용해 Nexus 설치하기

참고1. Helm Repository 추가helm repo add sonatype https://sonatype.github.io/helm3-charts/ 2. Nexus InstallapiVersion: storage.k8s.io/v1kind: StorageClass metadata: name: <storage class 이름> namespace: <namespace 명>volumeBindingMode: Immediateprovisioner: ebs.csi.aws.comparameters: type: gp3reclaimPolicy: RetainallowVolumeExpansion: true# reclaimPolicy: Delete values.yamlStorageClass 정보 추가 ...persistence: enabled: true accessMode: ReadWriteOnce existingClaim: # annotations: # "helm.sh/resource-policy": keep storageClass: "nexus-ebs" storageSize: 20Gi # If PersistentDisk already exists you can create a PV for it by including the 2 following keypairs. # pdName: nexus-data-disk # fsType: ext4tolerations: []

0

Istio - 토폴로지 인지 힌트

목차 Post not found: k8s/namespace Post not found: k8s/ingress Post not found: k8s/deployment Post not found: k8s/replicaset Post not found: k8s/node Post not found: k8s/pod 참고 https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/kubernetes-versions.html https://kubernetes.io/ko/docs/concepts/services-networking/topology-aware-hints/ https://tetrate.io/blog/minimizing-cross-zone-traffic-charges-with-istio/ 쿠버네티스 Node Zone 확인kubectl get nodes -L topology.kubernetes.io/zone Istio 에 토폴로지 인지 힌트 추가apiVersion: v1kind: Servicemetadata: annotations: # topology-aware-hints 추가 service.kubernetes.io/topology-aware-hints: auto name: istiod namespace: istio-system

0

쿠버네티스 - Namespace

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod Post not found: k8s/k8s Namespace 란? 쿠번네티스 Cluster 들을 논리적으로 나누기 위한 수단. Namespace 를 이용하면 Pod, Service, Volumn 과 같은 다양한 리소스를 분리하고 격리할 수 있다. Namespace 생성kubectl create namespace your-namespace-name apiVersion: v1kind: Namespacemetadata: name: [Namespace 이름] kubectl apply -f namespace.yaml

0

AgroCD

공식 홈페이지 https://argo-cd.readthedocs.io/en/stable/ ArgoCD 란?Argo CD는 Kubernetes 및 OpenShift를위한 선도적 인 CI / CD 도구 중 하나입니다. Argo CD는 GitOps를 구현하는 데 사용됩니다. GitOps는 클러스터 구성 및 애플리케이션 배포를 관리하기 위해 Git의 Git 저장소를 단일 소스 진실로 사용하는 접근 방식입니다. Argo CD는 GitOps를 사용하여 애플리케이션 배포 및 런타임 환경을 지속적으로 동기화합니다. Git 저장소의 설정 파일은 Kubernetes 클러스터에있는 애플리케이션을 제어하는 데 사용됩니다. Argo CD는 Kubernetes YAML 파일에서 파싱 된 리소스를 사용하여 배포 및 롤백을 제어합니다. Argo CD는 새로운 애플리케이션 버전을 배포하거나 더 이상 필요하지 않은 버전을 삭제하는 등의 작업을 수행합니다. 또한 미리 정의된 특정 행동 및 이벤트가 발생 할 때 자동으로 배포를 트리거 할 수있는 훅을 제공합니다. Argo CD는 쉽게 설정하고 사용할 수 있으며, CLI와 UI 모두를 통해 사용자 친화적 인 방법으로 애플리케이션의 배포를 제어할 수 있습니다. 따라서 Argo CD는 Kubernetes 및 OpenShift에서 애플리케이션 배포를 단순화하고 자동화하는 강력한 도구입니다.

0

쿠버네티스 - Ingress

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod Post not found: k8s/k8s Ingress

0

Helm 을 이용한 Jenkins 설치 - 04. Jenkinsfile 작성

목차 Helm 을 이용한 Jenkins 설치 - 04. Jenkinsfile 작성 Helm 을 이용한 Jenkins 설치 - 03. Gitea 와 연동하기 Helm 을 이용한 Jenkins 설치 - 02. Agent 추가 Helm 을 이용한 Jenkins 설치 - 01. 설치 Jenkins 란참고 https://www.jenkins.io/doc/pipeline/steps/docker-workflow/ https://tech.osci.kr/2020/01/21/kubernetes%EC%83%81%EC%9D%98-jenkins-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EC%9E%91%EC%84%B1%EB%B0%A9%EB%B2%95/ https://www.codurance.com/publications/2019/05/30/accessing-and-dumping-jenkins-credentials https://www.jenkins.io/doc/pipeline/steps/credentials-binding/ https://www.jenkins.io/doc/pipeline/steps/pipeline-aws/ https://awstip.com/deploying-a-spring-boot-application-on-aws-eks-using-jenkins-cicd-a-step-by-step-guide-8e684f488ffc Erorr : You must be logged in to the server (Unauthorized) https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-api-server-unauthorized-error/ Evn Variable https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables Agent 추가additionalAgents: maven: podName: maven customJenkinsLabels: maven image: jenkins/jnlp-agent-maven tag: jdk11 node: podName: node customJenkinsLabels: maven image: jenkins/jnlp-agent-node tag: latest

0

쿠버네티스 - Service

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod 쿠버네티스 - Data Plane 쿠버네티스 - Control Plane Post not found: k8s/k8s 참고 공식 문서 https://kubernetes.io/docs/concepts/services-networking/service/ Service Service 는 클러스터 내부에서 작동하는 Pod 들을 하나의 서비스로 단일화 해 네트워크에 노출 시키는 Resource Service 는 쿠버네티스내 여러개의 Pod 들이 작동하지만, 하나의 그룹으로 단일화 해 네트워크로 노출하기 때문에 마치 하나의 어플리케이션이 작동하는 것 처럼 추상화할 수 있습니다. 덕분에 서비스를 사용하면 파드를 직접 지정하지 않고 네트워크를 통해 파드에 접근할 수 있습니다. 또한, Service 는 동일한 애플리케이션의 여러 Pod 에 대한 로드 밸런싱 도 제공합니다. 기존에 서로 다른 어플리케이션 Pod 들끼리 통신하는 방식에서 Service 라는 단위를 통해 통신하는 형태로 변경이 됐습니다. 덕분에 동적으로 변하는 Pod 의 IP 주소 문제를 해결할 수 있었으며, 여러개의 Pod 를 바라보기 때문에 Pod 에 대한 로드밸런서 기능을 제공합니다. 또한, DNS 를 사용해 Service 이름을 등록함으로써 Service 이름으로 통신할 수 있게 지원합니다.

0

Helm 을 이용한 Jenkins 설치 - 03. Gitea 와 연동하기

목차 Helm 을 이용한 Jenkins 설치 - 04. Jenkinsfile 작성 Helm 을 이용한 Jenkins 설치 - 03. Gitea 와 연동하기 Helm 을 이용한 Jenkins 설치 - 02. Agent 추가 Helm 을 이용한 Jenkins 설치 - 01. 설치 Jenkins 란Erorr : You must be logged in to the server (Unauthorized)참고 https://code00.tistory.com/123 https://hub.docker.com/r/jenkins/inbound-agent https://github.com/jforge/docker-jenkins-inbound-agent https://www.jenkins.io/doc/pipeline/steps/docker-workflow/ https://tech.osci.kr/2020/01/21/kubernetes%EC%83%81%EC%9D%98-jenkins-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EC%9E%91%EC%84%B1%EB%B0%A9%EB%B2%95/ https://www.codurance.com/publications/2019/05/30/accessing-and-dumping-jenkins-credentials https://www.jenkins.io/doc/pipeline/steps/credentials-binding/ https://www.jenkins.io/doc/pipeline/steps/pipeline-aws/ https://awstip.com/deploying-a-spring-boot-application-on-aws-eks-using-jenkins-cicd-a-step-by-step-guide-8e684f488ffc Erorr : You must be logged in to the server (Unauthorized) https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-api-server-unauthorized-error/ Timezone 변경controller: javaOpts: "-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Seoul"

0

쿠버네티스 - Deployment

목차 Post not found: k8s/namespace Post not found: k8s/ingress 쿠버네티스 - Deployment Post not found: k8s/pod/replicaset 쿠버네티스 - Pod Deployment 어플리케이션을 클러스터 내의 여러 노드에 자동으로 배포 및 롤백 할 수 있는 리소스 클러스터에 인스턴스를 생성하고 배포하는 작업을 수항한다. Pod 를 개체를 관리한다. Deployment 를 이용해 Pod 를 생성하고 클러스터의 노드에 배포할 수 있다. Deployment 를 통해 Application 의 새로운 버전을 배포하거나 이전 버전으로 롤백할 수 있다. Deployment 를 생성하면 Deployment 에 해당하는 ReplicaSet 도 함께 생성된다. Deployment 리소스를 사용하면 애플리케이션의 상태, 레플리카 수, 롤링 업데이트, 롤백 등을 관리할 수 있습니다. 여러 개의 Pod 인스턴스를 생성하여 애플리케이션을 실행하는 것이 Deployment의 주요 목적입니다. Pod는 컨테이너를 실행하는 단위이며, Deployment는 이러한 Pod 인스턴스들을 생성하고 관리합니다. Deployment는 Pod의 상태를 모니터링하고 필요에 따라 새로운 Pod를 생성하거나 종료하여 애플리케이션을 원하는 상태로 유지합니다. Deployment는 롤링 업데이트를 통해 애플리케이션을 업데이트할 수 있는 기능도 제공합니다. 새로운 버전의 애플리케이션을 배포하면 Deployment는 점진적으로 Pod를 업데이트하고 이전 버전과 새 버전을 동시에 실행하면서 서비스의 가용성을 유지합니다. 롤링 업데이트 중에 문제가 발생하면 롤백하여 이전 버전으로 되돌릴 수도 있습니다. Deployment 리소스는 YAML 또는 JSON 형식으로 정의되며, 쿠버네티스 클러스터에 배포되어 관리됩니다. Deployment를 생성하면 해당 애플리케이션의 레플리카셋(ReplicaSet)과 함께 생성됩니다. ReplicaSet은 Pod 인스턴스의 수를 지정하고 관리하는 역할을 수행하며, Deployment는 ReplicaSet을 업데이트하거나 롤백하는 등의 작업을 수행합니다.

0

쿠버네티스 - StatefulSet

목차 쿠버네티스 - HPA (Horizontal Pod Autoscaler) 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod Post not found: k8s/k8s StatefulSet쿠버네티스(StatefulSet)는 쿠버네티스 클러스터 내에서 실행되는 애플리케이션의 상태를 유지하는 데 사용되는 컨트롤러입니다. 일반적으로 상태가 있는 애플리케이션인 데이터베이스, 메시지 큐 또는 파일 시스템과 같은 애플리케이션에 유용합니다. 쿠버네티스에서 일반적인 배포 유형인 Deployment는 상태를 가지지 않는 애플리케이션에 적합하지만, StatefulSet은 상태를 유지해야하는 애플리케이션을 관리하는 데 사용됩니다. 각 StatefulSet 팟은 고유한 네트워크 식별자와 지속적인 데이터 저장을 위한 별도의 볼륨을 갖습니다. 이러한 고유성은 팟이 쿠버네티스 클러스터에서 생성, 업데이트 및 삭제될 때 유지됩니다. StatefulSet은 일련의 인스턴스를 정의하고 관리하는 데 사용됩니다. 각 인스턴스는 순차적인 인덱스로 식별되며, 정의된 인스턴스 수에 따라 자동으로 생성 및 관리됩니다. 또한 StatefulSet은 인스턴스 간에 순차적으로 시작되고 종료되는 순서 보증을 제공합니다. StatefulSet을 사용하여 애플리케이션을 배포하면 각 인스턴스에 고유한 호스트 이름이 부여되고, 이를 통해 클러스터 내에서 인스턴스를 참조할 수 있습니다. 이러한 특성은 데이터베이스 클러스터의 마스터-슬레이브 설정과 같은 애플리케이션에서 중요합니다. StatefulSet은 쿠버네티스 클러스터의 안정성과 신뢰성을 향상시키는 데 도움이 됩니다. 예를 들어, StatefulSet은 팟이 실패한 경우 자동으로 새로운 인스턴스를 시작하여 애플리케이션의 가용성을 유지합니다. 또한 업그레이드 및 롤백과 같은 애플리케이션 버전 관리를 쉽게 할 수 있습니다. 요약하면, 쿠버네티스 StatefulSet은 상태가 있는 애플리케이션을 배포하고 관리하는 데 사용되며, 각 인스턴스에는 고유한 식별자와 별도의 볼륨이 제공됩니다. 이를 통해 순차적