[轉]OpenShift 集羣搭建指南

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

OpenShift 集羣搭建指南

v1.0node

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

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

節點linux

說明git

主機名github

IPweb

Masterdocker

主控制節點shell

openshiftmaster.dynastech.comwindows

192.168.30.95centos

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

相關文章
相關標籤/搜索