OS커널의 역할 1 시스템 콜 인터페이스 프로세스/스레드에서 커널로 연결되는 인터페이스로, 애플리케이션이 OS를 통해서 어떤 처리를 하고 싶을 때 시스템 콜이라는 명령을 이용해서 커널에 명령을 내린다. 2 프로세스 관리 언제 어떤 수십, 수백, 수천 개의 프로세스가 어느 정도의 CPU 코어를 이용할 수 있는지 처리 우선순위를 어떻게 결정할 것인지 등을 관리한다. 3 메모리 관리 메모리 공간의 최대치를 고려하여, 프로세스가 이용하는 독립 메모리 공간을 확보하거나 상호 간의 참조 영역을 지키기 위해 독립성을 관리한다. 4 네트워크 스택 5 파일 시스템 관리 디렉토리 구조를 제공하고, 액세스를 관리하고, 고속화 및 안정성 향상을 한다. 6 장치 드라이버 디스크나 NIC 등의 물리 장치용 인터페이스를 제공하고,..
argocd 수정사항을 gitlab-runner에서 push 하는데 다음과 같은 에러가 발생했다 $ git push origin main error: src refspec main does not match any error: failed to push some refs to 'http://00000.0000.000.0.0.0.0.0.git' ERROR: Job failed: exit status 1 git checkout main git push origin main 해결방법은 브랜치명을 지정해주는 것이다.
Gitlab으로 CI를하고 Argocd로 배포를 하려다 보니 자동화를 위해서는 도커로 이미지를 빌드하고 난 후에, helm으로 value를 업데이트하는 과정을 다른 방식으로 전환해야, argocd를 사용하여 CI 파이프라인으로부터의 automation을 할 수 있었다. 구글링을 해보니 kustomize를 통해서 patch를 하는 것 같아서 kustomize를 설치 및 사용해보고자 한다. Kustomize 설치하기 https://kubectl.docs.kubernetes.io/installation/kustomize/binaries/ Binaries Install Kustomize by downloading precompiled binaries. kubectl.docs.kubernetes.io curl -..
Local에 storageclass 생성 apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: local-storage provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer 생성한 sc를 default로 설정 kubectl patch storageclass local-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' 그 다음은 공식문서 참조 https://kubesphere.io/docs/quick-start/minimal-ku..
kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml #loadbalancer로 안하고 nodeport로 함(내부 개발용이어서) kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}' #초기 비밀번소 (id 는 admin) kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d #ArgoCD GUI화면에 접..
이미지 버젼 관리 stages: - build - test - deploy variables: IMAGE_NAME: build: stage: build script: - docker login --username --password-stdin < - ls -al - docker build . -t $IMAGE_NAME:$CI_COMMIT_SHA - docker push $IMAGE_NAME:$CI_COMMIT_SHA when: manual test: stage: test script: - docker login --username --password-stdin < - docker run -tid $IMAGE_NAME:$CI_COMMIT_SHA - docker ps - curl $IMAGE_NAME:$CI..
Workflow 1. git commit && git push 코드를 저장소에 푸쉬합니다 2. GitLab CI pipeline 코드가 GitLab의 CI를 탑니다 - image saves in Harbor registry CI를 탄 이미지기 이미지 레지스트리에 저장됩니다(태깅) - helm manifest file update using latest image helm파일이 최신이미지를 사용해 업데이트 됩니다. 3. ArgoCD sysc helm file ArgoCD가 최신화된 helm 파일을 관리합니다 4. ArgoCD deploy change ArgoCD가 수정을 배포에 반영합니다. 지난 과제 git repogitory 및 branch 생성 harbor setting1 및 harbor setting..