스프링

 

 

 

# 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

 

 

 

 

What is OpenShift?

 

 

 

 


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

 

DBConnection.java


ListProducts.java

 

 

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

 

 

 

 

 

 

 

 

 

spring

 

about author

PHRASE

Level 60  라이트

한마디 말이 이치에 맞지 않으면, 천 마디 말도 쓸모없다. -명심보감

댓글 ( 4)

댓글 남기기

작성