In the previous post we discussed how the installation process changed from OpenShift 3 to OpenShift 4, with many tasks moved from being a part of the installer to being post-install or “day 2” tasks. OpenShift 4 also introduced Operators as the core management paradigm for many features and functionality. This means that a substantial amount of customization to the cluster is done after initial deployment.
This change provides some interesting benefits. For example, because the post-install configuration is done using standard Kubernetes YAML objects instead of Ansible playbooks, I can now revision control each aspect of my deployment in a very granular fashion and adopt a GitOps management philosophy if desired. Additionally, it is easy to have a single “standard” deployment for the initial install, but then I can quickly customize the cluster for a specific purpose by choosing which of the revision controlled YAML files to apply. Since the configuration is applied by Operators, I do not have to be aware of specific dependencies; instead, I can rely on OpenShift itself to manage that for me.
That being said, we understand that it is a change from before, and one of the most frequent requests is for a guide that helps to organize all of that configuration that might need to be done post-install. With that in mind, the list below is an incomplete collection of potential tasks. All of this information is sourced from the documentation, but it has been organized to make it easier for the admin team to discover and apply configuration that is relevant.
Very few, if any, of these are mandatory; rather, they are items that improve the usability, security, and functionality of your deployment so that you, and your applications, can use the full potential of OpenShift.
Compute
- Cluster Tasks
- If you incorrectly sized the worker nodes during deployment, adjust them by creating one or more new MachineSets (AWS, Azure, GCP), scaling them up, and then scaling the original down before removing them.
- This is also a good time, if desired, to create and configure additional MachineSets to dedicate for specific workloads, such as recreating the infrastructure node concept.
- Decide whether to enable/disable specific feature gates.
- When using a full-stack automation capable platform, enable and configure cluster autoscaling.
- Configure etcd encryption.
- Review recommended etcd practices for large and dense clusters.
- Backup etcd (and test restore!).
- Configure the pod disruption budget to prevent accidental outages.
- Node Tasks
- Add RHEL 7 Server node(s), if needed.
- Enable MachineHealthChecks.
- Pre-deploy additional nodes if needed.
- Review and apply the relevant recommended host practices.
- Configure the node features / capabilities.
- If desired, configure CPU manager.
- Decide whether to use huge pages.
- Configure device plugins.
- Add labels and taints to nodes, using MachineSets, for controlling pod scheduling.
- Configure node topology manager for NUMA awareness, etc.
- Optionally, enable overcommitment.
- Enable garbage collection for node resources.
- Adjust the node tuning operator for your needs.
- Adjust pods per node as needed for expected workload.
Network
- If you’re using NetworkPolicy, configure as needed.
- Use the MachineConfig Operator to define and configure additional node networks, if not done at install.
- Configure private DNS, if needed.
- If needed and not done during install, enable and configure the cluster-wide proxy.
- Customize the cluster network, including the SDN, if needed.
- Configure additional networks, for example bridge, MACVLAN, host device, and SR-IOV networks to be attached to pods by Multus.
- Replace the Ingress / Router certificate with non-self signed.
- Configure Ingress traffic for sharding, additional load balancer(s), and/or external IPs.
- If desired, deploy the service mesh.
- Review the “Optimizing routing” documentation.
Storage
- If using, deploy OCS.
- Deploy and configure additional dynamic storage provisioners.
- Some storage vendors publish and support their dynamic provisioner separately. Be sure to work with your storage team and vendor to determine if they have a CSI provisioner that works with OpenShift.
- Several partners have created Operators and certified their storage offerings for OpenShift, which can be found in the Marketplace.
- Configure any additional storage class(es) for dynamic provisioner(s).
- Review the “Optimizing storage” documentation.
Making Rational Changes
OpenShift has an almost dizzying number of features and capabilities, which can be configured, customized, adjusted, and otherwise “fiddled with” endlessly. Fortunately, the defaults are sane and safe for almost all instances, so you can choose which are the most important for you and your applications to adjust, while trusting that the others are working just fine.
This article has covered a large swath of the options, but they are changing and growing with each release. It is important to keep up with the changes using the release notes and to periodically review the documentation, as a whole, for new and interesting capabilities that are relevant to you.
저자 소개
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
오리지널 쇼
엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리
제품
- Red Hat Enterprise Linux
- Red Hat OpenShift Enterprise
- Red Hat Ansible Automation Platform
- 클라우드 서비스
- 모든 제품 보기
툴
체험, 구매 & 영업
커뮤니케이션
Red Hat 소개
Red Hat은 Linux, 클라우드, 컨테이너, 쿠버네티스 등을 포함한 글로벌 엔터프라이즈 오픈소스 솔루션 공급업체입니다. Red Hat은 코어 데이터센터에서 네트워크 엣지에 이르기까지 다양한 플랫폼과 환경에서 기업의 업무 편의성을 높여 주는 강화된 기능의 솔루션을 제공합니다.