версия 3.11 |Сбой установки AWS из-за проблем HTTPS / x509 при ожидании панели управления - PullRequest
0 голосов
/ 03 декабря 2018

Попытка установки openshift 3.11 с 3 основными настройками, 2 инфра и 2 узлами.Я не использовал узел LB, поскольку полагал, что AWS ELB позаботится об этом за меня.

Моя текущая проблема заключается в том, что установка не удастся выполнить при ожидании задачи панели управления.

failed: [ip-10-0-4-29.us-east-2.compute.internal] (item=etcd) => {"attempts": 60, "changed": false, "item": "etcd", "msg": {"cmd": "/usr/bin/oc get pod master-etcd-ip-10-0-4-29.us-east-2.compute.internal -o json -n kube-system"

Ниже показаны различные ошибки

Я сделал следующее.

Поскольку это всего лишь система демонов, я хотел пойти по дешевому маршруту и ​​создать самозаверяющие сертификаты.Поэтому я запустил следующий

openssl rew -new -key openshift.key -out openshift.csr
openssl req -new -key openshift.key -out openshift.csr
openssl x509 -req -days 1095 -in openshift.csr -signkey openshift.key -out openshift.crt

, затем в свой файл hosts я добавил следующее:

openshift_master_named_certificates=[{"certfile": "/home/ec2-user/certs/openshift.crt", "keyfile": "/home/ec2-user/certs/openshift.key"}]

Затем я создал ELB, принимающий трафик HTTP на порт 8443 и направляющий его на HTTP 8443 длялюбой из мастеров.Когда я делаю это, я получаю следующий сбой при повторном запуске команды, которая не справляется с задачей

[root@ip-10-0-4-29 ~]# /usr/bin/oc get pod master-etcd-ip-10-0-4-29.us-east-2.compute.internal -o json -n kube-system
Unable to connect to the server: http: server gave HTTP response to HTTPS client 

Если я изменяю ELB для приема http-трафика и перенаправляю его на HTTPS 8443, я получаю следующую ошибку

[root@ip-10-0-4-29 ~]# /usr/bin/oc get pod master-etcd-ip-10-0-4-29.us-east-2.compute.internal -o json -n kube-system
The connection to the server os.domain-name.net:8443 was refused - did you specify the right host or port?

Если я пытаюсь изменить ELB для приема трафика HTTPS, мне нужно было скопировать руководство , чтобы создать сертификаты SSL для использования в aws , но даже после этого принимать трафик HTTPS на 8443 и отправлять еголибо через HTTP или HTTPS на 8443 на главном узле приводит к этой ошибке

 [root@ip-10-0-4-29 ~]# /usr/bin/oc get pod master-etcd-ip-10-0-4-29.us-east-2.compute.internal -o json -n kube-system
 Unable to connect to the server: x509: certificate signed by unknown authority

Я также скопировал в свой файл hosts только в том случае, если у меня что-то не так.# Создайте группу OSEv3, которая содержит группы master, node, etcd и lb.# Группа lb позволяет Ansible настроить HAProxy в качестве решения для балансировки нагрузки.# Комментарий, если ваш балансировщик нагрузки предварительно настроен.[OSEv3: children] осваивает узлы etcd

# Set variables common for all OSEv3 hosts
[OSEv3:vars]
ansible_ssh_user=root
openshift_deployment_type=origin


openshift_cloudprovider_aws_access_key="{{ lookup('env','AWS_ACCESS_KEY_ID') }}"
openshift_cloudprovider_aws_secret_key="{{ lookup('env','AWS_SECRET_ACCESS_KEY') }}"
openshift_clusterid=openshift
openshift_cloudprovider_kind=aws

openshift_hosted_manage_registry=true
openshift_hosted_registry_storage_kind=object
openshift_hosted_registry_storage_provider=s3
openshift_hosted_registry_storage_s3_accesskey="{{ lookup('env','AWS_ACCESS_KEY_ID') }}"
openshift_hosted_registry_storage_s3_secretkey="{{ lookup('env','AWS_SECRET_ACCESS_KEY') }}"
openshift_hosted_registry_storage_s3_bucket=os-test-os-bucket
openshift_hosted_registry_storage_s3_region=us-west-2
openshift_hosted_registry_storage_s3_chunksize=26214400
openshift_hosted_registry_storage_s3_rootdirectory=/registry
openshift_hosted_registry_pullthrough=true
openshift_hosted_registry_acceptschema2=true
openshift_hosted_registry_enforcequota=true
openshift_hosted_registry_replicas=3

#openshift_enable_excluders=false
openshift_disable_check=memory_availability
openshift_additional_repos=[{'id': 'centos-okd-ci', 'name': 'centos-okd-ci', 'baseurl' :'https://rpms.svc.ci.openshift.org/openshift-origin-v3.11', 'gpgcheck' :'0', 'enabled' :'1'}]

openshift_node_groups=[{'name': 'node-config-master', 'labels': ['node-role.kubernetes.io/master=true']}, {'name': 'node-config-infra', 'labels': ['node-role.kubernetes.io/infra=true']}, {'name': 'node-config-compute', 'labels': ['node-role.kubernetes.io/compute=true']}]
openshift_router_selector='node-role.kubernetes.io/infra=true'
openshift_registry_selector='node-role.kubernetes.io/infra=true'
openshift_metrics_install_metrics=true


openshift_master_named_certificates=[{"certfile": "/home/ec2-user/certs/openshift.crt", "keyfile": "/home/ec2-user/certs/openshift.key"}]



# uncomment the following to enable htpasswd authentication; defaults to AllowAllPasswordIdentityProvider
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider'}]

# Native high availability cluster method with optional load balancer.
# If no lb group is defined installer assumes that a load balancer has
# been preconfigured. For installation the value of
# openshift_master_cluster_hostname must resolve to the load balancer
# or to one or all of the masters defined in the inventory if no load
# balancer is present.
openshift_master_cluster_method=native
openshift_master_cluster_hostname=os.domain-name.net
openshift_master_cluster_public_hostname=os.domain-name.net

# host group for masters

[masters]
ip-10-0-4-29.us-east-2.compute.internal
ip-10-0-5-54.us-east-2.compute.internal
ip-10-0-6-8.us-east-2.compute.internal

[etcd]
ip-10-0-4-29.us-east-2.compute.internal
ip-10-0-5-54.us-east-2.compute.internal
ip-10-0-6-8.us-east-2.compute.internal


[nodes]

# host group for nodes, includes region info
[nodes]

#master
ip-10-0-4-29.us-east-2.compute.internal  openshift_node_group_name='node-config-master'
ip-10-0-5-54.us-east-2.compute.internal  openshift_node_group_name='node-config-master'
ip-10-0-6-8.us-east-2.compute.internal  openshift_node_group_name='node-config-master'

#infra
ip-10-0-4-28.us-east-2.compute.internal openshift_node_group_name='node-config-infra'
ip-10-0-5-241.us-east-2.compute.internal openshift_node_group_name='node-config-infra'


#node
ip-10-0-4-162.us-east-2.compute.internal openshift_node_group_name='node-config-compute'
ip-10-0-5-146.us-east-2.compute.internal openshift_node_group_name='node-config-compute'

Пожалуйста, если кто-нибудь может помочь мне преодолеть это препятствие, чтобы я мог наконец попробовать и продемонстрировать конвейер CI / CD с использованием Openshift, я был бы действительно благодарен

1 Ответ

0 голосов
/ 08 февраля 2019

Я знаю, что это старая ссылка, но я столкнулся с той же проблемой с моим ELB, настроенным как HTTPS.Я изменил прослушиватель на TCP и использовал порт 443 для порта балансировки нагрузки и порта экземпляра.Для проверки работоспособности убедитесь, что вы используете протокол Ping HTTPS, Ping Port 443 и Ping Path «/».Эти изменения конфигурации позволили продолжить установку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...