쿠버네티스 대시보드이다. kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml 외부접속을위해 여러방법이 있지만 편의상 NordPort 를 사용한 방법을 적용 kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}' or kubectl edit service -n kubernetes-dashboard kubernetes-dashboard kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kub..
이곳에서 패스워드를 변경 가능하다. 적당히 git repository를 만들고 파일을 구성해준다. deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: hello-nginx spec: replicas: 1 selector: matchLabels: app: hello-nginx template: metadata: labels: app: hello-nginx spec: containers: - name: hello-nginx image: nginx:latest ports: - containerPort: 80 service.yaml apiVersion: v1 kind: Service metadata: name: hello-nginx spec..
argoCD를 사용해서 git에 push를 하면 자동으로 k8s 클러스터에 배포가 되도록 구성 네임스페이스 생성 및 argoCD yaml 배포 kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml argocd cli sudo curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 chmod +x /usr/local/bin/argocd nodeport 설정 kube..
# 마스터노드 및 각 워커노드 sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT # 마스터노드 및 각 워커노드 sudo iptables -A INPUT -i lo -j ACCEPT # 마스터노드 및 각 워커노드 sudo iptables -A INPUT -p icmp -j ACCEPT # 마스터노드 및 각 워커노드 sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT # 마스터노드 및 각 워커노드 sudo iptables -A INPUT -p tcp --dport..
https://summit-e1.labs.awsevents.com/ https://summit-e1.labs.awsevents.com/ summit-e1.labs.awsevents.com 일정기간동안 AWS의 강좌들이 무료로 진행한다고한다! 비용때문에 못했던 AWS 여러가지 기능 체험과 AWS자격증을 공부할 수 있는 기회인것같다.
containerd 설치 (Container Runtimes) 인스턴스 3개 전부 sudo apt-get install containerd -y sudo mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml sudo systemctl stop containerd sudo apt install curl curl -LO https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-1.7.0-linux-arm64.tar.gz curl -LO https://github.com/containerd/containerd/releases..
기본적인 ansible이 구현이 되었으면 kubespray를 설치해보도록 한다. python, pip, git sudo apt update sudo apt install -y python3 python3-pip git git clone 적당한 장소에 kubespray git을 clone 해오도록 한다. git clone -b v2.21.0 https://github.com/kubernetes-sigs/kubespray.git ## 현재 릴리즈 최신버전인 2.21.0 으로 진행하는데 관련한 요구사항들은 https://github.com/kubernetes-sigs/kubespray/tree/v2.21.0 GitHub - kubernetes-sigs/kubespray: Deploy a Production R..
각각 ssh 접속을 확인하였으면 쿠버네티스 클러스터를 설치하도록 한다. 쿠버네티스 설치의 방법은 여러가지가 있는데 KUBESPRAY 을 이용해서 설치해 보도록 한다. kubeadm이 가장 보편적인 방법이지만 한번에 여러개의 인스턴스에 초기 설치할때에는 KUBESPRAY가 간편하다고 생각한다. https://kubernetes.io/ko/docs/setup/production-environment/tools/kubespray/ Kubespray로 쿠버네티스 설치하기 이 가이드는 Kubespray를 이용하여 GCE, Azure, OpenStack, AWS, vSphere, Equinix Metal(전 Packet), Oracle Cloud infrastructure(실험적) 또는 베어메탈 등에서 운영되는 쿠..
AWS EC2 등 여러 클라우드의 인스턴스의 ssh에 접속을 할 때마다 key를 넣어주는것이 불편하고 다른 시스템에서는 key파일이 없으면 접속을 하지 못하는것이 불편해서 ip와 비밀번호만으로 접속을 해보게 바꾸도록한다. * 편의성을 챙겼지만 보안면에서는 그렇게 좋지 못하기 때문에 중요한 자료가 있는 인스턴스나 사내에서는 사용하지 않도록 주의한다. ssh 접속후 유저 생성 sudo adduser "user" sudoers 유저 추가 (sudo 접근설정) # 파일 권한 설정 sudo chmod u+w /etc/sudoers # 파일 수정 sudo vi /etc/sudoers ### 아래에 추가 user ALL=(ALL:ALL) ALL sshd_config 파일 설정 변경 sudo vi /etc/ssh/ss..
오라클 클라우드는 큰 용량의 시스템 자원을 무료로 이용을 할 수 있다. 다른 기업의 서비스로는 AWS, GCP 등이 있지만 오라클클라우드만큼의 무료 서비스를 이용할만한곳은 없는것으로 보인다. 현재 테스트용도로만 사용하고있던 오라클클라우드의 인스턴스 구성을 초기화하고 쿠버네티스클러스터와 CICD, Monitoring을 구축하여 앞으로의 개발을 프리하게 사용할 수 있도록 구현을 해보도록 한다. 기본적인 클라우드의 사용법 같은 내용은 다른곳을 찾아보면 많이 나오기 때문에 인스턴스 생성이나 서브넷 같은 부분들은 생략하도록 하겠다. 준비물 1. 인스턴스 오라클 클라우드 내의 나의 인스턴스들이다 arm 4 cpu 24gb ram 100gb volume amd64 1 cpu 1gb ram 50gb volume amd..