# yum install -y epel-release
# yum install -y docker wget git ansible
#docker --version
#clean
#yum install -y python-cryptography pyOpenSSL.x86_64
#git clone https://github.com/openshift/openshift-ansible
#ls
#git clone https://github.com/gshipley/installcentos.git
#ls
#cd installcentos/
#ls
#vi inventory.erb
#vi /etc/host
127.0.0.1 console.techdope.io
#ping console.techdope.io
#ssh-keygen -t rsa
#ansible-playbook -i installcentos/inventory.erb ./openshift-ansible/playbooks/byo/config.yml
설치 완료
#cd /etc/origin/master/
#ls
#htpasswd -b /etc/origin/master/htpasswd gshipley openshift
#oc login
username: gshipley
Password :
접속 실패
#ip addr
gandi.net 사이트 접속
#ssh-copy-id root@techdope.io
OpenShift origin
OpenShift origin 설치 방법에 대한 자세한 내용은 여기를 참고하시면 됩니다.
아래 포스팅은 제가 직접 OpenShift origin을 구동시킨 방법입니다.
Docker를 이용한 컨테이너로 구동하는 방법과 Binary 파일을 직접받아 설치하는 방법이 있는데, 저는 후자를 선택했습니다. 또한 설치 OS는 ‘CentOS’를 선택했습니다.
Docker 설치 및 실행
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum makecache fast sudo yum install -y docker-ce sudo systemctl start docker sudo systemctl enable docker sudo gpasswd -a centos docker
Docker insecure registry 설정
기본적으로 Docker는 Docker Registry 접속을 위해 https를 사용하도록 되어 있습니다. 하지만 http를 이용한 insecure registry 세팅을 해주어야 하는 경우가 있습니다.
CentOS 기준으로 다음과 같이 세팅해줍니다.
더 자세한 내용은 여기를 참조하세요.
sudo sysctl -w net.ipv4.ip_forward=1 sudo su cat<> /etc/docker/daemon.json { "insecure-registries" : ["172.30.0.0/16"] } EOF exit sudo systemctl daemon-reload sudo systemctl restart docker
OpenShift 설치
OpenShift 최신 버전은 여기에서 확인할 수 있습니다. 현재 최신 버전인 3.9.0은 알파 버전이라 저는 3.7.1 버전으로 설치를 진행했습니다.
wget https://github.com/openshift/origin/releases/download/v3.7.1/openshift-origin-server-v3.7.1-ab0f056-linux-64bit.tar.gz tar -xvzf openshift-origin-server-v3.7.1-ab0f056-linux-64bit.tar.gz mv openshift-origin-server-v3.7.1-ab0f056-linux-64bit openshift-v3.7.1 cd openshift-v3.7.1 sudo cp openshift oc kubectl /usr/local/bin
Cluster Up
그런 다음 다음 명령어를 이용해서 Cluster Up을 해줄 수 있습니다.
oc cluster up
하지만, 만약 AWS EC2의 가상 머신에서 작업하는 경우에는 다음과 같은 작업으로 해주어야 합니다.
metadata_endpoint="http://169.254.169.254/latest/meta-data" public_hostname="$( curl "${metadata_endpoint}/public-hostname" )" public_ip="$( curl "${metadata_endpoint}/public-ipv4" )" oc cluster up --public-hostname="${public_hostname}" --routing-suffix="${public_ip}.nip.io"
다음과 같은 결과가 나오면 성공입니다.
$ oc cluster up --public-hostname="${public_hostname}" --routing-suffix="${public_ip}.nip.io" Starting OpenShift using openshift/origin:v3.7.1 ... OpenShift server started. The server is accessible via web console at: https://ec2-13-125-14-154.ap-northeast-2.compute.amazonaws.com:8443 You are logged in as: User: developer Password: To login as administrator: oc login -u system:admin
이제 브라우저를 이용해서 위에 나온 Web Console 주소로 접속해서 사용해보면 됩니다.
Comments
1. 2016년 강의
https://www.youtube.com/playlist?list=PLsyeobzWxl7rpmHJD_u8s6yVnxNaxzw3W
2. 2018년 강의
https://www.youtube.com/channel/UCwpofJIfLAXiLCXt_dQnNEA
1. Part 1. JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (with https) on OpenShift - SSL 인증
jws-certificate-volume jws-app-secret
자체 서명 된 인증서 생성기
http://www.selfsignedcertificate.com/
2. Part 2. JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (with https) on OpenShift
https://github.com/tomek-servlets/db-servlet-For-jws-app-mysql
3. Part 3. JBoss Web Server 3.1 Apache Tomcat 8 + MySQL (with https) on OpenShift
https://github.com/tomek-servlets/db-servlet-connection-pool
어플리케이션 생성시 복사
랜덤 생성된다.
A new persistent JWS application for Apache Tomcat 8 (using MySQL) has been created in your project.
The username/password for administering your JWS is B7tMjUcw/QqfiCWUF. For accessing the MySQL database
"root" use the credentials user7uK/wJerC4pn. Please be sure to create the secret named "jws-app-secret"
containing the server.crt file used for serving secure content.
1. mysql 설치된 서버에서 (jws-app-mysql,)
터미널 접속
cd /
cd tmp
mkdir data
cd data/
curl https://raw.githubusercontent.com/tomek-servlets/db-servlet-connection-pool/master/SQL/lllc.sql --output lllc.sql
랜덤 생성된다.
user7uK/wJerC4pn
mysql -u user7uK -p root
mysql> source lllc.sql
2. 아파치가 설치된 서버에서 ( jws31-tomcat8-mysql-persistent-s2i_
터미널 접속
sh-4.2$ cd / sh-4.2$ ls bin boot deployments dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var sh-4.2$ find . -name context.xml find: './proc/tty/driver': Permission denied find: './proc/acpi': Permission denied find: './proc/scsi': Permission denied find: './run/secrets/etc-pki-entitlement': Permission denied find: './run/secrets/rhsm': Permission denied find: './sys/firmware': Permission denied find: './var/lib/yum/history/2018-05-23/1': Permission denied find: './var/lib/yum/history/2018-05-23/2': Permission denied find: './var/lib/yum/history/2018-05-23/5': Permission denied find: './var/lib/yum/history/2018-05-23/4': Permission denied find: './var/lib/yum/history/2018-05-23/3': Permission denied find: './var/lib/machines': Permission denied find: './var/cache/ldconfig': Permission denied ./opt/webserver/conf/context.xml ./deployments/manager/META-INF/context.xml sh-4.2$ cd /opt/webserver/conf/ sh-4.2$ ls Catalina catalina.policy.zipnew catalina.properties.zipnew openssl tomcat-users.xml web.xml catalina.policy catalina.properties context.xml server.xml tomcat-users.xsd sh-4.2$ cat context.xml WEB-INF/web.xml ${catalina.base}/conf/web.xml sh-4.2$ vicontext.xml sh: vicontext.xml: command not found sh-4.2$ vi context.xml sh-4.2$ pwd /opt/webserver/conf sh-4.2$ ^C
jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8
vi context.xml
. 변경후 빌드 해 준다.
그러나 빌드 및 배포를 하면 원래데로 되돌아 와변경이 안된다.
다음과 같이 ui 에서 제어가 가능하다
mysql 한글 깨짐 일어나는데, my.ini 변경 으로 latin 으로 기본 구성된 것을 변경할 수 없다.
https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/containers_and_images.html
자신에 입맛에 맞는 mysql 이미지를 생성후 사용하거나, my.ini 변경이 안되니
다만 데이터베이스에 최초로 테이블을 만들 때
CREATE DATABASE 구문의 끝에 DEFAULT CHARSET=utf8 COLLATE utf8_general_ci; 을 넣으면 됨.
예를 들어서
CREATE TABLE employee (
no int(11) NOT NULL AUTO_INCREMENT,
name varchar(20) NOT NULL,
jobGrade varchar(10) NOT NULL,
department int(11) NOT NULL,
email varchar(30) DEFAULT NULL,
status varchar(10) DEFAULT NULL,
PRIMARY KEY (no)
) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
CREATE DATABASE ( 내용 ) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
my.ini 변경없이 테이블의 CREATE DATABASE ( 내용 ) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci;
으로 생성한 것만으로 한글 깨짐 처리가 가능할 지는 테스트를 진행해야 할 것 같다.
4. Spring Boot (jar) on OpenShift 3. JAR file installation
5. Spring Boot (from sources) on OpenShift 3 with Jar packaging. Sources installation
6. HTTPS on OpenShift 3. Routes
7. War in OpenShift 3. WildFly
댓글 ( 4)
댓글 남기기