sh 安装openshift 3.11集群(主服务器+节点)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 安装openshift 3.11集群(主服务器+节点)相关的知识,希望对你有一定的参考价值。

# IMPORTANT! 
# 1. During CentOS installation on all hosts, ensure the /var directory is mapped on its own, and has atleast 15GB space (larger for nodes)
# 2. Create a wildcard domain for the master node: *.master.<DOMAIN>

################################################
# PREREQUISITES
################################################

# ensure you're running the latest and greatest of everything
yum update -y
reboot

#install epel but disable the EPEL repository globally so that is not accidentally used during later steps of the installation
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
    sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo

# install the following base packages
yum install -y  wget git zile nano net-tools docker-1.13.1 \
                bind-utils iptables-services \
                bridge-utils bash-completion \
                kexec-tools sos psacct openssl-devel \
                httpd-tools NetworkManager \
                python-cryptography python2-pip python-devel  python-passlib \
                atomic atomic-openshift-utils java-1.8.0-openjdk-headless

# install extra packages
yum -y --enablerepo=epel install htop byobu ansible pyOpenSSL

# ensure DNS is porperly configured!!!

# enable and start servicesc
systemctl start NetworkManager docker
systemctl enable NetworkManager docker

################################################
# INSTALLATION
################################################

# configure ssh keys for current (Ansible) and add them to other hosts
ssh-keygen
for host in master.<DOMAIN> \
    infra.<DOMAIN> \
    node-1.<DOMAIN> \
    node-2.<DOMAIN>; \
    do ssh-copy-id -i ~/.ssh/id_rsa.pub $host; \
    done

# in case you want to login to hosts by password
export ANSIBLE_HOST_KEY_CHECKING=False

# clone opensift repo
git clone https://github.com/openshift/openshift-ansible.git && \
  cd openshift-ansible && \
  git fetch && \
  git checkout release-3.11 && \
  cd ..

# update hosts file (necessary if you have you have DNS issues)
cat <<EOD > /etc/hosts
127.0.0.1   localhost 
::1         localhost
<IP>		<server_name> <fqdn>
EOD

# create inventory file
touch inventory.ini
cat <<EOD > inventory.ini
[OSEv3:children]
masters
nodes
etcd

[masters]
master.<DOMAIN>

[etcd]
master.<DOMAIN>

[nodes]
master.<DOMAIN> openshift_node_group_name="node-config-master-infra"
node-[1:2].<DOMAIN> openshift_node_group_name="node-config-compute"

[OSEv3:vars]
openshift_additional_repos=[{'id': 'centos-paas', 'name': 'centos-paas', 'baseurl' :'https://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin311', 'gpgcheck' :'0', 'enabled' :'1'}]

ansible_ssh_user=root
ansible_ssh_pass=1
enable_excluders=False
enable_docker_excluder=False
ansible_service_broker_install=False

containerized=True
os_sdn_network_plugin_name='redhat/openshift-ovs-multitenant'
openshift_disable_check=disk_availability,memory_availability

deployment_type=origin
openshift_deployment_type=origin

template_service_broker_selector={"region":"infra"}
openshift_metrics_image_version="v3.11"
openshift_logging_image_version="v3.11"
openshift_logging_elasticsearch_proxy_image_version="v1.0.0"
openshift_logging_es_nodeselector={"node-role.kubernetes.io/infra":"true"}
logging_elasticsearch_rollout_override=false
osm_use_cockpit=true

openshift_uninstall_images=false
openshift_metrics_install_metrics=false
openshift_logging_install_logging=false

openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]

openshift_public_hostname=console.master.<DOMAIN>
openshift_master_default_subdomain=apps.master.<DOMAIN>
openshift_master_api_port=8443
openshift_master_console_port=8443
EOD

# playbook fixes
sed -i -e "s/{{ hostvars[inventory_hostname] | certificates_to_synchronize }}/{{ hostvars[inventory_hostname]['ansible_facts'] | certificates_to_synchronize }}/" \
    openshift-ansible/roles/openshift_master_certificates/tasks/main.yml
sed -i -e "s/logging_elasticsearch_rollout_override | bool/logging_elasticsearch_rollout_override | default(False) | bool/" \
    openshift-ansible/roles/openshift_logging_elasticsearch/handlers/main.yml

# install openshift
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/prerequisites.yml
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/deploy_cluster.yml

# to uninstall
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/adhoc/uninstall.yml

# create default user
htpasswd -b /etc/origin/master/htpasswd petra petr@dmin
oc adm policy add-cluster-role-to-user cluster-admin petra

################################################
# STANDALONE INSTALLATIONS
################################################

# to install logging
sed -i -e "s/^openshift_logging_install_logging=False/openshift_logging_install_logging=true/" inventory.ini
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/openshift-logging/config.yml
# to install metrics
sed -i -e "s/^openshift_logging_install_metrics=False/openshift_logging_install_metrics=true/" inventory.ini
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/openshift-metrics/config.yml

# incase installing logging failed
# just go into the web portal and change the image `openshift/oauth-proxy:v3.9` to `openshift/oauth-proxy:v1.1.0` (or relevant)

# to enable custom dns
# https://docs.openshift.org/latest/admin_guide/disabling_features.html

master-restart api
master-restart controllers

# now login


# To scale up masters
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/byo/openshift-master/scaleup.yml
# To scale up nodes
ansible-playbook -vv -i inventory.ini openshift-ansible/playbooks/byo/openshift-node/scaleup.yml

################################################
# INSTALLATION IMAGES
################################################

docker pull docker.io/openshift/origin-node:v3.11
docker pull docker.io/openshift/origin-pod:v3.11
docker pull docker.io/openshift/origin-control-plane:v3.11
docker pull docker.io/openshift/origin-deployer:v3.11
docker pull docker.io/openshift/origin-haproxy-router:v3.11
docker pull docker.io/openshift/origin-docker-registry:v3.11
docker pull docker.io/openshift/origin-web-console:latest
docker pull docker.io/openshift/origin-metrics-hawkular-metrics:v3.11
docker pull docker.io/gluster/gluster-centos:latest
docker pull quay.io/coreos/cluster-monitoring-operator:v0.1.1
docker pull docker.io/heketi/heketi:latest
docker pull quay.io/coreos/prometheus-config-reloader:v0.23.2
docker pull quay.io/coreos/prometheus-operator:v0.23.2
docker pull docker.io/openshift/prometheus-alertmanager:v0.15.2
docker pull docker.io/openshift/prometheus-node-exporter:v0.16.0
docker pull docker.io/openshift/prometheus:v2.3.2
docker pull docker.io/grafana/grafana:5.2.1
docker pull quay.io/coreos/kube-rbac-proxy:v0.3.1
docker pull quay.io/coreos/etcd:v3.2.22
docker pull quay.io/coreos/kube-state-metrics:v1.3.1
docker pull docker.io/openshift/oauth-proxy:v1.1.0
docker pull quay.io/coreos/configmap-reload:v0.0.1

docker pull quay.io/pires/docker-elasticsearch-kubernetes:5.6.2

以上是关于sh 安装openshift 3.11集群(主服务器+节点)的主要内容,如果未能解决你的问题,请参考以下文章

Istio在Openshift 3.11的安装

OpenShift 3.11 all in one 安装失败

OpenShift 3.11离线环境的jenkins演示

CentOS7.9上部署OpenShift3.11集群

CentOS7.9上部署OpenShift3.11集群

CentOS7.9上部署OpenShift3.11集群