Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

2.8.11. RHBA-2019:1605 - OpenShift Container Platform 3.11.117 버그 수정 업데이트

출시 날짜: 2019-06-26

OpenShift Container Platform 릴리스 3.11.117이 공개되었습니다. 업데이트에 포함된 패키지 및 버그 수정 목록은 RHBA-2019:1605 권고에 설명되어 있습니다. 업데이트에 포함된 컨테이너 이미지는 RHBA-2019:1606 권고를 통해 제공됩니다.

참고

릴리스 3.11.117에는 최신 버전이 3.11.123인 openshift-ansible 패키지가 포함되어 있습니다. 이는 예상되며 클러스터 작업에 영향을 미치지 않습니다. 자세한 내용은 이 Red Hat 솔루션을 참조하십시오.

2.8.11.1. 버그 수정

  • oc create route dry-run -o yaml 명령은 경로 오브젝트를 출력하지 않습니다. 이 문제는 경로 오브젝트의 출력을 명령줄에 구현하여 해결되었습니다. (BZ#1418021)
  • 일부 .operations 인덱스 프로젝트에는 기본 openshift- 값이 부여되었습니다. 이제 kube-system 으로 변경되었습니다. (BZ#1571190)
  • director가 배포된 OpenShift 환경에서 GlusterFS 플레이북은 각 실행에 대해 새 heketi 비밀 키를 자동으로 생성합니다. 이로 인해 CNS 배포의 확장 또는 구성 변경과 같은 작업이 실패합니다. 이 문제를 해결하려면 다음 단계를 완료합니다.

    1. 배포 후, heketi 비밀 키를 검색합니다. 마스터 노드 중 하나에서 이 명령을 사용합니다.

      $ sudo oc get secret heketi-storage-admin-secret --namespace glusterfs -o json | jq -r .data.key | base64 -d
    2. 환경 파일에서 다음 매개변수를 해당 값으로 설정합니다.

        openshift_storage_glusterfs_heketi_admin_key
        openshift_storage_glusterfs_registry_heketi_admin_key

      이 해결방법은 매개변수를 수동으로 추출하는 한 CNS 배포의 스케일 아웃 또는 구성 변경과 같은 작업을 수행합니다. (BZ#1640382)

  • 새 CA가 생성되면 노드의 인증서가 업데이트되지 않았으며 준비되지 않습니다. 이제 redeploy-certificates 플레이북이 인증서를 복사하고 노드를 결합합니다. CA를 교체할 때 노드가 더 이상 NotReady 상태로 전환되지 않습니다. (BZ#1652746)
  • oc_adm_router Ansible 모듈을 통해 중복된 환경 변수를 라우터 DeploymentConfig에 추가할 수 있습니다. 중복된 환경 변수를 추가한 라우터 DeploymentConfig에 편집을 지정한 Ansible 인벤토리 파일은 예측할 수 없는 동작으로 DeploymentConfig를 생성할 수 있습니다. 편집에서 환경 변수를 라우터 DeploymentConfig에 추가하고 해당 이름으로 변수가 이미 존재하는 경우 oc_adm_router 모듈에서 이전 변수를 삭제합니다. 이제 Ansible 인벤토리 파일을 사용하여 환경 변수를 라우터 DeploymentConfig에 추가하면 예측 가능한 동작이 있으며 사용자가 기본 환경 변수 설정을 재정의할 수 있습니다. (BZ#1656487)
  • 마스터 인증서를 재배포한 플레이북이 웹 콘솔 시크릿을 업데이트하지 않아 웹 콘솔이 시작되지 않았습니다. 이제 마스터 인증서 재배포 플레이북이 실행될 때 웹 콘솔 보안이 다시 생성됩니다. (BZ#1667063)
  • 로깅 플레이북이 Ansible 2.7에서 작동하지 않았습니다. include_roleimport_role 동작이 버전 2.6 및 2.7 간에 변경되었습니다. 이로 인해 로깅 문제가 발생했습니다. 이로 인해 ops 클러스터와 함께 배포하지 않아도 "-ops" 접미사가 있는 오류가 표시되었습니다. 이 문제를 해결하려면 로깅 플레이북 및 역할에서 import _role 대신 include _role을 사용합니다. 로깅 Ansible 코드는 Ansible 2.6 및 Ansible 2.7 모두에서 작동합니다. (BZ#1671315)
  • 여러 네트워크 카드가 있는 경우 OpenShift 서비스에서 바람직하지 않은 DNS IP 주소를 선택했습니다. 이로 인해 Pod에서 DNS 요청이 작동하지 않았습니다. 이제 DNS에 정상적인 기본값이 있으며 kubelet에서 라우팅 가능한 노드 IP 주소를 가져오는 데 사용하는 유사한 패턴을 따릅니다. (BZ#1680059)
  • 업그레이드 중 초기화가 느렸습니다. 온전성 검사에서 비효율적인 코드를 사용하여 호스트 변수를 검증했습니다. 이 코드가 업데이트되었으며 호스트 변수가 클래스에 저장됩니다. 결과적으로 호스트 변수가 모든 검사에서 복사되지 않습니다. 업그레이드 중에 온전성 검사 및 초기화를 완료하는 데 걸리는 시간이 단축됩니다. (BZ#1682924)
  • 연결이 끊긴 설치에서 etcd 이미지가 풀을 수행할 수 없기 때문에 oreg_url 변수는 Satellite를 사용하여 연결이 끊긴 설치에서 올바르게 작동하지 않았습니다. 이제 관련 문서에서 etcd 이미지 URL이 osm_etcd_image 를 발행하도록 지침과 예가 추가되었습니다. (BZ#1689796)
  • 빌드 Pod가 제거되면 빌드에서 GenericBuildFailure 를 보고했습니다. 그 결과 빌드 실패의 원인을 확인하기 어려웠습니다. 이제 BuildPodEvicted 라는 새로운 실패 이유가 추가되었습니다. (BZ#1690066)
  • 범위 부족 오류를 보고하는 cadvisor 인덱스로 인해 노드가 패닉되는 경우가 있었습니다. 이 문제는 kube 코드 백포트로 해결되었습니다. (BZ#1691023)
  • oauth-proxy 가 사용자의 토큰을 전달하지 않았기 때문에 Elasticsearch를 Prometheus를 사용하여 모니터링할 수 없었습니다. 이제 토큰이 ElasticSearch로 교환되고 적절한 역할이 있는 사용자는 Prometheus에서 지표를 검색할 수 있습니다. (BZ#1695903)
  • 다중 노드 설정 중 노드 배포가 setup_dns.yaml 플레이북에서 실패했습니다. 이 문제는 add_host 함수에 전달된 호스트 이름을 수정하여 해결되었습니다. 이제 다중 노드 설정이 예상대로 진행됩니다. (BZ#1698922)
  • 업그레이드 프로세스 중에 여러 OpenShift 변수가 사용되지 않았기 때문에 마이너 버전 간 업그레이드에 실패했습니다. 이제 업그레이드 프로세스 중에 api_port 및 기타 apiserver 관련 변수를 읽고 업그레이드가 성공적으로 완료됩니다. (BZ#1699696)
  • 호스트에 UTC가 아닌 경우 잘못된 인증서 날짜로 인해 Elasticsearch가 시작되지 않았습니다. OpenShift 노드의 시간대가 UTC로 설정되지 않은 경우 NotBefore 확인에 현재 비UTC 타임스탬프가 사용됩니다. 시간대가 UTC보다 앞에 있으면 NotBefore 확인이 실패합니다. 이제 노드의 시간대와 관계없이 UTC 타임스탬프가 인증서의 시작 날짜로 설정되고 UTC 타임스탬프가 아닌 타임스탬프로 인해 보고되지 않습니다. (BZ#1702544)
  • CustomResourceDefinition 오류로 인해 문제 해결이 어려웠습니다. 이제 CRD 오류 문제를 해결하기 위해 CRD 오류 메시지가 명확하게 표시되었습니다. (BZ#1702693)
  • Fluentd 원격 syslog 플러그인 코드에 인스턴스 변수에 대해 누락된 @ 이 있었습니다. 경우에 따라 systemd-journald는 잘못된 값을 기록했습니다. 이로 인해 rsyslog 전달 오류가 발생했습니다. 이제 변수가 수정되었으며 원격 로깅이 성공적으로 완료되었습니다. (BZ#1703904)
  • 실행 중인 Jenkins 에이전트와 슬레이브 포드가 오랫동안 실행되면 중단된 프로세스 오류가 발생하여 포드가 종료될 때까지 프로세스 목록에 많은 프로세스가 표시됩니다. 이제 dumb-init 가 배포되어 이러한 삭제된 프로세스를 정리합니다. (BZ#1707448)
  • 환경 변수 JOURNAL_READ_FROM_HEAD 가 빈 문자열로 설정되었습니다. 이로 인해 journald 입력이 true가 되도록 read_from_head 의 기본값이 발생했습니다. Fluentd가 노드에서 처음으로 시작하면 전체 저널에서 읽습니다. 이로 인해 시스템 메시지가 ElasticSearch 및 Kibana에 표시될 때까지 시간이 지연될 수 있습니다. 이제 Fluentd는 값이 설정되었고 비어 있지 않은지 확인하거나 기본값인 false를 사용합니다. Fluentd는 새 노드에서 시작될 때 저널의 뒷부분에서 읽습니다. (BZ#1707524)
  • 스크립트 99-origin-dns.sh 에는 기본적으로 디버그 수준 메시지를 로깅하는 debug 플래그가 enabled로 설정되어 있습니다. 이 문제가 해결되어 debug가 이제 false로 설정됩니다. (BZ#1707799)
  • Kubernetes Pod 템플릿이 임의로 제거되었습니다. 이는 OpenShift Jenkins 동기화 플러그인이 ImagesStreams 및 ConfigMap을 처리하는 동안 동일한 이름으로 혼동되기 때문입니다. 한 유형의 이벤트는 다른 유형에 대해 생성된 pod 템플릿을 삭제할 수 있습니다. 지정된 이름의 pod 템플릿을 생성한 API 오브젝트 유형을 추적하도록 플러그인이 수정되었습니다. (BZ#1709626)
  • openshift_set_node_ip 변수는 더 이상 사용되지 않지만 여전히 인벤토리 예제 파일에 포함됩니다. 이제 예제 파일 및 openshift_set_node_ip 변수의 코드가 정리되었습니다. (BZ#1712488)
  • 이전에는 웹 콘솔에서 잘못된 "스케일링...으로 스케일링 중"이 표시될 수 있었습니다."일부 조건에서 프로젝트 개요의 상태 저장 세트 값. 이제 상태 저장 세트 원하는 replicas 값이 웹 콘솔 프로젝트 개요에서 올바르게 업데이트됩니다. (BZ#1713211)
  • 이전에는 배포 구성에서 생성한 Pod에 대해 자동으로 설정된 DeploymentConfig 레이블을 선택하면 프로젝트 개요에 서비스가 올바르게 표시되지 않았습니다. 이제 개요에서 DeploymentConfig 레이블을 선택하는 서비스가 올바르게 표시됩니다. (BZ#1717028)
  • 클러스터 자동 스케일러에는 Pod를 제거할 clusterrole 권한이 없었습니다. 이로 인해 노드가 자동으로 확장되지 않았습니다. 이제 자동 스케일러 클러스터 역할에 제거 권한이 추가되었습니다. Pod를 제거하면 노드를 축소할 수 있습니다. (BZ#1718458)
  • 송신 IP를 사용하는 Pod가 응답하지 않는 외부 호스트에 연결하려고 하면 송신 IP 모니터링 코드가 송신 IP를 호스팅하는 노드가 응답하지 않았음을 잘못 해석했을 수 있습니다. 고가용성 송신 IP가 한 노드에서 다른 노드로 전환되었을 수 있습니다. 이제 모니터링 코드가 "egress node not responding"의 경우 "마지막 대상이 응답하지 않는"과 구분합니다. 고가용성 송신 IP는 불필요하게 노드 간에 전환되지 않습니다. (BZ#1718542)
  • openshift_facts 리팩토링으로 인해 MTU가 잘못 설정되었습니다. 호스트는 기본이 아닌 MTU 설정이 있는 네트워크에서 통신할 수 없습니다. 호스트 환경의 MTU를 올바르게 감지하고 설정하도록 openshift_facts.py 스크립트가 업데이트되었습니다. 이제 호스트가 기본이 아닌 MTU가 아닌 네트워크에서 올바르게 통신할 수 있습니다. (BZ#1720581)