- 30分钟安装部署OpenShift okd3.11 - 腾讯云开发者社区-腾讯云(配置openshift)
- 配置hosts(全部机器)
192.168.10.119 devops01 192.168.10.209 devops02 192.168.10.153 devops03 192.168.10.26 devops04 192.168.10.26 ocp.ysx.run
- 配置免密(此处省略)
- 安装依赖包(全部机器)
yum update -y yum install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct docker-1.13.1 java-1.8.0-openjdk-headless patch httpd-tools -y reboot
- 下载openshift-ansible
git clone https://github.com/openshift/openshift-ansible cd openshift-ansible git checkout release-3.11
安装openshift-ansible(下面是repo)
yum install -y openshift-ansible
[centos-openshift-origin311] name=CentOS OpenShift Origin baseurl=http://mirror.centos.org/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-testing] name=CentOS OpenShift Origin Testing baseurl=http://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin311/ enabled=0 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-PaaS [centos-openshift-origin311-debuginfo] name=CentOS OpenShift Origin DebugInfo baseurl=http://debuginfo.centos.org/centos/7/paas/x86_64/ enabled=0 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
- 安装epel源(全部机器都安装ansible)
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 yum -y --enablerepo=epel install ansible pyOpenSSL
- 配置docker存储
vim /etc/sysconfig/docker-storage-setup
STORAGE_DRIVER=overlay2 DEVS=/dev/vdb VG=docker-vg CONTAINER_ROOT_LV_NAME=docker-lv CONTAINER_ROOT_LV_SIZE=100%FREE CONTAINER_ROOT_LV_MOUNT_PATH=/var/lib/docker WIPE_SIGNATURES=true #有时候磁盘上有数据,这个参数用于确认删除,值有true/false,true是强制删除 #终端执行docker-storage-setup docker-storage-setup
启动docker服务 systemctl enable docker && systemctl start docker
启动NetworkManager systemctl start NetworkManager && systemctl enable NetworkManager
- 配置清单文件
[OSEv3:children] masters nodes etcd lb [OSEv3:vars] ansible_ssh_user=root openshift_deployment_type=origin #设置部署类型 openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}] #此变量设置 身份提供者 openshift_master_default_subdomain=ysx.run os_firewall_use_firewalld=true openshift_disable_check=disk_availability,memory_availability,docker_image_availability #禁用特定的预安装检查 openshift_clock_enabled=true #是否启用网络时间协议 openshift_cluster_monitoring_operator_prometheus_storage_enabled=true openshift_cluster_monitoring_operator_alertmanager_storage_enabled=true openshift_cluster_monitoring_operator_prometheus_storage_capacity=2Gi openshift_cluster_monitoring_operator_alertmanager_storage_capacity=2Gi openshift_logging_es_pvc_dynamic=true openshift_logging_es_pvc_size=2Gi openshift_logging_es_nodeselector={"node-type":"infrastructure"} #安装群集日志记录时,还必须指定节点选择器 openshift_master_cluster_method=native #部署多个主服务器时,此变量定义HA方法,支持native方法 openshift_master_cluster_hostname=ocp.ysx.run openshift_master_cluster_public_hostname=ocp.ysx.run [masters] devops01 devops02 devops03 [etcd] devops01 devops02 devops03 [lb] devops04 [nodes] devops0[1:3] openshift_node_group_name='node-config-all-in-one' devops04 openshift_node_group_name='node-config-compute'
- 安装openshift
- openshix-ansible安装的时候要求selinux必须是enable状态,不能disable,否则检查不通过。可以在安装完集群之后再disable
- 开始部署
nsible-playbook -i /etc/ansible/ocp-311 openshift-ansible/playbooks/prerequisites.yml #执行安装前检查 ansible-playbook -i /etc/ansible/ocp-311 openshift-ansible/playbooks/deploy_cluster.yml #真正的安装集群
- 部署测试
htpasswd -b /etc/origin/master/htpasswd admin admin oc login -u system:admin oc adm policy add-cluster-role-to-user cluster-admin admin
- 查看页面能否登陆
- 安装过程中可能遇到的问题
- customresourcedefinitions.apiextensions.k8s.io,\"servicemonitors.monitoring.coreos.com\" not found
ifcfg-eth0中为NM_CONTROLLED=no。改为yes,重启系统(表示网卡允许用 NetworkManager 程序管理,它可以降低网络配置使用难度,便于管理无线网络、虚拟专用网等网络连接)
- customresourcedefinitions.apiextensions.k8s.io,\"servicemonitors.monitoring.coreos.com\" not found
- 安装openshift外部镜像仓库(与docker仓库一致)
- 配置负载均衡(添加如下配置)
frontend router80 bind *:80 default_backend router80 mode tcp option tcplog backend router80 balance source mode tcp server master0 192.168.10.119:80 check server master1 192.168.10.209:80 check server master2 192.168.10.153:80 check frontend router443 bind *:443 default_backend router443 mode tcp option tcplog backend router443 balance source mode tcp server master0 192.168.10.119:443 check server master1 192.168.10.209:443 check server master2 192.168.10.153:443 check
- 为内部镜像仓库做持久化
- 重新修改dc文件,添加持久卷
containers: volumeMounts: - name: registry-storage mountPath: /registry volumes: - name: registry-storage persistentVolumeClaim: claimName: registry-storage
- 重新修改dc文件,添加持久卷
版权声明:本文为qq_27164239原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。