grep

DevOps

[K8S] kubernetes POC를 위한 portainer, rancher 소개 및 설치

NHN

2019년 10월 16일

원문에서 보기 ↗

들어가는 말

대상

사족

환경

준비

인프라

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.bindv6only = 0

docker (Docker CE)

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io
$ sudo systemctl start docker
$ sudo docker version
Client:
 Version:           18.09.4
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        d14af54266
 Built:             Wed Mar 27 18:34:51 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.4
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       d14af54
  Built:            Wed Mar 27 18:04:46 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Portainer

소개

준비

[centos@k8s-test-1 ~]$ docker swarm init

Swarm initialized: current node (u60jtvwp7z7itarfj5lf9x83n) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-3wzws4os45vj7yvk3w98b9ueuz86zh5u9ouftrgp383j5j88x9-6ker2n2qykfao8mbo4l0ev6gg \
    192.168.0.4:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
[centos@k8s-test-3 ~]$ sudo docker swarm join --token SWMTKN-1-3wzws4os45vj7yvk3w98b9ueuz86zh5u9ouftrgp383j5j88x9-6ker2n2qykfao8mbo4l0ev6gg 192.168.0.4:2377

This node joined a swarm as a worker.

설치

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ sudo docker stack deploy --compose-file=portainer-agent-stack.yml portainer

Creating network portainer_agent_network
Creating service portainer_agent
Creating service portainer_portainer

접속

샘플 (kafka, zookeeper 설치)

주키퍼 배포

카프카 배포

카프카 동작 확인

Rancher

소개

준비

설치

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  -v /host/certs:/container/certs \
  -e SSL_CERT_DIR="/container/certs" \
  rancher/rancher:latest

번외 - 초기화 방법

k8s 클러스터 생성

k8s 클러스터 배포

2번 서버

3번 서버

k8s 클러스터 구축 완료 확인

image_20.png 그림20.

k8s 클러스터 활용 - rabbitmq

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: rabbitmq
  labels:
    app: rabbitmq
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: rabbitmq
    spec:
      containers:
      - image: rabbitmq:3.6.10
        name: rabbitmq
        ports:
        - containerPort: 5672
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq
  labels:
    app: rabbitmq
spec:
  ports:
  - port: 5672
  selector:
    app: rabbitmq

나가는 말