Host aliases (#1373)

* feat: add HostAliases to web/task containers (fixes #646)
* feat: add HostAliases to web/task containers
* Make host_aliases display in the Operator UI
* Add default value for host_aliases and add to web deployment template

Co-authored-by: zhangpeng.zong <zhangpeng.zong@funplus.com>
Co-authored-by: Dimitri Savineau <savineau.dimitri@gmail.com>
This commit is contained in:
Christian Adams
2023-05-10 14:45:48 -04:00
committed by GitHub
parent bc044431ab
commit 3b54fa8675
6 changed files with 63 additions and 0 deletions

View File

@@ -676,6 +676,25 @@ $ oc adm policy add-scc-to-user privileged -z awx
Again, this is the most relaxed SCC that is provided by OpenShift, so be sure to familiarize yourself with the security concerns that accompany this action. Again, this is the most relaxed SCC that is provided by OpenShift, so be sure to familiarize yourself with the security concerns that accompany this action.
#### Containers HostAliases Requirements
Sometimes you might need to use [HostAliases](https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/) in web/task containers.
| Name | Description | Default |
| ------------ | --------------------- | ------- |
| host_aliases | A list of HostAliases | None |
Example of customization could be:
```yaml
---
spec:
...
host_aliases:
- ip: <name-of-your-ip>
hostnames:
- <name-of-your-domain>
```
#### Containers Resource Requirements #### Containers Resource Requirements

View File

@@ -1345,6 +1345,18 @@ spec:
image_pull_secret: # deprecated image_pull_secret: # deprecated
description: (Deprecated) Image pull secret for app and database containers description: (Deprecated) Image pull secret for app and database containers
type: string type: string
host_aliases:
description: HostAliases for app containers
type: array
items:
type: object
properties:
ip:
type: string
hostnames:
type: array
items:
type: string
task_resource_requirements: task_resource_requirements:
description: Resource requirements for the task container description: Resource requirements for the task container
properties: properties:

View File

@@ -323,6 +323,11 @@ spec:
path: image_pull_secret path: image_pull_secret
x-descriptors: x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:hidden - urn:alm:descriptor:com.tectonic.ui:hidden
- displayName: HostAliases for app containers
path: host_aliases
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:advanced
- urn:alm:descriptor:com.tectonic.ui:text
- displayName: Web Container Resource Requirements - displayName: Web Container Resource Requirements
path: web_resource_requirements path: web_resource_requirements
x-descriptors: x-descriptors:

View File

@@ -425,3 +425,10 @@ set_self_labels: true
# Disable web container's nginx ipv6 listener # Disable web container's nginx ipv6 listener
ipv6_disabled: false ipv6_disabled: false
# Set hostAliases on deployments
# hostAliases:
# - ip: 10.10.0.10
# hostnames:
# - hostname
host_aliases: ''

View File

@@ -59,6 +59,16 @@ spec:
- name: {{ secret }} - name: {{ secret }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if host_aliases is defined and host_aliases | length > 0 %}
hostAliases:
{% for item in host_aliases %}
- ip: {{ item.ip }}
hostnames:
{% for hostname in item.hostnames %}
- {{ hostname }}
{% endfor %}
{% endfor %}
{% endif %}
{% if control_plane_priority_class is defined %} {% if control_plane_priority_class is defined %}
priorityClassName: '{{ control_plane_priority_class }}' priorityClassName: '{{ control_plane_priority_class }}'
{% endif %} {% endif %}

View File

@@ -60,6 +60,16 @@ spec:
- name: {{ secret }} - name: {{ secret }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if host_aliases is defined and host_aliases | length > 0 %}
hostAliases:
{% for item in host_aliases %}
- ip: {{ item.ip }}
hostnames:
{% for hostname in item.hostnames %}
- {{ hostname }}
{% endfor %}
{% endfor %}
{% endif %}
{% if control_plane_priority_class is defined %} {% if control_plane_priority_class is defined %}
priorityClassName: '{{ control_plane_priority_class }}' priorityClassName: '{{ control_plane_priority_class }}'
{% endif %} {% endif %}