Openshift OKD 3.11安裝總結


 

1.准備工作

(1)vmware 版本 :win10環境下選擇VMware-workstation-full-10.0.0-1295980;12 14均有報錯沒有找到解決辦法;

(2)鏡像版本:CentOS-7-x86_64-DVD-1810.iso

(3)安裝vmwaretool:

安裝中的各種問題詳見(如果不需要共享文件可以不裝)

https://www.cnblogs.com/chen1970/p/11076424.html 

https://www.cnblogs.com/jiu0821/p/5946062.html

(4)vmware網絡配置

在vmware中設置NAT模式並在虛機中配置網卡;如果設置BOOTPROTO=dhcp會自動生成ip

# vi /etc/sysconfig/network-scripts/ifcfg-ens33 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=38d6bc1a-f362-4021-b890-db144b32d8fd
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.75.10
NETMASK=255.255.255.0
GATEWAY=192.168.75.2
DNS1=192.168.75.2
  

參考:https://blog.csdn.net/lkpklpk/article/details/81148906

 

2.安裝步驟:

(1)各節點配置/etc/hosts 

192.168.75.180 node01.okd.com
192.168.75.10  master01.okd.com
192.168.75.10 okd.mcg.com

(2)設置主機名與互信

hostnamectl set-hostname master01.okd.com
···
ssh-keygen
ssh-copy-id $host

(3)配置yum源

#把原來的yum建議都刪掉使用aliyun
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 如下:
[root@master01 ~]# cd /etc/yum.repos.d/
[root@master01 yum.repos.d]# ls
CentOS-Base.repo  epel.repo  okd-ali.repo
[root@master01 yum.repos.d]# cat okd-ali.repo 
[centos-openshift-origin311]
name=Aliyun CentOS OpenShift Origin
baseurl=http://mirrors.aliyun.com/centos/7/paas/x86_64/openshift-origin311/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS

[centos-openshift-origin311-source]
name=CentOS OpenShift Origin Source
baseurl=http://vault.centos.org/centos/7/paas/Source/openshift-origin311/
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS


yum clean all && yum makecache

(4)基礎包安裝

 yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct ansible pyOpenSSL

(5)docker與docker-storage-setup,這里使用overlay2

yum install docker-1.13.1

cat <<EOF > /etc/sysconfig/docker-storage-setup
STORAGE_DRIVER=overlay2
EOF
docker-storage-setup

#使用已經存在的vg
#cat <<EOF > /etc/sysconfig/docker-storage-setup
#VG=docker-vg
#EOF
systemctl restart docker
systemctl status docker

#配置鏡像加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
 {
 "registry-mirrors": ["https://t65g57p1.mirror.aliyuncs.com"]
 }
 EOF

  

(6)下載ansible-playbook 

# git clone https://github.com/openshift/openshift-ansible
# cd openshift-ansible
# git checkout release-3.11

或者:
wget -O ocp-ansible.tar.gz https://codeload.github.com/openshift/openshift-ansible/tar.gz/openshift-ansible-3.11.170-1
cd /usr/share/ansible && tar -zxf ocp-ansible.tar.gz
mv openshift-ansible-openshift-ansible-3.11.170-1/ openshift-ansible

(7)配置ansible hosts

[root@master01 yum.repos.d]# cat /etc/ansible/hosts
[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_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability
openshift_deployment_type=origin

# uncomment the following to enable htpasswd authentication; defaults to AllowAllPasswordIdentityProvider#
#openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]
openshift_node_groups=[{'name': 'node-config-master', 'labels': ['node-role.kubernetes.io/master=true','node-role.kubernetes.io/infra=true']},  {'name': 'node-config-compute', 'labels': ['node-role.kubernetes.io/compute=true']}]
openshift_master_cluster_hostname=okd.mcg.com
openshift_master_cluster_public_hostname=okd.mcg.com

# host group for masters
[masters]
master01.okd.com

# host group for etcd
[etcd]
master01.okd.com

# host group for nodes, includes region info
[nodes]
master01.okd.com openshift_node_group_name='node-config-master'
node01.okd.com openshift_node_group_name='node-config-compute'

 (8) 執行安裝

cd /usr/share/ansible/openshift-ansible
ansible-playbook playbooks/prerequisites.yml #檢查
ansible-playbook playbooks/deploy_cluster.yml #安裝
ansible-playbook openshift-ansible/playbooks/adhoc/uninstall.yml #卸載

 如果有報錯可以分步驟retry

    詳情:https://docs.okd.io/latest/install/running_install.html#advanced-retrying-installation  

 

3.安裝常見問題:

(1)ansible playbook執行過程中controllers容器啟動一直重試:

由於controller容器的啟動賴於另外兩個容器的啟動,通過docker logs 相關容器查看etcd 以及api日志,看其中的報錯;我這次安裝時由於網卡的dhcp模式導致ip出現問題。

(2)這一步特別慢:

 去相應的節點手動執行ps -ef |grep yum 中的命令,安裝origin-node.service 

(3)node節點添加失敗:出現csr問題Approve node certificates when bootstrapping 

第一的問題是node01 節點訪問不了外網了,安裝完再卸載后dns可能發生的變化可以通過修改/etc/resolv.conf解決;

csr節點證書問題:

systemctl status origin-node #看節點報錯信息
oc adm certificate approve xxx #批准相關證書 

 (4)node節點/etc/cni/net.d/中的文件找不到

將主節點的文件傳過去:

scp 80-openshift-network.conf node01.okd.com:/etc/cni/net.d/80-openshift-network.conf 

 (5)no route to host

首先關閉node節點與master節點的firewalld 服務,再看iptables下有沒有禁用相關規則。


免責聲明!

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



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