OpenShift-환경 설정

이 장에서는 OpenShift의 환경 설정에 대해 알아 봅니다.

시스템 요구 사항

엔터프라이즈 OpenShift를 설정하려면 활성 Red Hat 계정이 있어야합니다. OpenShift는 Kubernetes 마스터 및 노드 아키텍처에서 작동하므로 둘 다 별도의 머신에 설정해야합니다. 여기서 한 머신은 마스터 역할을하고 다른 머신은 노드에서 작동합니다. 둘 다 설정하려면 최소 시스템 요구 사항이 있습니다.

마스터 머신 구성

다음은 마스터 컴퓨터 구성을위한 최소 시스템 요구 사항입니다.

  • 물리적, 가상 또는 모든 클라우드 환경에서 호스팅되는 기본 시스템.

  • 해당 인스턴스에 필요한 패키지가있는 Linux 7 이상.

  • 2 개의 CPU 코어.

  • 최소 8GB RAM.

  • 30GB의 내부 하드 디스크 메모리.

노드 머신 구성

  • 마스터 머신에 대해 제공된 실제 또는 가상 기본 이미지.
  • 머신에 Linux 7 이상.
  • 1.6 이하 버전으로 설치된 Docker.
  • CPU 코어 1 개.
  • 8GB RAM.
  • 이미지 호스팅 용 15GB 하드 디스크 및 이미지 저장 용 15GB.

OpenShift 설정에 대한 단계별 가이드

다음 설명에서는 나중에 더 큰 클러스터로 확장 할 수있는 OpenShift 랩 환경을 설정합니다. OpenShift에는 마스터 및 노드 설정이 필요하므로 클라우드, 물리적 또는 가상 머신에서 호스팅되는 최소 2 개의 머신이 필요합니다.

Step 1− 먼저 두 시스템 모두에 Linux를 설치하십시오. 여기서 Linux 7은 최소 버전이어야합니다. 활성 Red Hat 서브 스크립 션이있는 경우 다음 명령을 사용하여 수행 할 수 있습니다.

# subscription-manager repos --disable = "*"
# subscription-manager repos --enable = "rhel-7-server-rpms"
# subscription-manager repos --enable = "rhel-7-server-extras-rpms"
# subscription-manager repos --enable = "rhel-7-server-optional-rpms"
# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install python-virtualenv
# yum install gcc
# yum install httpd-tools
# yum install docker
# yum update

위의 모든 기본 패키지가 두 컴퓨터에 모두 설치되면 다음 단계는 해당 컴퓨터에 Docker를 설정하는 것입니다.

Step 2− 로컬 네트워크에서만 안전하지 않은 통신을 허용하도록 Docker를 구성하십시오. 이를 위해 / etc / sysconfig에서 Docker 파일을 편집하십시오. 파일이 없으면 수동으로 만들어야합니다.

# vi /etc/sysconfig/docker
OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24

마스터 머신에서 Docker를 구성한 후 두 머신간에 암호없는 통신을 설정해야합니다. 이를 위해 공개 및 개인 키 인증을 사용합니다.

Step 3 − 마스터 머신에서 키를 생성 한 후 id_rsa.pub 키를 노드 머신의 인증 된 키 파일에 복사합니다. 다음 명령을 사용하여 수행 할 수 있습니다.

# ssh-keygen
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]

위의 모든 설정을 마쳤 으면 다음은 마스터 컴퓨터에서 OpenShift 버전 3을 설정하는 것입니다.

Step 4 − 마스터 머신에서 다음 curl 명령을 실행합니다.

# sh <(curl -s https://install.openshift.com/ose)

위의 명령은 OSV3에 대한 설정을 배치합니다. 다음 단계는 컴퓨터에서 OpenShift V3를 구성하는 것입니다.

인터넷에서 직접 다운로드 할 수없는 경우 다음에서 다운로드 할 수 있습니다. https://install.openshift.com/portable/oo-install-ose.tgz 설치 프로그램이 로컬 마스터 시스템에서 실행할 수있는 tar 패키지로.

설정이 준비되면 머신에서 OSV3의 실제 구성으로 시작해야합니다. 이 설정은 실제 프로덕션 환경을 테스트하기 위해 매우 구체적이며 LDAP 및 기타 사항이 있습니다.

Step 5 − 마스터 머신에서 /etc/openshift/master/master-config.yaml 아래에있는 다음 코드를 구성합니다.

# vi /etc/openshift/master/master-config.yaml
identityProviders:
- name: my_htpasswd_provider
challenge: true
login: true
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /root/users.htpasswd
routingConfig:
subdomain: testing.com

다음으로 기본 관리를위한 표준 사용자를 만듭니다.

# htpasswd -c /root/users.htpasswd admin

Step 6− OpenShift는 이미지 구성에 Docker 레지스트리를 사용하므로 Docker 레지스트리를 구성해야합니다. 빌드 후 Docker 이미지를 만들고 저장하는 데 사용됩니다.

다음 명령을 사용하여 OpenShift 노드 시스템에 디렉토리를 만듭니다.

# mkdir /images

다음으로, 레지스트리를 설정하는 동안 생성되는 기본 관리자 자격 증명을 사용하여 마스터 컴퓨터에 로그인합니다.

# oc login
Username: system:admin

기본 생성 된 프로젝트로 전환합니다.

# oc project default

Step 7 − Docker 레지스트리를 생성합니다.

#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -

사용자 권한을 편집하십시오.

#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry

이미지 레지스트리를 만들고 편집합니다.

#oadm registry --service-account = registry --
config = /etc/openshift/master/admin.kubeconfig --
credentials = /etc/openshift/master/openshift-registry.kubeconfig --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' --
mount-host = /images

Step 8 − 기본 라우팅을 생성합니다.

기본적으로 OpenShift는 OpenVswitch를 소프트웨어 네트워크로 사용합니다. 다음 명령을 사용하여 기본 라우팅을 만듭니다. 로드 균형 조정 및 프록시 라우팅에 사용됩니다. 라우터는 Docker 레지스트리와 유사하며 레지스트리에서도 실행됩니다.

# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -

다음으로 사용자의 권한을 편집하십시오.

#oc edit scc privileged
users:
   - system:serviceaccount:openshift-infra:build-controller
   - system:serviceaccount:default:registry
   - system:serviceaccount:default:router

#oadm router router-1 --replicas = 1 --
credentials = '/etc/openshift/master/openshift-router.kubeconfig' --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'

Step 9 − DNS를 구성합니다.

URL 요청을 처리하기 위해 OpenShift는 작동하는 DNS 환경이 필요합니다. 이 DNS 구성은 라우터를 가리키는 DNS 와일드 카드를 만드는 데 필요한 와일드 카드를 만드는 데 필요합니다.

# yum install bind-utils bind
# systemctl start named
# systemctl enable named
vi /etc/named.conf
options {listen-on port 53 { 10.123.55.111; };
forwarders {
   10.38.55.13;
   ;
};

zone "lab.com" IN {
   type master;
   file "/var/named/dynamic/test.com.zone";
   allow-update { none; };
};

Step 10− 마지막 단계는 선택 사항 인 OpenShift V3 마스터 머신에 github 서버를 설정하는 것입니다. 다음 명령 시퀀스를 사용하여 쉽게 수행 할 수 있습니다.

#yum install curl openssh-server
#systemctl enable sshd
# systemctl start sshd
# firewall-cmd --permanent --add-service = http
# systemctl reload firewalld
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
#yum install gitlab-ce
# gitlab-ctl reconfigure

위의 설정이 완료되면 테스트를 통해 확인하고 응용 프로그램을 배포 할 수 있습니다. 이에 대해서는 다음 장에서 자세히 알아볼 것입니다.