OpenShift - การตั้งค่าสภาพแวดล้อม
ในบทนี้เราจะเรียนรู้เกี่ยวกับการตั้งค่าสภาพแวดล้อมของ OpenShift
ความต้องการของระบบ
ในการตั้งค่า OpenShift ขององค์กรเราจำเป็นต้องมีบัญชี Red Hat ที่ใช้งานได้ เนื่องจาก OpenShift ทำงานบนสถาปัตยกรรมหลักและโหนดของ Kubernetes เราจึงจำเป็นต้องตั้งค่าทั้งสองอย่างบนเครื่องแยกกันโดยเครื่องหนึ่งทำหน้าที่เป็นหลักและทำงานอื่น ๆ บนโหนด ในการตั้งค่าทั้งสองอย่างมีข้อกำหนดขั้นต่ำของระบบ
การกำหนดค่าเครื่องหลัก
ต่อไปนี้เป็นข้อกำหนดขั้นต่ำของระบบสำหรับการกำหนดค่าเครื่องหลัก
เครื่องฐานที่โฮสต์ทั้งบนทางกายภาพเสมือนหรือบนสภาพแวดล้อมคลาวด์ใด ๆ
อย่างน้อย Linux 7 พร้อมแพ็กเกจที่จำเป็นบนอินสแตนซ์นั้น
2 แกน CPU
RAM อย่างน้อย 8 GB
หน่วยความจำฮาร์ดดิสก์ภายใน 30 GB
การกำหนดค่าเครื่องโหนด
- อิมเมจพื้นฐานทางกายภาพหรือเสมือนตามที่กำหนดสำหรับเครื่องต้นแบบ
- อย่างน้อย Linux 7 บนเครื่อง
- นักเทียบท่าที่ติดตั้งรุ่นไม่ต่ำกว่า 1.6
- 1 แกน CPU
- แรม 8 GB
- ฮาร์ดดิสก์ 15 GB สำหรับโฮสต์ภาพและ 15 GB สำหรับจัดเก็บภาพ
คำแนะนำทีละขั้นตอนในการตั้งค่า OpenShift
ในคำอธิบายต่อไปนี้เราจะตั้งค่าสภาพแวดล้อมของห้องปฏิบัติการ OpenShift ซึ่งสามารถขยายไปยังคลัสเตอร์ที่ใหญ่ขึ้นได้ในภายหลัง เนื่องจาก OpenShift ต้องการการตั้งค่าหลักและโหนดเราจึงต้องมีเครื่องอย่างน้อยสองเครื่องที่โฮสต์บนคลาวด์เครื่องจริงหรือเครื่องเสมือน
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 เพื่อให้ควรอนุญาตการสื่อสารที่ไม่ปลอดภัยบนเครือข่ายท้องถิ่นเท่านั้น สำหรับสิ่งนี้ให้แก้ไขไฟล์ Docker ภายใน / etc / sysconfig หากไม่มีไฟล์อยู่คุณต้องสร้างด้วยตนเอง
# 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 Registry ในการกำหนดค่ารูปภาพเราจึงจำเป็นต้องกำหนดค่ารีจิสทรีของ Docker ใช้สำหรับสร้างและจัดเก็บอิมเมจ Docker หลังจากสร้าง
สร้างไดเร็กทอรีบนเครื่องโหนด OpenShift โดยใช้คำสั่งต่อไปนี้
# mkdir /images
จากนั้นเข้าสู่เครื่องหลักโดยใช้ข้อมูลประจำตัวของผู้ดูแลระบบเริ่มต้นซึ่งสร้างขึ้นในขณะตั้งค่ารีจิสทรี
# oc login
Username: system:admin
เปลี่ยนเป็นโปรเจ็กต์ที่สร้างตามค่าเริ่มต้น
# oc project default
Step 7 - สร้าง Docker Registry
#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 เป็นเครือข่ายซอฟต์แวร์ ใช้คำสั่งต่อไปนี้เพื่อสร้างการกำหนดเส้นทางเริ่มต้น ใช้สำหรับการทำโหลดบาลานซ์และการกำหนดเส้นทางพร็อกซี เราเตอร์คล้ายกับรีจิสทรีของนักเทียบท่าและยังทำงานในรีจิสทรีด้วย
# 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- ขั้นตอนสุดท้ายคือการตั้งค่าเซิร์ฟเวอร์ github บนเครื่องต้นแบบ OpenShift V3 ซึ่งเป็นทางเลือก สามารถทำได้อย่างง่ายดายโดยใช้ลำดับคำสั่งต่อไปนี้
#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
เมื่อการตั้งค่าข้างต้นเสร็จสมบูรณ์คุณสามารถตรวจสอบได้โดยการทดสอบและปรับใช้แอปพลิเคชันซึ่งเราจะทราบข้อมูลเพิ่มเติมในบทต่อ ๆ ไป