[轉]OpenShift 集群搭建指南


轉自:http://www.cnblogs.com/zhangning/p/7251810.html

OpenShift 集群搭建指南

v1.0

  1. 搭建Hyper-v虛擬機或物理機

  2. 配置物理機靜態IP,啟用Hyper-v服務。
  3. 規划服務器節點

節點

說明

主機名

IP

Master

主控制節點

openshiftmaster.dynastech.com

192.168.30.95

Etcd

協調服務節點

openshiftetcd.dynastech.com

192.168.30.96

Node1

計算節點1

openshiftnode1.dynsatech.com

192.168.30.102

Node2

計算節點2

openshiftnode2.dynastech.com

192.168.30.98

Node3

計算節點3

openshiftnode3.dynastech.com

192.168.30.110

 

  1. 新建虛擬機master節點1個
  2. 新建Etcd節點1或3個(奇數個),負責分布式協調
  3. 新建Node節點若干,這里示例為3台
  4. 為每台虛擬機配置 舊版網絡適配器

  1. 啟動各個虛擬機安裝Centos7系統

校驗並安裝centos linux 7系統

等待校驗完成

  1. 選擇安裝語言

  1. 選擇安裝功能
    1. 軟件選擇

      (這里可以選擇桌面版,如下圖,服務器建議最小安裝)

    2. 安裝位置

  2. 配置網絡和主機名

  3. 下一步,開始安裝
  4. 配置root密碼

  5. 啟動其他節點執行同樣的安裝,配置不同的主機名和網絡地址。
  6. 安裝完畢

  7. 配置虛擬機基礎環境

  8. 我本機是windows安裝Xshell5.
  9. 配置域名解析
    1. 修改DNS服務器指向 或者b
    2. 修改節點本地/etc/hosts文件

      這里我為了測試方便,直接修改各個節點hosts文件

      用xshell5連接各個節點

      進入編輯vi /etc/hosts

      開始編輯按insert

      編輯完成esc,

      保存並退出:wq

      強制退出不保存!q

  10. 配置OpenShift 環境依賴軟件

  11. 所有節點執行:

[root@所有節點 ~]# yum install -y lrzsz git wget net-tools bind-utils iptables-services bridge-utils bash-completion

[root@所有節點 ~]# yum install -y docker

  1. 檢查安裝情況
    1. iptables網絡

      [root@openshiftectd ~]# systemctl start iptables

      [root@openshiftectd ~]# systemctl enable iptables

    2. docker 安裝情況

  2. 軟件安裝完畢后,關閉虛擬機,為每個節點增加一塊硬盤作為docker數據存儲位置

  3. 增加硬盤完畢,重新啟動所有節點,配置docker存儲位置
    1. 查看硬盤信息

      命令: fdisk -l

      如圖所示,添加的數據盤掛載在/dev/sdb目錄下

    1. docker配置
      1. 編輯docker存儲配置位置

      [root@所有節點 ~]# vi /etc/sysconfig/docker-storage-setup

    [root@所有節點 ~]# docker-storage-setup

    1. 每個節點修改docker鏡像站點

    vi /etc/sysconfig/docker

    追加參數:

    --registry-mirror=https://docker.mirrors.ustc.edu.cn

    1. 增加docker開機啟動服務

      systemctl enable docker

    2. 啟動docker

      systemctl start docker

    3. 查看docker服務情況

      systemctl status docker

  1. 配置OpenShift Etcd節點

[root@openshiftectd ~]# yum install -y etcd

[root@openshiftectd ~]# systemctl enable etcd

[root@openshiftectd ~]# systemctl start etcd

  1. 配置OpenShift Master節點

  2. 安裝EPEL倉庫

    下載安裝包

    http://mirrors.neusoft.edu.cn/epel/7/x86_64/e/

    上傳到master

    [root@openshiftmaster ~]# yum install -y epel-release-7-10.noarch.rpm

  3. 安裝ansible pyOpenSSL

    [root@openshiftmaster ~]# yum install -y --enablerepo=epel ansible pyOpenSSL

     

  4. 配置各個節點和master節點的互信
    1. 生成密鑰

      [root@openshiftmaster ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''

    1. 配置ssh驗證

    [root@openshiftmaster ~]# vi /etc/ssh/ssh_config

    StrictHostKeyChecking no

    UserKnownHostsFile /dev/null

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftmaster.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftetcd.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode1.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode2.dynastech.com

    [root@openshiftmaster ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub openshiftnode3.dynastech.com

  5. 下載openshift-ansible源碼

    [root@openshiftmaster ~]# git clone https://github.com/openshift/openshift-ansible

  6. 配置ansible
    1. 備份hosts

    1. 編輯hosts

    參考:https://docs.openshift.org/latest/install_config/install/advanced_install.html

    [root@openshiftmaster ~]# vi /etc/ansible/hosts

    添加如下內容

    # Create an OSEv3 group that contains the masters and nodes groups

    [OSEv3:children]

    masters

    nodes

    etcd

     

    # Set variables common for all OSEv3 hosts

    [OSEv3:vars]

    # SSH user, this user should allow ssh based auth without requiring a password

    ansible_ssh_user=root

     

    # If ansible_ssh_user is not root, ansible_become must be set to true

    #ansible_become=true

     

    openshift_deployment_type=origin

     

    # uncomment the following to enable htpasswd authentication; defaults to DenyAllPasswordIdentityProvider

     

    openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/origin/master/htpasswd'}]

     

    # host group for masters

    [masters]

    openshiftmaster.dynastech.com

     

    # host group for etcd

    [etcd]

    openshiftetcd.dynastech.com

     

    # host group for nodes, includes region info

    [nodes]

    openshiftmaster.dynastech.com

    openshiftnode1.dynastech.com

    openshiftnode2.dynastech.com

    openshiftnode3.dynsatech.com

     

  7. 開始安裝集群

  8. 運行openshift-ansible

[root@openshiftmaster ~]# ansible-playbook openshift-ansible/playbooks/byo/config.yml

 

等待運行完成,正常情況已經配置完成。

 

硬件配置太低會有如下錯誤:

 

解決此錯誤的方法是編輯/etc/ansible/hosts

加入如下配置,跳過檢查項

 

由於是運行在pc機上的,硬件配置不夠,我在這里同時將etcd合並到了master節點(即將ectd安裝到master節點並啟動),在配置hosts時,將etcd指向master節點,停用了node3,配置變成如下圖所示

(如果參考者的運行環境,硬件配置可以,這里不必要刪減節點)

再次運行

[root@openshiftmaster ~]# ansible-playbook openshift-ansible/playbooks/byo/config.yml

即成功通過安裝。

安裝成功的匯總信息如下圖

  1. 檢查運行情況

    [root@openshiftmaster ~]# oc get nodes

  2. 集群賬戶管理

    [root@openshiftmaster ~]# htpasswd -b /etc/origin/master/htpasswd admin admin

  3. 登錄web站點

    配置本機hosts文件,將master節點ip指向其主機名

    用admin登錄web站點

    至此OpenShift集群搭建完畢!開始探索吧………

     

    后記:

    此文檔不詳盡處:

    1. docker在linux中的配置
    2. 沒有詳細介紹多樣化集群部署,想知道更多參考官方文檔

      https://docs.openshift.org/latest/install_config/install/advanced_install.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM