티스토리 뷰
[ Advanced Installation - v3.5 Connected ]
17년 5월 기준 최신 릴리즈 버전 3.5 Connected Installation 가이드입니다.
[사전준비물]
용도 |
Hostname |
루트볼륨 (var 포함) |
도커볼륨 |
vCore |
Mem |
비고 |
DNS 서버, yum repo gitlab, private docker registry |
ocpdns.ocp.com |
최소 50G |
최소 20G |
2 |
2G |
connected 환경에서는 도커볼륨 필요X |
master |
ocpmaster1.ocp.com |
최소 30G |
최소 20G |
2 |
1G |
|
node |
ocpnode1.ocp.com |
최소 30G |
최소 20G |
2 |
4G |
|
node |
ocpnode2.ocp.com |
최소 30G |
최소 20G |
2 |
4G |
|
- Yum RPM Package
rhel-7-server-rpms
[Base Installation]
$ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 |
- date : 모든 서버의 시간 동기화 (ntp 설정 또는 수동 동기)
$ date -s '2017-06-02 11:00:00'
- OS Kernel
$ uname -a Linux master1.ocp.com 3.10.0-514.el7.x86_64 #1 SMP Wed Oct 19 11:24:13 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux |
- NetworkManager 재기동으로 인한 DNS 변경 방지
참고 : http://techcafe.tistory.com/67
- Docker 볼륨 확인
$ fdisk -l Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors ------> 루트볼륨 Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000a7d38 Device Boot Start End Blocks Id System /dev/vda1 * 2048 104856002 52426977+ 83 Linux Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 sectors ------> 도커 볼륨, 초기 생성시 파티션이 없다. |
- 내부 네트워크간 통신 상태 확인 : ping 등
- 외부 8.8.8.8 (google) 로 ping 여부 확인
2) Yum Repository 설정 (DNS 서버)
DNS서버 /var/www/html/repo 아래에 4개의 Package를 전부 복사시킨다. 약 22G
먼저 DNS쪽 yum repo 구성 후 apache를 설치하여, 나머지 서버들이 dns서버 80포트를 통해 yum repo를 사용한다.
$ mkdir -p /var/www/html/repo
$ cp 'rpm_package' /var/www/html/repo
- DNS Yum repo
$ vi /etc/yum.repos.d/openshift.repo
[rhel-7-server-rpms] name=rhel-7-server-rpms baseurl = file:///var/www/html/repo/rhel-7-server-rpms enabled=1 gpgcheck=0 [rhel-7-server-extras-rpms] name=rhel-7-server-extras-rpms baseurl = file:///var/www/html/repo/rhel-7-server-extras-rpms enabled=1 gpgcheck=0 [rhel-7-server-ose-3.5-rpms] name=rhel-7-server-ose-3.5-rpms baseurl = file:///var/www/html/repo/rhel-7-server-ose-3.5-rpms enabled=1 gpgcheck=0 [rhel-7-fast-datapath-rpms] name=rhel-7-fast-datapath-rpms baseurl = file:///var/www/html/repo/rhel-7-fast-datapath-rpms enabled=1 gpgcheck=0 |
# Apache HTTPD 설치
$ yum -y install httpd
$ systemctl start httpd
$ chmod -R +r /var/www/html/repo
$ restorecon -vR /var/www/html (SeLinux 사용환경에서 반드시 필요)
# 방화벽 설정
$ firewall-cmd --zone=public --add-port=80/tcp --permanent
$ firewall-cmd --reload
$ firewall-cmd --permanent --list-all
- master/node Yum repo (DNS IP로 설정)
$ vi /etc/yum.repos.d/openshift.repo
[rhel-7-server-rpms] name=rhel-7-server-rpms baseurl = http://10.1.1.147/repo/rhel-7-server-rpms enabled=1 gpgcheck=0 [rhel-7-server-extras-rpms] name=rhel-7-server-extras-rpms baseurl = http://10.1.1.147/repo/rhel-7-server-extras-rpms enabled=1 gpgcheck=0 [rhel-7-server-ose-3.5-rpms] name=rhel-7-server-ose-3.5-rpms baseurl = http://10.1.1.147/repo/rhel-7-server-ose-3.5-rpms enabled=1 gpgcheck=0 [rhel-7-fast-datapath-rpms] name=rhel-7-fast-datapath-rpms baseurl = http://10.1.1.147/repo/rhel-7-fast-datapath-rpms enabled=1 gpgcheck=0 |
[Package Installation]
1) Install Base Package - 모든 서버에 설치(dns의 경우 openshift 패키지는 설치하지 않아도 무방하다)
$ yum install wget git net-tools bind-utils iptables-services bridge-utils bash-completion
$ yum update
$ yum install atomic-openshift-utils
$ yum install atomic-openshift-excluder atomic-openshift-docker-excluder
$ atomic-openshift-excluder unexclude
2) DNS 네임서버 생성 - DNS 서버
$ yum -y install bind
$ vi /etc/named.conf
listen-on port 53 { any };
allow-query { any; };
recursion yes; ----> no로 설정하면 외부로 접근이 불가능하다.
; $TTL 3h @ IN SOA ocp.com. admin.ocp.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 day ; Name Server IN NS ns1.ocp.com. ; ns1 IN A 20.20.20.14 dns IN A 20.20.20.14 master IN A 20.20.20.13 node1 IN A 20.20.20.16 node2 IN A 20.20.20.20 *.app IN A 20.20.20.16 *.app IN A 20.20.20.20 |
# named는 53포트로 통신, 방화벽 룰 추가
$ firewall-cmd --zone=public --add-port=53/tcp --permanent
$ firewall-cmd --zone=public --add-port=53/udp --permanent
$ firewall-cmd --reload
$ systemctl start named.service
# (Key Point) 각 서버 /etc/resolv.conf 설정 후 dig 명령어를 통해 dns설정 확인
$ echo "nameserver 20.20.20.14" > /etc/resolv.conf
$ dig `hostname` +short
3) Private Docker Registry
17년 이후 업데이트된 docker registry는 docker distribution 이란 이름으로 변경되었다.
이부분은 disconnected 부분에서 다룬다.
4) Docker 설치 - 모든 서버
$ yum install docker
$ sed -i '/OPTIONS=.*/c\OPTIONS="--selinux-enabled --insecure-registry 172.30.0.0/16"' /etc/sysconfig/docker
$ systemctl enable docker
5) Docker Storage Setup - 모든 서버
$ cat <<EOF > /etc/sysconfig/docker-storage-setup
DEVS=/dev/vdb
VG=docker-vg
EOF
$ docker-storage-setup (확인 : lvs , vgs 명령어로 docker가 잡혀있는지 확인)
* 재설치를 위해 docker storage volume 삭제가 필요한 경우 다음과 같은 순서대로 진행한다.
$ vgremove docker-vg $ lvremove docker-pool $ systemctl stop docker $ rm -rf /var/lib/docker $ fdisk /dev/vdb d 입력 (delete a partition) w 입력 (write table to disk and exit) $ cat <<EOF > /etc/sysconfig/docker-storage-setup WIPE_SIGNATURES=true DEVS=/dev/vdb VG=docker-vg EOF $ docker-storage-setup (이렇게 해도 오류가 나는 경우가 있다. 로그에 어떤 옵션을 추가하여 실행하라고 나온다) |
6) Create & Copy SSH Key - master 서버
$ ssh-keygen (계속 엔터)
$ for host in ocpmaster1.ocp.com \
ocpnode1.ocp.com \
ocpnode2.ocp.com; \
do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \
done
[OpenShift 설치]
[OSEv3:children] nodes masters etcd [OSEv3:vars] openshift_master_default_subdomain=app.ocp.com ansible_ssh_user=root openshift_master_cluster_method=native openshift_master_cluster_hostname=ocpmaster1.ocp.com openshift_master_cluster_public_hostname=ocpmaster1.ocp.com deployment_type=openshift-enterprise openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/origin/master/htpasswd'}] osm_default_node_selector='region=primary' openshift_master_api_port=443 openshift_master_console_port=443 openshift_router_selector='region=infra' openshift_registry_selector='region=infra' os_sdn_network_plugin_name='redhat/openshift-ovs-multitenant' openshift_hosted_metrics_deploy=true openshift_hosted_logging_deploy=true osm_use_cockpit=true osm_cockpit_plugins=['cockpit-kubernetes'] [masters] ocpmaster1.ocp.com [etcd] ocpmaster1.ocp.com [nodes] ocpmaster1.ocp.com openshift_node_labels="{'region': 'master'}" openshift_schedulable=False ocpnode1.ocp.com openshift_node_labels="{'region': 'primary','zone':'east'}" openshift_schedulable=True ocpnode2.ocp.com openshift_node_labels="{'region': 'primary','zone':'east'}" openshift_schedulable=True |
# install
$ ansible-playbook -i /root/hosts /usr/share/ansible/openshift-ansible/playbooks/byo/config.yml'RedHat OpenShift > 기술문서' 카테고리의 다른 글
[기타] Khan APM 설치 방법 (0) | 2017.07.26 |
---|---|
[기타] 닷넷코어 (0) | 2017.07.25 |
[기타] NetworkManager 설정 - DNS (0) | 2017.05.25 |
[빌드] Dockerfile 빌드 (0) | 2017.05.24 |
[기타] Docker Hub 사용방법 (0) | 2017.05.19 |
- Total
- Today
- Yesterday
- 야경
- 손주등장
- m42
- 매거진스탠딩
- XT3
- 신촌
- velvia
- XF14
- mf
- 캠핑
- 23mm
- m42 135mm
- 55mm
- 브런치
- 연대앞
- 퍼플라떼
- Classic Chrome
- XF23
- 필름시뮬레이션
- 논뷰
- m42 55mm
- 전붙이기
- 수지
- xt3 #MMCA #국립현대미술관
- XF23mm
- 예전사진
- 황용식
- 보문호수
- xf14mm
- SAVOR
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |