Openshift - рд▓рд╛рд▓ рдЯреЛрдкреА рд╢рд┐рд▓реНрдк

OpenShift


  1. рд╕реНрд╡реАрдк рдУрдкреЗрдВрд╢рд┐рдлреНрдЯред
  2. рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рд╡рд┐рдиреНрдпрд╛рд╕ред
  3. рдкреАрд╡реА рдмрдирд╛рдПрдВ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
  4. Red Hat Decision Manager рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди (kie-workbench рдХрд╛ рдЙрджреНрдпрдо рд╕рд╛рджреГрд╢реНрдп)ред
  5. рдПрдПрдордХреНрдпреВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рд▓рд╛рд▓ рдЯреЛрдкреА рд╕рдХреНрд░рд┐рдп mq) рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реИрдХреНрдХрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯред
  6. рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдЙрдирдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рдЧрд┐рдЯрд▓реИрдм рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг, рдЧрд┐рдЯрд▓реИрдм рд░реАрдЧреЗрд╕реНрдЯреНрд░реАред

1. рдУрдкрдирд┐рд╢рд┐рдлреНрдЯ рд╕реНрд╡реАрдк


рд╕рд░реНрд╡рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ, рдбреАрдПрдирдПрд╕ рд╕рд░реНрд╡рд░ рддреИрдпрд╛рд░ рдХрд░рдирд╛, рд╕рд░реНрд╡рд░ рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА, рд╕рд░реНрд╡рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВред

рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИрдВ - рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 16 рдЬреАрдмреА рд░реИрдо 2 рдХреЛрд░ рдФрд░ рдбреЙрдХрдЯрд░ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо 100 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

Bind- рдЖрдзрд╛рд░рд┐рдд рдбреАрдПрдирдПрд╕ рдореЗрдВ рдирд┐рдореНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
dkm - Master, dk0 - рдирд┐рд╖реНрдкрд╛рджрд┐рдд, ifr - рдЕрд╡рд╕рдВрд░рдЪрдирд╛, bln - balancer, shd - nfs, dkr - рдирд┐рдпрдВрддреНрд░рдг рдиреЛрдб рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЛ рднреА docker regestry рдХреЗ рддрд╣рдд рдПрдХ рдЕрд▓рдЧ рдиреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереАред

db.osh $TTL 1h @ IN SOA test.osh. root.test.osh. ( 2008122601 ; Serial 28800 ; Refresh 14400 ; Retry 604800 ; Expire - 1 week 86400 ) ; Minimum @ IN NS test.osh. @ IN A 127.0.0.1 rnd-osh-dk0-t01 IN A 10.19.86.18 rnd-osh-dk0-t02 IN A 10.19.86.19 rnd-osh-dk0-t03 IN A 10.19.86.20 rnd-osh-dkm-t01 IN A 10.19.86.21 rnd-osh-dkm-t02 IN A 10.19.86.22 rnd-osh-dkm-t03 IN A 10.19.86.23 rnd-osh-ifr-t01 IN A 10.19.86.24 rnd-osh-ifr-t02 IN A 10.19.86.25 rnd-osh-ifr-t03 IN A 10.19.86.26 rnd-osh-bln-t01 IN A 10.19.86.27 rnd-osh-shd-t01 IN A 10.19.86.28 rnd-osh-dkr-t01 IN A 10.19.86.29 lb IN A 10.19.86.27 openshift IN A 10.19.86.27 api-openshift IN A 10.19.86.27 *.apps.openshift IN A 10.19.86.21 *.apps.openshift IN A 10.19.86.22 *.apps.openshift IN A 10.19.86.23 

 db.rv.osh $TTL 1h @ IN SOA test.osh. root.test.osh. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS test.osh. @ IN A 127.0.0.1 18 IN PTR rnd-osh-dk0-t01.test.osh. 19 IN PTR rnd-osh-dk0-t02.test.osh. 20 IN PTR rnd-osh-dk0-t03.test.osh. 21 IN PTR rnd-osh-dkm-t01.test.osh. 22 IN PTR rnd-osh-dkm-t02.test.osh. 23 IN PTR rnd-osh-dkm-t03.test.osh. 24 IN PTR rnd-osh-ifr-t01.test.osh. 25 IN PTR rnd-osh-ifr-t02.test.osh. 26 IN PTR rnd-osh-ifr-t03.test.osh. 27 IN PTR rnd-osh-bln-t01.test.osh. 28 IN PTR rnd-osh-shd-t01.test.osh. 29 IN PTR rnd-osh-dkr-t01.test.osh. 27 IN PTR lb.test.osh. 27 IN PTR api-openshift.test.osh. named.conf.default-zones 

 zone "test.osh" IN { type master; file "/etc/bind/db.osh"; allow-update { none; }; notify no; }; zone "86.19.10.in-addr.arpa" { type master; file "/etc/bind/db.rv.osh"; }; 

рд╕рд░реНрд╡рд░ рдХреА рддреИрдпрд╛рд░реА

рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдФрд░ рд╢реБрд░реВ рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

 rm -rf /etc/yum.repos.d/cdrom.repo subscription-manager repos --disable="*" subscription-manager repos --enable="rhel-7-server-rpms" --enable="rhel-7-server-extras-rpms" --enable="rhel-7-server-ose-3.10-rpms" --enable="rhel-7-server-ansible-2.4-rpms" yum -y install wget git net-tools bind-utils yum-utils iptables-services bridge-utils bash-completion kexec-tools sos psacct yum -y update yum -y install docker 

рдбреЙрдХрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдЕрд▓рдЧ рдбреНрд░рд╛рдЗрд╡)ред

 systemctl stop docker rm -rf /var/lib/docker/* echo "STORAGE_DRIVER=overlay2" > /etc/sysconfig/docker-storage-setup echo "DEVS=/dev/sdc" >> /etc/sysconfig/docker-storage-setup echo "CONTAINER_ROOT_LV_NAME=dockerlv" >> /etc/sysconfig/docker-storage-setup echo "CONTAINER_ROOT_LV_SIZE=100%FREE" >> /etc/sysconfig/docker-storage-setup echo "CONTAINER_ROOT_LV_MOUNT_PATH=/var/lib/docker" >> /etc/sysconfig/docker-storage-setup echo "VG=docker-vg" >> /etc/sysconfig/docker-storage-setup systemctl enable docker docker-storage-setup systemctl is-active docker systemctl restart docker docker info | grep Filesystem 

рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

 yum -y install atomic atomic trust show yum -y install docker-novolume-plugin systemctl enable docker-novolume-plugin systemctl start docker-novolume-plugin yum -y install openshift-ansible 

рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХреБрдВрдЬрд┐рдпрд╛рдБ рдмрдирд╛рдирд╛, рдмрдирд╛рдирд╛ред

 useradd --create-home --groups users,wheel ocp sed -i 's/# %wheel/%wheel/' /etc/sudoers mkdir -p /home/ocp/.ssh echo "ssh-rsa AAAAB3NzaC........8Ogb3Bv ocp SSH Key" >> /home/ocp/.ssh/authorized_keys 

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рдмрдиреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрддреЗ рдХреЛ рдмрджрд▓рдирд╛ред

 echo '{ "bip": "172.26.0.1/16" }' > /etc/docker/daemon.json systemctl restart docker 

рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдВрдзрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиред (рдбреАрдПрдирдПрд╕ рдХреЛ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)

 nmcli connection modify ens192 ipv4.dns 172.17.70.140 nmcli connection modify ens192 ipv4.dns-search cluster.local +ipv4.dns-search test.osh +ipv4.dns-search cpgu systemctl stop firewalld systemctl disable firewalld systemctl restart network 

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдорд╢реАрди рдХрд╛ рдкреВрд░рд╛ рдирд╛рдоред

 hhh=$(cat /etc/hostname) echo "$hhh".test.osh > /etc/hostname 

рдкреВрд░реНрдг рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред

Dkr рдХрдВрдЯреНрд░реЛрд▓ рдиреЛрдб рддреИрдпрд╛рд░ рдХрд░рдирд╛


рдирд┐рдпрдВрддреНрд░рдг рдиреЛрдб рдФрд░ рдмрд╛рдХреА рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдбреЙрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдбрд┐рд╕реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

Ntp рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

 yum install ntp -y systemctl enable ntpd service ntpd start service ntpd status ntpq -p chmod 777 -R /usr/share/ansible/openshift-ansible/ 

рдЖрдкрдХреЛ рдСрдк рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рдХреБрдВрдЬреА рднреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ ocp рдХреЗ рд░реВрдк рдореЗрдВ ssh рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВред

рдЗрдиреНрд╡реЗрдВрдЯрд░реА рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ред

 host-poc.yaml [OSEv3:children] masters nodes etcd lb nfs [OSEv3:vars] ansible_ssh_user=ocp ansible_become=yes openshift_override_hostname_check=True openshift_master_cluster_method=native openshift_disable_check=memory_availability,disk_availability,package_availability openshift_deployment_type=openshift-enterprise openshift_release=v3.10 oreg_url=registry.access.redhat.com/openshift3/ose-${component}:${version} debug_level=2 os_firewall_use_firewalld=True openshift_install_examples=true openshift_clock_enabled=True openshift_router_selector='node-role.kubernetes.io/infra=true' openshift_registry_selector='node-role.kubernetes.io/infra=true' openshift_examples_modify_imagestreams=true os_sdn_network_plugin_name='redhat/openshift-ovs-multitenant' openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}] openshift_master_htpasswd_users={'admin': '$apr1$pQ3QPByH$5BDkrp0m5iclRske.M0m.0'} openshift_master_default_subdomain=apps.openshift.test.osh openshift_master_cluster_hostname=api-openshift.test.osh openshift_master_cluster_public_hostname=openshift.test.osh openshift_enable_unsupported_configurations=true openshift_use_crio=true openshift_crio_enable_docker_gc=true # registry openshift_hosted_registry_storage_kind=nfs openshift_hosted_registry_storage_access_modes=['ReadWriteMany'] openshift_hosted_registry_storage_nfs_directory=/exports openshift_hosted_registry_storage_nfs_options='*(rw,root_squash)' openshift_hosted_registry_storage_volume_name=registry openshift_hosted_registry_storage_volume_size=30Gi # cluster monitoring openshift_cluster_monitoring_operator_install=true openshift_cluster_monitoring_operator_node_selector={'node-role.kubernetes.io/master': 'true'} #metrics openshift_metrics_install_metrics=true openshift_metrics_hawkular_nodeselector={"node-role.kubernetes.io/infra": "true"} openshift_metrics_cassandra_nodeselector={"node-role.kubernetes.io/infra": "true"} openshift_metrics_heapster_nodeselector={"node-role.kubernetes.io/infra": "true"} openshift_metrics_storage_kind=nfs openshift_metrics_storage_access_modes=['ReadWriteOnce'] openshift_metrics_storage_nfs_directory=/exports openshift_metrics_storage_nfs_options='*(rw,root_squash)' openshift_metrics_storage_volume_name=metrics openshift_metrics_storage_volume_size=20Gi #logging openshift_logging_kibana_nodeselector={"node-role.kubernetes.io/infra": "true"} openshift_logging_curator_nodeselector={"node-role.kubernetes.io/infra": "true"} openshift_logging_es_nodeselector={"node-role.kubernetes.io/infra": "true"} openshift_logging_install_logging=true openshift_logging_es_cluster_size=1 openshift_logging_storage_kind=nfs openshift_logging_storage_access_modes=['ReadWriteOnce'] openshift_logging_storage_nfs_directory=/exports openshift_logging_storage_nfs_options='*(rw,root_squash)' openshift_logging_storage_volume_name=logging openshift_logging_storage_volume_size=20Gi #ASB ansible_service_broker_install=true openshift_hosted_etcd_storage_kind=nfs openshift_hosted_etcd_storage_nfs_options="*(rw,root_squash,sync,no_wdelay)" openshift_hosted_etcd_storage_nfs_directory=/opt/osev3-etcd openshift_hosted_etcd_storage_volume_name=etcd-vol2 openshift_hosted_etcd_storage_access_modes=["ReadWriteOnce"] openshift_hosted_etcd_storage_volume_size=30G openshift_hosted_etcd_storage_labels={'storage': 'etcd'} ansible_service_broker_local_registry_whitelist=['.*-apb$'] #cloudforms #openshift_management_install_management=true #openshift_management_app_template=cfme-template # host group for masters [masters] rnd-osh-dkm-t0[1:3].test.osh # host group for etcd [etcd] rnd-osh-dkm-t0[1:3].test.osh [lb] rnd-osh-bln-t01.test.osh containerized=False [nfs] rnd-osh-shd-t01.test.osh [nodes] rnd-osh-dkm-t0[1:3].test.osh openshift_node_group_name='node-config-master' rnd-osh-ifr-t0[1:3].test.osh openshift_node_group_name='node-config-infra' rnd-osh-dk0-t0[1:3].test.osh openshift_node_group_name='node-config-compute' 

рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рдкреНрд▓реЗрдмреБрдХ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред

 ansible-playbook -i host-poc.yaml /usr/share/ansible/openshift-ansible/playbooks/prerequisites.yml ansible-playbook -i host-poc.yaml /usr/share/ansible/openshift-ansible/playbooks/openshift-checks/pre-install.yml ansible-playbook -i host-poc.yaml /usr/share/ansible/openshift-ansible/playbooks/deploy_cluster.yml 

рдпрджрд┐ рдЕрдВрдд рдореЗрдВ рд╕рдм рдареАрдХ рд╣реИ, рддреЛ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдВрдЧреЗред



рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ oprenshift рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрдкрд╛рджрдиред

 10.19.86.18 rnd-osh-dk0-t01.test.osh 10.19.86.19 rnd-osh-dk0-t02.test.osh 10.19.86.20 rnd-osh-dk0-t03.test.osh 10.19.86.21 rnd-osh-dkm-t01.test.osh 10.19.86.22 rnd-osh-dkm-t02.test.osh 10.19.86.23 rnd-osh-dkm-t03.test.osh 10.19.86.24 rnd-osh-ifr-t01.test.osh 10.19.86.25 rnd-osh-ifr-t02.test.osh 10.19.86.26 rnd-osh-ifr-t03.test.osh 10.19.86.27 rnd-osh-bln-t01.test.osh openshift.test.osh 10.19.86.28 rnd-osh-shd-t01.test.osh 10.19.86.29 rnd-osh-dkr-t01.test.osh 

Url Openhift.test.osh : 8443 рдкрд░ рд╕рддреНрдпрд╛рдкрди

2. рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рд╡рд┐рдиреНрдпрд╛рд╕


Dkm рджрд░реНрдЬ рдХрд░реЗрдВред

 oc login -u system:admin oc adm policy add-cluster-role-to-user cluster-admin admin --rolebinding-name=cluster-admin 

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЫрд┐рдкреА рд╣реБрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдУрдкрдирд╢рд┐рдлреНрдЯ) рдХреЛ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реИред

3. рдкреАрд╡реА рдмрдирд╛рдирд╛ рдФрд░ рдЬреЛрдбрд╝рдирд╛


Nfs рд╕рд░реНрд╡рд░ рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдПрдВред

 mkdir -p /exports/examplpv chmod -R 777 /exports/examplpv chown nfsnobody:nfsnobody -R /exports/examplpv echo '"/exports/examplpv" *(rw,root_squash)' >> /etc/exports.d/openshift-ansible.exports exportfs -ar restorecon -RvF 

рдЦреБрд▓рдиреЗ рдХреЗ рд╕рдордп pv рдЬреЛрдбрд╝рдирд╛ред

рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдкреНрд░реЛрдЬреЗрдХреНрдЯ examppv- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ рдЬрд╛рдПрдВ рдорд╣рд╛рд╕рд╛рдЧрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ examplpv- рдкрд░рд┐рдпреЛрдЬрдирд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде yaml рдмрдирд╛рдПрдБред

 apiVersion: v1 kind: PersistentVolume metadata: name: examplpv-ts1 spec: capacity: storage: 20Gi accessModes: - ReadWriteOnce nfs: path: /exports/examplpv server: rnd-osh-shd-t01 persistentVolumeReclaimPolicy: Recycle 

рдФрд░ рдЖрд╡реЗрджрди рдХрд░реЗрдВред рдорд╣рд╛рд╕рд╛рдЧрд░ рд▓рд╛рдЧреВ -f рдлрд╝рд╛рдЗрд▓ рдирд╛рдо

рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж

 oc get pv 

рдирд┐рд░реНрдорд┐рдд pv рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

4. Red Hat Decision Manager рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди (kie-workbench рдХрд╛ рдЙрджреНрдпрдо рд╕рд╛рджреГрд╢реНрдп)


рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

 oc get imagestreamtag -n openshift | grep rhdm 



рдЯреЗрдореНрдкрд▓реЗрдЯ рдЬреЛрдбрд╝рдирд╛ - рдПрдХ рд▓рд┐рдВрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

 unzip rhdm-7.2.1-openshift-templates.zip -d ./rhdm-7.2.1-openshift-templates 

рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ:

 oc new-project rhdm72 

рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЬреЛрдбрд╝рдирд╛ .redhat.io рд╕рд░реНрд╡рд░:

 docker login registry.redhat.io cat ~/.docker/config.json oc create secret generic pull-secret-name --from-file=.dockerconfigjson=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson oc secrets link default pull-secret-name --for=pull oc secrets link builder pull-secret-name 

рдЖрдпрд╛рдд рдХрд▓реНрдкрдирд╛, рдкреНрд░рдореБрдЦ рдирд┐рд░реНрдорд╛рдг рдирд┐рд░реНрдгрдп рд╕рд░реНрд╡рд░, рдирд┐рд░реНрдгрдп рдХреЗрдВрджреНрд░реАрдпред

 keytool -genkeypair -alias jboss -keyalg RSA -keystore keystore.jks -storepass mykeystorepass --dname "CN=STP,OU=Engineering,O=POC.mos,L=Raleigh,S=NC,C=RU" oc create -f rhdm72-image-streams.yaml oc create secret generic kieserver-app-secret --from-file=keystore.jks oc create secret generic decisioncentral-app-secret --from-file=keystore.jks 

Nfs рд╕рд░реНрд╡рд░ рдкрд░ рд▓рдЧрд╛рддрд╛рд░ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдПрдВред

 mkdir -p /exports/rhdm72 chmod -R 777 /exports/rhdm72 chown nfsnobody:nfsnobody -R /exports/rhdm72 echo '"/exports/rhamq72" *(rw,root_squash)' >> /etc/exports.d/openshift-ansible.exports exportfs -ar restorecon -RvF 

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ pv рдЬреЛрдбрд╝реЗрдВ:

 apiVersion: v1 kind: PersistentVolume metadata: name: rhdm72-pv1 spec: capacity: storage: 20Gi accessModes: - ReadWriteMany nfs: path: /exports/rhdm72 server: rnd-osh-shd-t01 persistentVolumeReclaimPolicy: Recycle 

RhDM70 рдХреЛ PV рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
accessModes:
- ReadWriteOnce
рд▓реЗрдХрд┐рди 7.2 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
accessModes:
- ReadWiteMany
рд▓рд╛рдЧреВ рдХрд░реЗрдВ - рдорд╣рд╛рд╕рд╛рдЧрд░ рд▓рд╛рдЧреВ -f рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
+ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдирд┐рд░реНрдорд┐рдд pv рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╕реЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред

 oc new-app -f rhdm-7.2.1-openshift-templates/templates/rhdm72-authoring.yaml -p DECISION_CENTRAL_HTTPS_SECRET=decisioncentral-app-secret -p KIE_SERVER_HTTPS_SECRET=kieserver-app-secret 

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреЙрдХ-рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдкреБрд▓ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рддреИрдирд╛рдд рд╣реЛрдЧрд╛ред
рдЗрд╕ рдХреНрд╖рдг рддрдХ, рд╕реНрдерд┐рддрд┐ рдпрд╣реА рд░рд╣реЗрдЧреАред



рдпрджрд┐ рдЖрдк рдЫрд╡рд┐ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА



рдЖрдкрдХреЛ рдпрдорд▓ рдХреЛ edit.redhat.io рд╕реЗ edit.access.redhat.com рдкрд░ рдЪреБрдирдХрд░ рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдпреВрдЖрд░рдПрд▓ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛



рдЕрдкрдиреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рддреИрдирд╛рдд рд╕реЗрд╡рд╛ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣реЛрд╕реНрдЯреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
рдЗрдиреНрдлреНрд░рд╛ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдкрд░
10.19.86.25 rnd-osh-ifr-t02.test.osh myapp-rhdmcentr-rhdm72.apps.openshift.test.osh




5. рдПрдПрдордХреНрдпреВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рд▓рд╛рд▓ рдЯреЛрдкреА рд╕рдХреНрд░рд┐рдп mq) рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реИрдХреНрдХрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ



RHAMQ

рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ

 oc new-project rhamq-and-pgsql 

рд╣рдо рдЙрдирдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЪрд┐рддреНрд░ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

 oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.1.GA/amq-broker-7-image-streams.yaml oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.1.GA/amq-broker-7-scaledown-controller-image-streams.yaml oc import-image amq-broker-72-openshift:1.1 oc import-image amq-broker-72-scaledown-controller-openshift:1.0 

рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрдерд╛рдкрдирд╛

 for template in amq-broker-72-basic.yaml \ amq-broker-72-ssl.yaml \ amq-broker-72-custom.yaml \ amq-broker-72-persistence.yaml \ amq-broker-72-persistence-ssl.yaml \ amq-broker-72-persistence-clustered.yaml \ amq-broker-72-persistence-clustered-ssl.yaml; do oc replace --force -f \ https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.1.GA/templates/${template} done 

рдПрдХ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдореЗрдВ рдПрдХ рднреВрдорд┐рдХрд╛ рдЬреЛрдбрд╝рдирд╛ред

 oc policy add-role-to-user view -z default 

Nfs рд╕рд░реНрд╡рд░ рдкрд░ pv рдмрдирд╛рдирд╛

 mkdir -p /exports/pgmq chmod -R 777 /exports/pgmq chown nfsnobody:nfsnobody -R /exports/pgmq echo '"/exports/pgmq" *(rw,root_squash)' >> /etc/exports.d/openshift-ansible.exports exportfs -ar restorecon -RvF 

рдпрдо рдмрдирд╛рдПрдБ

pgmq_storage.yaml

 apiVersion: v1 kind: PersistentVolume metadata: name: pgmq-ts1 spec: capacity: storage: 20Gi accessModes: - ReadWriteOnce nfs: path: /exports/pgmq server: rnd-osh-shd-t01 persistentVolumeReclaimPolicy: Recycle 

Pv рд▓рд╛рдЧреВ рдХрд░реЗрдВ

 oc apply -f pgmq_storage.yaml 

рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдмрдирд╛рдПрдБ



рддреИрдпрд╛рд░



Ssl рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдПред рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдПрдХреНрд╕реЗрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ редredhat.com/ documentation/ en-us/red_hat_amq/7.2/html/deploying_amq_broker_on_openshift_container_platform

PostgreSQL

рд╣рдо рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдПрдХ рдФрд░ рдкреАрд╡реА рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╣рдордиреЗ рдПрдордХреНрдпреВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред

 mkdir -p /exports/pgmq2 chmod -R 777 /exports/pgmq2 chown nfsnobody:nfsnobody -R /exports/pgmq2 echo '"/exports/pgmq2" *(rw,root_squash)' >> /etc/exports.d/openshift-ansible.exports exportfs -ar restorecon -RvF 

pgmq_storage.yaml

 apiVersion: v1 kind: PersistentVolume metadata: name: pgmq-ts2 spec: capacity: storage: 20Gi accessModes: - ReadWriteOnce nfs: path: /exports/pgmq2 server: rnd-osh-shd-t01 persistentVolumeReclaimPolicy: Recycle 



рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднрд░рддреЗ рд╣реИрдВ





рддреИрдпрд╛рд░ рд╣реИред

6. рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдЙрдирдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ, рдкрд╛рдЗрдкрд▓рд╛рдЗрди, рдЧрд┐рдЯрд▓реИрдм рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг, рдЧрд┐рдЯрд▓реИрдм рд░реАрдЧреЗрд╕реНрдЯреНрд░реА


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИред

 oc new-project ttttt 


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ, рдЖрдк рдЗрд╕реЗ рдПрдХ рдореИрдиреБрдЕрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ рдмрд╕ рдПрдХ рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг, рдЖрджрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Gitlab рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдХрдЯреНрдареА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдбреЙрдХрдЯрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рд╕реНрдп рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╡рд┐рдХрд▓реНрдк рдФрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рджреЗрдЦреЗрдВред

 oc create secret docker-registry 

рдлрд┐рд░ рдПрдХ рд░рд╣рд╕реНрдп рдмрдирд╛рдПрдБ

 oc create secret docker-registry gitlabreg --docker-server='gitlab.xxx.com:4567' --docker-username='gitlab+deploy-token-1' --docker-password='syqTBSMjHtT_t-X5fiSY' --docker-email='email' 

рдлрд┐рд░ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред

 oc new-app --docker-image='gitlab.xxx.com:4567/oko/oko-service:latest' 

рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЫрд╡рд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЦрд┐рдВрдЪрд╛рд╡ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рд╣рдорд╛рд░реА рд░реАрд╕реЗрдВрдЯреНрд░реА рдХреЛ рдЧреБрдкреНрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред



рдлрд┐рд░ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред



рд╣реЛ рдЧрдпрд╛ - рдХрдВрдЯреЗрдирд░ рдЬреАрд╡рд┐рдд рд╣реИред

рдлрд┐рд░ рд░рд╛рдЗрдЯ рдПрдбрд┐рдЯ рдпрдореНрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред



рдлрд┐рд░, рд╣рдорд╛рд░реЗ рдХрдВрдЯреЗрдирд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЖрдкрдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд╣ рдПрдХ рд╕реЗрд╡рд╛ рдмрдирд╛рдирд╛ рд╣реИред

service.yaml

 kind: Service apiVersion: v1 metadata: name: oko-service spec: type: ClusterIP ports: - port: 9000 protocol: TCP targetPort: 9000 selector: app: oko-service sessionAffinity: None status: loadBalancer: {} 

 oc apply -f service.yaml 

рдПрдХ рд░реВрдЯ рдмрдирд╛рдПрдВред



рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдореЗрдЬрдмрд╛рди рдореЗрдВ url рджрд░реНрдЬ рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рдПрдХ рдЗрдиреНрдлреНрд░рд╛ рдиреЛрдб рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред



рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдореЗрдЬрдмрд╛рди рдореЗрдВ url рджрд░реНрдЬ рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рдПрдХ рдЗрдиреНрдлреНрд░рд╛ рдиреЛрдб рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

рд╣реЛ рдЧрдпрд╛ред

рдЯреЗрдореНрдкрд▓реЗрдЯред

рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдпрдорд▓ рдореЗрдВ рдЙрди рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рдЙрддрд╛рд░рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реЗрд╡рд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред

рдЕрд░реНрдерд╛рддреН, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ dc Service Route рдХрд╛ рд░рд╣рд╕реНрдп рд╣реИред

рдЖрдк рд╡рд╣ рд╕рдм рдХреБрдЫ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

 oc get all 

рджрд┐рд▓рдЪрд╕реНрдк рдЙрддрд╛рд░рдирд╛

 oc get deploymentconfig.apps.openshift.io oko-service -o yaml 

рдпрд╛

 oc get d oko-service -o yaml 

рдлрд┐рд░ рдЖрдк рдУрдкрдирд╢рд┐рдлреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЙрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░реЗрдВред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

template.yaml

 kind: "Template" apiVersion: "v1" metadata: name: oko-service-template objects: - kind: DeploymentConfig apiVersion: v1 metadata: name: oko-service annotations: description: "ImageStream Defines how to build the application oko-service" labels: app: oko-service spec: replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: oko-service deploymentconfig: oko-service template: metadata: labels: app: oko-service spec: selector: app: oko-service deploymentconfig: oko-service containers: - env: - name: serverPort value: "9000" - name: storeLogin value: "iii" - name: storePassword value: "trCsm5" - name: storeApiUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2" - name: storeWsdlUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2/CustomWebService2.wsdl" - name: logLevel value: "INFO" - name: logPath value: "/var/log/efp-oko.log" ports: - containerPort: 9000 name: acces protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: / port: 9000 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 image: gitlab.xxx.com:4567/oko/oko-service imagePullPolicy: Always name: oko-service imagePullSecrets: - name: gitlab.xxx.com type: ImageChange strategy: activeDeadlineSeconds: 21600 resources: {} rollingParams: intervalSeconds: 1 maxSurge: 25% maxUnavailable: 25% timeoutSeconds: 600 updatePeriodSeconds: 5 type: Rolling triggers: - type: "ImageChange" imageChangeParams: automatic: true containerNames: - "oko-service" from: kind: ImageStream name: 'oko-service:latest' - kind: ImageStream apiVersion: v1 metadata: name: oko-service annotations: openshift.io/generated-by: OpenShiftNewApp labels: app: oko-service deploymentconfig: oko-service spec: dockerImageRepository: gitlab.xxx.com:4567/oko/oko-service tags: - annotations: openshift.io/imported-from: gitlab.xxx.com:4567/oko/oko-service from: kind: DockerImage name: gitlab.xxx.com:4567/oko/oko-service importPolicy: insecure: "true" name: latest referencePolicy: type: Source forcePull: true - kind: Service apiVersion: v1 metadata: name: oko-service spec: type: ClusterIP ports: - port: 9000 protocol: TCP targetPort: 9000 selector: app: oko-service sessionAffinity: None status: loadBalancer: {} - kind: Route apiVersion: route.openshift.io/v1 metadata: name: oko-service spec: host: oko-service.moxs.ru to: kind: Service name: oko-service weight: 100 wildcardPolicy: None status: ingress: - conditions: host: oko-service.xxx.com routerName: router wildcardPolicy: None 

рдЖрдк рдпрд╣рд╛рдВ рд░рд╣рд╕реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗрд╡рд╛ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рд░рд╣рд╕реНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╣реЛрдВрдЧреЗред

рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛

рдЫрд╡рд┐ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдкреВрд░реНрдг рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛, рдкреБрд╢ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рд░рд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЧрд┐рдЯ рд╕реЗ рдПрдХ рдмрд┐рд▓реНрдбрдХреЙрдиреНрдлрд╝рд┐рдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рддреАрди рдбреЙрдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдПрдХ рдирд┐рдпрдорд┐рдд рдбреЙрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рджреЛ FROM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдКрдкрд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1.17 рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ, рдФрд░ рдмреЗрд╕ рдЗрдореЗрдЬ рдФрд░ рд▓рдХреНрд╖реНрдп рдПрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЙрдХрдлрд╝рд╛рдЗрд▓реНрд╕ рд╣реИрдВред)

рдпрджрд┐ рдпрд╣ рдирд┐рдЬреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд░рд╣рд╕реНрдп рдмрдирд╛рдПрдБред

 oc create secret generic sinc-git --from-literal=username=gitsinc --from-literal=password=Paaasssword123 

рдЖрдЗрдП рд╕рд░реНрд╡рд┐рд╕ рд╕реА рдмрд┐рд▓реНрдбрд░ рдмрд┐рд▓реНрдбрд░ рдХреЛ рд╣рдорд╛рд░реЗ рд╕реАрдХреНрд░реЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрд╛рдПрдВ

 oc secrets link builder sinc-git 

Url git рдХрд╛ рд░рд╣рд╕реНрдп рдмрд╛рдБрдзреЗрдВ

 oc annotate secret sinc-git 'build.openshift.io/source-secret-match-uri-1=https://gitlab.xxx.com/*' 

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЖрдЗрдП рд╣рдо рдХреБрдВрдЬреА - рдЧрд╛рдпрдм-рд▓рд╛рдкрддрд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЧреАрддрд╛ рд╕реЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдПрдХ рдореВрд▓ рдЫрд╡рд┐ рдирд╣реАрдВ рд╣реИред

oc new-app gitlab.xxx.com/OKO/oko-service.git --strategy = docker - allow- рд▓рд╛рдкрддрд╛-рдЫрд╡рд┐рдпрд╛рдВ
рдлрд┐рд░, рдирд┐рд░реНрдорд┐рдд рдмрд┐рд▓реНрдбрдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ, рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ dockerfile рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рд╣реА


рд╣рдо рдЖрдзрд╛рд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднреА рдмрджрд▓рддреЗ рд╣реИрдВред

рдЖрдЗрдП рдЗрд╕ рд╕реЗ рджреЛ Buildcconfig рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдЖрдзрд╛рд░ рдЫрд╡рд┐ рдХреЗ рддрд╣рдд, рдпрдо рдореЗрдВ рдЕрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдорд╛рди рд▓реЗрдВред

рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рджреЛ рдРрд╕реЗ рдкреИрдЯрд░реНрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

BC-py

 kind: "BuildConfig" apiVersion: "v1" metadata: name: "oko-service-build-pyton-ml" labels: app: oko-service spec: completionDeadlineSeconds: 2400 triggers: - type: "ImageChange" source: type: git git: uri: "https://gitlab.xxx.com/OKO/oko-service.git" ref: "master" sourceSecret: name: git-oko strategy: type: Docker dockerStrategy: dockerfilePath: Dockerfile-python-ml forcePull: true output: to: kind: "ImageStreamTag" name: "python-ml:latest" 

BC-oko

 kind: "BuildConfig" apiVersion: "v1" metadata: name: "oko-service-build" labels: app: oko-service spec: completionDeadlineSeconds: 2400 triggers: - type: "ImageChange" source: type: git git: uri: "https://gitlab.xxx.xom/OKO/oko-service.git" ref: "master" sourceSecret: name: git-oko strategy: type: Docker dockerStrategy: dockerfilePath: Dockerfile-oko-service from: kind: ImageStreamTag name: "python-ml:latest" forcePull: true env: - name: serverPort value: "9000" - name: storeLogin value: "iii" - name: storePassword value: "trCsn5" - name: storeApiUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2" - name: storeWsdlUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2/CustomWebService2.wsdl" - name: logLevel value: "INFO" - name: logPath value: "/var/log/efp-oko.log" output: to: kind: "ImageStreamTag" name: "oko-service:latest" 


рд╣рдореЗрдВ рдПрдХ рддреИрдирд╛рддреА рддреИрдирд╛рддреА рджреЛ рдХрд▓реНрдкрдирд╛ рдмрдирд╛рдиреЗ рдФрд░ рд╕реЗрд╡рд╛ рдФрд░ рдорд╛рд░реНрдЧ рдХреА рддреИрдирд╛рддреА рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЕрд▓рдЧ рд╕реЗ рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реНрд╕ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА, рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╕реЗрд╡рд╛ рдХреЗ рд╕рднреА рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред

 template kind: "Template" apiVersion: "v1" metadata: name: oko-service-template objects: - kind: Secret apiVersion: v1 type: kubernetes.io/basic-auth metadata: name: git-oko annotations: build.openshift.io/source-secret-match-uri-1: https://gitlab.xxx.com/* data: password: R21ZFSw== username: Z2l0cec== - kind: "BuildConfig" apiVersion: "v1" metadata: name: "oko-service-build-pyton-ml" labels: app: oko-service spec: completionDeadlineSeconds: 2400 triggers: - type: "ImageChange" source: type: git git: uri: "https://gitlab.xxx.com/OKO/oko-service.git" ref: "master" sourceSecret: name: git-oko strategy: type: Docker dockerStrategy: dockerfilePath: Dockerfile-python-ml forcePull: true output: to: kind: "ImageStreamTag" name: "python-ml:latest" - kind: "BuildConfig" apiVersion: "v1" metadata: name: "oko-service-build" labels: app: oko-service spec: completionDeadlineSeconds: 2400 triggers: - type: "ImageChange" source: type: git git: uri: "https://gitlab.xxx.com/OKO/oko-service.git" ref: "master" sourceSecret: name: git-oko strategy: type: Docker dockerStrategy: dockerfilePath: Dockerfile-oko-service from: kind: ImageStreamTag name: "python-ml:latest" forcePull: true env: - name: serverPort value: "9000" - name: storeLogin value: "iii" - name: storePassword value: "trC" - name: storeApiUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2" - name: storeWsdlUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2/CustomWebService2.wsdl" - name: logLevel value: "INFO" - name: logPath value: "/var/log/efp-oko.log" output: to: kind: "ImageStreamTag" name: "oko-service:latest" - kind: DeploymentConfig apiVersion: v1 metadata: name: oko-service annotations: description: "ImageStream Defines how to build the application oko-service" labels: app: oko-service spec: replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: oko-service deploymentconfig: oko-service template: metadata: labels: app: oko-service spec: selector: app: oko-service deploymentconfig: oko-service containers: - env: - name: serverPort value: "9000" - name: storeLogin value: "iii" - name: storePassword value: "trCsn5" - name: storeApiUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2" - name: storeWsdlUrl value: "http://14.75.41.20/custom-api-2.0/CustomWebService2/CustomWebService2.wsdl" - name: logLevel value: "INFO" - name: logPath value: "/var/log/efp-oko.log" ports: - containerPort: 9000 name: acces protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: / port: 9000 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 image: docker-registry.default.svc:5000/oko-service-p/oko-service imagePullPolicy: Always name: oko-service type: ImageChange strategy: activeDeadlineSeconds: 21600 resources: {} rollingParams: intervalSeconds: 1 maxSurge: 25% maxUnavailable: 25% timeoutSeconds: 600 updatePeriodSeconds: 5 type: Rolling triggers: - type: "ImageChange" imageChangeParams: automatic: true containerNames: - "oko-service" from: kind: ImageStreamTag name: 'oko-service:latest' - kind: ImageStream apiVersion: v1 metadata: name: oko-service annotations: openshift.io/generated-by: OpenShiftNewApp labels: app: oko-service deploymentconfig: oko-service spec: dockerImageRepository: "" tags: - annotations: openshift.io/imported-from: oko-service from: kind: DockerImage name: oko-service importPolicy: insecure: "true" name: latest referencePolicy: type: Source - kind: ImageStream apiVersion: v1 metadata: name: python-ml spec: dockerImageRepository: "" tags: - annotations: openshift.io/imported-from: oko-service-build from: kind: DockerImage name: python-ml importPolicy: insecure: "true" name: latest referencePolicy: type: Source - kind: Service apiVersion: v1 metadata: name: oko-service spec: type: ClusterIP ports: - port: 9000 protocol: TCP targetPort: 9000 selector: app: oko-service sessionAffinity: None status: loadBalancer: {} - kind: Route apiVersion: route.openshift.io/v1 metadata: name: oko-service spec: host: oko-service.xxx.com to: kind: Service name: oko-service weight: 100 wildcardPolicy: None status: ingress: - conditions: host: oko-service.xxx.com routerName: router wildcardPolicy: None 

рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдУрдХреЛ-рд╕рд░реНрд╡рд┐рд╕-рдкреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдореВрд▓ рдпрдорд▓ рдХреЛ рдорд╣рд╛рд╕рд╛рдЧрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ... -рдУ рдпрдорд▓

рдЖрдк рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

 oc process -f oko-service-templatebuild.yaml | oc create -f - 

рдлрд┐рд░ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдПрдВ

OKO-рд╕реЗрд╡рд╛-pipeline.yaml

 kind: "BuildConfig" apiVersion: "v1" type: "GitLab" gitlab: secret: "secret101" metadata: name: "oko-service-sample-pipeline" spec: strategy: jenkinsPipelineStrategy: jenkinsfile: |- // path of the template to use // def templatePath = 'https://raw.githubusercontent.com/openshift/nodejs-ex/master/openshift/templates/nodejs-mongodb.json' // name of the template that will be created def templateName = 'oko-service-template' // NOTE, the "pipeline" directive/closure from the declarative pipeline syntax needs to include, or be nested outside, pipeline { agent any environment { DEV_PROJECT = "oko-service"; } stages { stage('deploy') { steps { script { openshift.withCluster() { openshift.withProject() { echo "Hello from project ${openshift.project()} in cluster ${openshift.cluster()}" def dc = openshift.selector('dc', "${DEV_PROJECT}") openshiftBuild(buildConfig: 'oko-service-build', waitTime: '3000000') openshiftDeploy(deploymentConfig: 'oko-service', waitTime: '3000000') } } } } } } // stages } // pipeline type: JenkinsPipeline triggers: - type: GitLab gitlab: secret: ffffffffk 

рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж

 oc describe buildconfig oko-service-sample-pipeline 

Gitlab рдореЗрдВ webhook рдХреЗ рд▓рд┐рдП url рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рд╣рд╕реНрдп рдХреЗ рд╕рд╛рде рд░рд╣рд╕реНрдп рдХреЛ рдмрджрд▓реЗрдВред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдУрдкрдирд╢рд┐рдлреНрдЯ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЦреБрдж рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЗрдирдХреАрдВрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЙрдиреНрдЪ рд▓рдВрдмрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдереЛрдбрд╝реА рджреЗрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдлрд┐рд░ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЧрд┐рдЯрд▓реИрдм рдореЗрдВ:



Url рдореЗрдВ рднрд░реЗрдВ, рдЧреБрдкреНрдд, рдирд┐рдХрд╛рд▓реЗрдВ SSL рд╕рддреНрдпрд╛рдкрди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░рд╛ webhook рддреИрдпрд╛рд░ рд╣реИред

рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдзрдХреНрдХрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ



Infranode рдкрд░ рд╕рдорд╛рди рдЬреЗрдирдХреАрдВрд╕ рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ url рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред



рдЖрдк рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдкреНрд░рдЧрддрд┐ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред



рдкреАрдПрд╕ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдХрд┐ рдУрдкрдирд╢рдлреНрдЯ рдХреИрд╕реЗ рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡реЗ рдХреНрдпрд╛ рдЦрд╛рддреЗ рд╣реИрдВ, рдХрдИ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред

рдкреАрдПрд╕рдПрд╕ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдорд╛рдзрд╛рди


рдмрд┐рд▓реНрдб рдмрд┐рд▓реНрдб рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрджрд┐ рд╕рдорд╕реНрдпрд╛рдПрдВред
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ

 oc create serviceaccount oko-serviceaccount oc adm policy add-scc-to-user privileged system:serviceaccount:__:oko-serviceaccount oc adm policy add-scc-to-group anyuid system:authenticated oc adm policy add-scc-to-user anyuid system:serviceaccount:__:oko-serviceaccount 

рдкреНрд░реЙрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд░реАрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рдбрд┐рд▓реАрдЯ рди рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдБ
- рдЬрд╝рдмрд░рджрд╕реНрддреА рдкреВрд░реА рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЬрдиреНрдордЬрд╛рдд рдмреАрдорд╛рд░реА)

 for i in $(oc get projects | grep Terminating| awk '{print $1}'); do echo $i; oc get serviceinstance -n $i -o yaml | sed "/kubernetes-incubator/d"| oc apply -f - ; done 

рдЪрд┐рддреНрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБред

 oc adm policy add-role-to-group system:image-puller system:serviceaccounts:__ oc adm policy add-role-to-user system:image-puller system:serviceaccount:__::default oc adm policy add-role-to-group system:image-puller system:serviceaccounts:__ oc policy add-role-to-user system:image-puller system:serviceaccount:__::default oc policy add-role-to-group system:image-puller system:serviceaccounts:__ 



Nfs рдкрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рднреА рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВред (рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд▓реЙрдЧ рдореЗрдВ рд░рд╛рдЗрдЯ рдПрд░рд░ рд╣реИрдВ, рдмрд┐рд▓реНрдб рдкреБрд╢ рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ)ред

 chmod 777 -r /exports/registry/docker/registry/ chmod -R 777 /exports/registry/docker/registry/ chown nfsnobody:nfsnobody -R /exports/registry/ hown -R 1001 /exports/registry/ restorecon -RvF exportfs -ar 

Source: https://habr.com/ru/post/hi441360/


All Articles