docs: format emojis for the lines to be modified (#320)

This commit is contained in:
kurokobo 2024-03-18 00:32:00 +09:00 committed by GitHub
parent 2cc2501ad4
commit 67ebb51523
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 150 additions and 150 deletions

View file

@ -141,7 +141,7 @@ spec:
... ...
ingress_type: ingress ingress_type: ingress
ingress_hosts: ingress_hosts:
- hostname: awx.example.com 👈👈👈 - hostname: awx.example.com 👈👈👈
tls_secret: awx-secret-tls tls_secret: awx-secret-tls
... ...
``` ```
@ -157,13 +157,13 @@ Modify the two `password` entries in `base/kustomization.yaml`. Note that the `p
- port=5432 - port=5432
- database=awx - database=awx
- username=awx - username=awx
- password=Ansible123! 👈👈👈 - password=Ansible123! 👈👈👈
- type=managed - type=managed
- name: awx-admin-password - name: awx-admin-password
type: Opaque type: Opaque
literals: literals:
- password=Ansible123! 👈👈👈 - password=Ansible123! 👈👈👈
... ...
``` ```

View file

@ -59,18 +59,18 @@ cert-manager-webhook-6668fbb57d-r9dmj 1/1 Running 0 21h
To use **DNS-01** challenge with **Azure DNS** with **Service Principal**, the following information is required. To use **DNS-01** challenge with **Azure DNS** with **Service Principal**, the following information is required.
- **Client ID**
- [Azure Active Directory] > [App registrations] > Your Application > [Application ID]
- **Client Secret**
- [Azure Active Directory] > [App registrations] > Your Application > [Certificates & secrets] > [Client secrets] > [Value]
- **Subscription ID** - **Subscription ID**
- [DNS zones] > Your Zone > [Subscription ID] - `DNS zones` > Your Zone > `Subscription ID`
- **Tenant ID**
- [Azure Active Directory] > [Properties] > [Tenant ID]
- **Name of Resource Group** - **Name of Resource Group**
- [DNS zones] > Your Zone > [Resource group] - `DNS zones` > Your Zone > `Resource group`
- **Name of DNS Zone** - **Name of DNS Zone**
- [DNS zones] > Your Zone - `DNS zones` > Your Zone
- **Tenant ID**
- `Microsoft Entra ID` > `Properties` > `Tenant ID`
- **Client ID**
- `Microsoft Entra ID` > `App registrations` > Your Application > `Application (client) ID`
- **Client Secret**
- `Microsoft Entra ID` > `App registrations` > Your Application > `Certificates & secrets` > `Client secrets` > `Value`
Then modify required fields in `acme/issuer.yaml`. Then modify required fields in `acme/issuer.yaml`.
@ -78,9 +78,9 @@ Then modify required fields in `acme/issuer.yaml`.
... ...
spec: spec:
acme: acme:
email: cert@example.com 👈👈👈 email: cert@example.com 👈👈👈
server: https://acme-staging-v02.api.letsencrypt.org/directory 👈👈👈 server: https://acme-staging-v02.api.letsencrypt.org/directory 👈👈👈
privateKeySecretRef: privateKeySecretRef:
name: awx-issuer-account-key name: awx-issuer-account-key
@ -88,12 +88,12 @@ spec:
solvers: solvers:
- dns01: - dns01:
azureDNS: azureDNS:
clientID: 00000000-0000-0000-0000-000000000000 👈👈👈
subscriptionID: 00000000-0000-0000-0000-000000000000 👈👈👈
tenantID: 00000000-0000-0000-0000-000000000000 👈👈👈
resourceGroupName: example-rg 👈👈👈
hostedZoneName: example.com 👈👈👈
environment: AzurePublicCloud environment: AzurePublicCloud
subscriptionID: 00000000-0000-0000-0000-000000000000 👈👈👈
resourceGroupName: example-rg 👈👈👈
hostedZoneName: example.com 👈👈👈
tenantID: 00000000-0000-0000-0000-000000000000 👈👈👈
clientID: 00000000-0000-0000-0000-000000000000 👈👈👈
clientSecretSecretRef: clientSecretSecretRef:
name: azuredns-config name: azuredns-config
key: client-secret key: client-secret
@ -106,7 +106,7 @@ To store Client Secret for the Service Principal to Secret resource in Kubernete
- name: azuredns-config - name: azuredns-config
type: Opaque type: Opaque
literals: literals:
- client-secret=0000000000000000000000000000000000 👈👈👈 - client-secret=0000000000000000000000000000000000 👈👈👈
... ...
``` ```
@ -135,11 +135,11 @@ spec:
... ...
ingress_type: ingress ingress_type: ingress
ingress_hosts: ingress_hosts:
- hostname: awx.example.com 👈👈👈 - hostname: awx.example.com 👈👈👈
tls_secret: awx-secret-tls tls_secret: awx-secret-tls
ingress_annotations: | 👈👈👈 ingress_annotations: | 👈👈👈
cert-manager.io/issuer: awx-issuer 👈👈👈 cert-manager.io/issuer: awx-issuer 👈👈👈
``` ```
Finally, comment out or delete all of the `awx-secret-tls` part in `base/kustomization.yaml`, as the actual contents of `awx-secret-tls` are automatically managed by cert-manager and do not need to be specified manually. Finally, comment out or delete all of the `awx-secret-tls` part in `base/kustomization.yaml`, as the actual contents of `awx-secret-tls` are automatically managed by cert-manager and do not need to be specified manually.
@ -150,11 +150,11 @@ generatorOptions:
disableNameSuffixHash: true disableNameSuffixHash: true
secretGenerator: secretGenerator:
# - name: awx-secret-tls 👈👈👈 # - name: awx-secret-tls 👈👈👈
# type: kubernetes.io/tls 👈👈👈 # type: kubernetes.io/tls 👈👈👈
# files: 👈👈👈 # files: 👈👈👈
# - tls.crt 👈👈👈 # - tls.crt 👈👈👈
# - tls.key 👈👈👈 # - tls.key 👈👈👈
- name: awx-postgres-configuration - name: awx-postgres-configuration
type: Opaque type: Opaque

View file

@ -20,12 +20,12 @@ spec:
solvers: solvers:
- dns01: - dns01:
azureDNS: azureDNS:
clientID: 00000000-0000-0000-0000-000000000000 environment: AzurePublicCloud
subscriptionID: 00000000-0000-0000-0000-000000000000 subscriptionID: 00000000-0000-0000-0000-000000000000
tenantID: 00000000-0000-0000-0000-000000000000
resourceGroupName: example-rg resourceGroupName: example-rg
hostedZoneName: example.com hostedZoneName: example.com
environment: AzurePublicCloud tenantID: 00000000-0000-0000-0000-000000000000
clientID: 00000000-0000-0000-0000-000000000000
clientSecretSecretRef: clientSecretSecretRef:
name: azuredns-config name: azuredns-config
key: client-secret key: client-secret

View file

@ -41,7 +41,7 @@ Modify the name of the AWXBackup object in `backup/awxbackup.yaml`.
... ...
kind: AWXBackup kind: AWXBackup
metadata: metadata:
name: awxbackup-2021-06-06 👈👈👈 name: awxbackup-2021-06-06 👈👈👈
namespace: awx namespace: awx
... ...
``` ```

View file

@ -91,7 +91,7 @@ spec:
... ...
ingress_type: ingress ingress_type: ingress
ingress_tls_secret: galaxy-secret-tls ingress_tls_secret: galaxy-secret-tls
hostname: galaxy.example.com 👈👈👈 hostname: galaxy.example.com 👈👈👈
... ...
``` ```
@ -106,14 +106,14 @@ Modify two `password`s in `galaxy/galaxy/kustomization.yaml`.
- port=5432 - port=5432
- database=galaxy - database=galaxy
- username=galaxy - username=galaxy
- password=Galaxy123! 👈👈👈 - password=Galaxy123! 👈👈👈
- sslmode=prefer - sslmode=prefer
- type=managed - type=managed
- name: galaxy-admin-password - name: galaxy-admin-password
type: Opaque type: Opaque
literals: literals:
- password=Galaxy123! 👈👈👈 - password=Galaxy123! 👈👈👈
... ...
``` ```

View file

@ -32,7 +32,7 @@ Modify `hosts` and `host` in `git/ingress.yaml`.
- git.example.com 👈👈👈 - git.example.com 👈👈👈
secretName: git-secret-tls secretName: git-secret-tls
rules: rules:
- host: git.example.com 👈👈👈 - host: git.example.com 👈👈👈
... ...
``` ```

View file

@ -35,7 +35,7 @@ Modify `hosts` and `host` in `registry/ingress.yaml`.
- registry.example.com 👈👈👈 - registry.example.com 👈👈👈
secretName: registry-secret-tls secretName: registry-secret-tls
rules: rules:
- host: registry.example.com 👈👈👈 - host: registry.example.com 👈👈👈
... ...
``` ```
@ -53,7 +53,7 @@ Replace `htpasswd` in `registry/configmap.yaml` with your own `htpasswd` string
```yaml ```yaml
... ...
htpasswd: |- htpasswd: |-
reguser:$2y$05$VLMvcWCPF0VUuHi0BXBz7eoXGZ6KRl1gataiqTXz4DdSVIXGloKiq 👈👈👈 reguser:$2y$05$VLMvcWCPF0VUuHi0BXBz7eoXGZ6KRl1gataiqTXz4DdSVIXGloKiq 👈👈👈
``` ```
Prepare directories for Persistent Volumes defined in `registry/pv.yaml`. Prepare directories for Persistent Volumes defined in `registry/pv.yaml`.

View file

@ -60,7 +60,7 @@ Modify the name of the AWXRestore object in `restore/awxrestore.yaml`.
... ...
kind: AWXRestore kind: AWXRestore
metadata: metadata:
name: awxrestore-2021-06-06 👈👈👈 name: awxrestore-2021-06-06 👈👈👈
namespace: awx namespace: awx
... ...
``` ```
@ -70,7 +70,7 @@ If you want to restore from AWXBackup object, specify its name in `restore/awxre
```yaml ```yaml
... ...
# Parameters to restore from AWXBackup object # Parameters to restore from AWXBackup object
backup_name: awxbackup-2021-06-06 👈👈👈 backup_name: awxbackup-2021-06-06 👈👈👈
... ...
``` ```
@ -79,8 +79,8 @@ If the AWXBackup object no longer exists, place the backup files under `/data/ba
```yaml ```yaml
... ...
# Parameters to restore from existing files on PVC (without AWXBackup object) # Parameters to restore from existing files on PVC (without AWXBackup object)
backup_pvc: awx-backup-claim 👈👈👈 backup_pvc: awx-backup-claim 👈👈👈
backup_dir: /backups/tower-openshift-backup-2021-06-06-105149 👈👈👈 backup_dir: /backups/tower-openshift-backup-2021-06-06-105149 👈👈👈
... ...
``` ```

View file

@ -85,9 +85,9 @@ spec:
... ...
ingress_type: ingress ingress_type: ingress
ingress_tls_secret: eda-secret-tls ingress_tls_secret: eda-secret-tls
hostname: eda.example.com 👈👈👈 hostname: eda.example.com 👈👈👈
automation_server_url: https://awx.example.com/ 👈👈👈 automation_server_url: https://awx.example.com/ 👈👈👈
automation_server_ssl_verify: no automation_server_ssl_verify: no
... ...
``` ```
@ -103,13 +103,13 @@ Modify two `password`s in `rulebooks/server/kustomization.yaml`.
- port=5432 - port=5432
- database=eda - database=eda
- username=eda - username=eda
- password=Ansible123! 👈👈👈 - password=Ansible123! 👈👈👈
- type=managed - type=managed
- name: eda-admin-password - name: eda-admin-password
type: Opaque type: Opaque
literals: literals:
- password=Ansible123! 👈👈👈 - password=Ansible123! 👈👈👈
... ...
``` ```
@ -364,17 +364,17 @@ Modify `hosts`, `host`, and `name` under `service` in `rulebooks/webhook/ingress
spec: spec:
tls: tls:
- hosts: - hosts:
- eda.example.com 👈👈👈 - eda.example.com 👈👈👈
secretName: eda-secret-tls secretName: eda-secret-tls
rules: rules:
- host: eda.example.com 👈👈👈 - host: eda.example.com 👈👈👈
http: http:
paths: paths:
- path: /webhooks/demo - path: /webhooks/demo
pathType: ImplementationSpecific pathType: ImplementationSpecific
backend: backend:
service: service:
name: activation-job-1-1-5000 👈👈👈 name: activation-job-1-1-5000 👈👈👈
port: port:
number: 5000 number: 5000
``` ```
@ -388,7 +388,7 @@ $ kubectl apply -f rulebooks/webhook/ingress.yaml
$ kubectl -n eda get ingress $ kubectl -n eda get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE NAME CLASS HOSTS ADDRESS PORTS AGE
eda-ingress traefik eda.example.com 192.168.0.219 80, 443 4h45m eda-ingress traefik eda.example.com 192.168.0.219 80, 443 4h45m
eda-ingress-webhook traefik eda.example.com 192.168.0.219 80, 443 1s 👈👈👈 eda-ingress-webhook traefik eda.example.com 192.168.0.219 80, 443 1s 👈👈👈
``` ```
### Trigger Rule using Webhook ### Trigger Rule using Webhook

View file

@ -83,7 +83,7 @@ Then, comment out or delete reference to `awx.yaml` in `base/kustomization.yaml`
resources: resources:
- pv.yaml - pv.yaml
- pvc.yaml - pvc.yaml
# - awx.yaml 👈👈👈 # - awx.yaml 👈👈👈
``` ```
Then create Namespace, PVs, and Secrets. Now all required resources that will be referenced in the `spec` of the AWX instance have been created. Then create Namespace, PVs, and Secrets. Now all required resources that will be referenced in the `spec` of the AWX instance have been created.

View file

@ -72,10 +72,10 @@ Then, add following four lines to under `secretGenerator` in `base/kustomization
... ...
secretGenerator: secretGenerator:
... ...
- name: awx-registry-secret 👈👈👈 - name: awx-registry-secret 👈👈👈
type: kubernetes.io/dockerconfigjson 👈👈👈 type: kubernetes.io/dockerconfigjson 👈👈👈
files: 👈👈👈 files: 👈👈👈
- .dockerconfigjson=config.json 👈👈👈 - .dockerconfigjson=config.json 👈👈👈
... ...
resources: resources:
... ...
@ -89,7 +89,7 @@ Finally, add following line to `base/awx.yaml`.
... ...
spec: spec:
... ...
image_pull_secret: awx-registry-secret 👈👈👈 image_pull_secret: awx-registry-secret 👈👈👈
... ...
``` ```

View file

@ -75,8 +75,8 @@ Add these two lines to your `awx.yaml`,
```yaml ```yaml
spec: spec:
... ...
ingress_annotations: | 👈👈👈 ingress_annotations: | 👈👈👈
traefik.ingress.kubernetes.io/router.middlewares: kube-system-hsts@kubernetescrd 👈👈👈 traefik.ingress.kubernetes.io/router.middlewares: kube-system-hsts@kubernetescrd 👈👈👈
``` ```
then invoke `apply` again. Once the command has been invoked, then AWX Operator will start to modify related resources. Note that the AWX Pod will be recreated, so AWX will be temporarily disabled. then invoke `apply` again. Once the command has been invoked, then AWX Operator will start to modify related resources. Note that the AWX Pod will be recreated, so AWX will be temporarily disabled.
@ -90,7 +90,7 @@ secret/awx-secret-tls configured
persistentvolume/awx-postgres-15-volume unchanged persistentvolume/awx-postgres-15-volume unchanged
persistentvolume/awx-projects-volume unchanged persistentvolume/awx-projects-volume unchanged
persistentvolumeclaim/awx-projects-claim unchanged persistentvolumeclaim/awx-projects-claim unchanged
awx.awx.ansible.com/awx configured 👈👈👈 awx.awx.ansible.com/awx configured 👈👈👈
``` ```
Once this completed, the logs of `deployments/awx-operator-controller-manager` end with: Once this completed, the logs of `deployments/awx-operator-controller-manager` end with:
@ -157,8 +157,8 @@ apiVersion: networking.k8s.io/v1
kind: Ingress kind: Ingress
metadata: metadata:
name: <resource name> name: <resource name>
annotations: 👈👈👈 annotations: 👈👈👈
traefik.ingress.kubernetes.io/router.middlewares: kube-system-hsts@kubernetescrd 👈👈👈 traefik.ingress.kubernetes.io/router.middlewares: kube-system-hsts@kubernetescrd 👈👈👈
... ...
``` ```

View file

@ -45,8 +45,8 @@ One easy way to do this is to use `dnsmasq`.
server \ server \
'--write-kubeconfig-mode' \ '--write-kubeconfig-mode' \
'644' \ '644' \
'--resolv-conf' \ 👈👈👈 '--resolv-conf' \ 👈👈👈
'/etc/rancher/k3s/resolv.conf' \ 👈👈👈 '/etc/rancher/k3s/resolv.conf' \ 👈👈👈
``` ```
5. Restart K3s and CoreDNS. The K3s service can be safely restarted without affecting the running resources. 5. Restart K3s and CoreDNS. The K3s service can be safely restarted without affecting the running resources.

View file

@ -54,10 +54,10 @@ spec:
... ...
postgres_configuration_secret: awx-postgres-configuration postgres_configuration_secret: awx-postgres-configuration
# postgres_storage_class: awx-postgres-volume 👈👈👈 # postgres_storage_class: awx-postgres-volume 👈👈👈
# postgres_storage_requirements: 👈👈👈 # postgres_storage_requirements: 👈👈👈
# requests: 👈👈👈 # requests: 👈👈👈
# storage: 8Gi 👈👈👈 # storage: 8Gi 👈👈👈
projects_persistence: true projects_persistence: true
projects_existing_claim: awx-projects-claim projects_existing_claim: awx-projects-claim
@ -74,13 +74,13 @@ secretGenerator:
- name: awx-postgres-configuration - name: awx-postgres-configuration
type: Opaque type: Opaque
literals: literals:
- host=postgres.example.internal 👈👈👈 - host=postgres.example.internal 👈👈👈
- port=5432 👈👈👈 - port=5432 👈👈👈
- database=awx 👈👈👈 - database=awx 👈👈👈
- username=awx 👈👈👈 - username=awx 👈👈👈
- password=SecurePasswordForMyExternalPostgreSQLForAWX123! 👈👈👈 - password=SecurePasswordForMyExternalPostgreSQLForAWX123! 👈👈👈
- sslmode=prefer 👈👈👈 - sslmode=prefer 👈👈👈
- type=unmanaged 👈👈👈 - type=unmanaged 👈👈👈
``` ```
Note that the `type=unmanaged` is the important configuration to use external database. Note that the `type=unmanaged` is the important configuration to use external database.
@ -90,20 +90,20 @@ Note that the `type=unmanaged` is the important configuration to use external da
Comment out following unnecessary lines which related to `awx-postgres-13-volume` in `base/pv.yaml`. Comment out following unnecessary lines which related to `awx-postgres-13-volume` in `base/pv.yaml`.
```yaml ```yaml
# --- 👈👈👈 # --- 👈👈👈
# apiVersion: v1 👈👈👈 # apiVersion: v1 👈👈👈
# kind: PersistentVolume 👈👈👈 # kind: PersistentVolume 👈👈👈
# metadata: 👈👈👈 # metadata: 👈👈👈
# name: awx-postgres-13-volume 👈👈👈 # name: awx-postgres-13-volume 👈👈👈
# spec: 👈👈👈 # spec: 👈👈👈
# accessModes: 👈👈👈 # accessModes: 👈👈👈
# - ReadWriteOnce 👈👈👈 # - ReadWriteOnce 👈👈👈
# persistentVolumeReclaimPolicy: Retain 👈👈👈 # persistentVolumeReclaimPolicy: Retain 👈👈👈
# capacity: 👈👈👈 # capacity: 👈👈👈
# storage: 8Gi 👈👈👈 # storage: 8Gi 👈👈👈
# storageClassName: awx-postgres-volume 👈👈👈 # storageClassName: awx-postgres-volume 👈👈👈
# hostPath: 👈👈👈 # hostPath: 👈👈👈
# path: /data/postgres-13 👈👈👈 # path: /data/postgres-13 👈👈👈
--- ---
apiVersion: v1 apiVersion: v1

View file

@ -17,8 +17,8 @@ Create new directory under `/data/projects` on your K3s host, and place your pla
```bash ```bash
$ tree /data/projects/ $ tree /data/projects/
/data/projects/ /data/projects/
`-- my-first-manual-project 👈👈👈 `-- my-first-manual-project 👈👈👈
`-- my-playbook.yaml 👈👈👈 `-- my-playbook.yaml 👈👈👈
``` ```
Go to `Resources` > `Projects` > `Add` in AWX Web UI, fill `Name` field and select `Manual` as `Source Control Type`. Go to `Resources` > `Projects` > `Add` in AWX Web UI, fill `Name` field and select `Manual` as `Source Control Type`.

View file

@ -63,8 +63,8 @@ $ kubectl -n awx describe pod awx-task-5d8cd9b6b9-8ptjt
Events: Events:
Type Reason Age From Message Type Reason Age From Message
---- ------ ---- ---- ------- ---- ------ ---- ---- -------
Warning FailedScheduling 106s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈 Warning FailedScheduling 106s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈
Warning FailedScheduling 105s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈 Warning FailedScheduling 105s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈
``` ```
In most cases, you can find the reason why the Pod is not `Running` from `Events`. In the example above, I can see that it is due to lack of CPU or memory. In most cases, you can find the reason why the Pod is not `Running` from `Events`. In the example above, I can see that it is due to lack of CPU or memory.
@ -131,7 +131,7 @@ To achieve this, you can uncomment `no_log: false` manually under `spec` for you
spec: spec:
... ...
# Uncomment to reveal "censored" logs # Uncomment to reveal "censored" logs
no_log: false 👈👈👈 no_log: false 👈👈👈
... ...
``` ```
@ -166,8 +166,8 @@ $ kubectl -n awx describe pod awx-task-5d8cd9b6b9-8ptjt
Events: Events:
Type Reason Age From Message Type Reason Age From Message
---- ------ ---- ---- ------- ---- ------ ---- ---- -------
Warning FailedScheduling 106s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈 Warning FailedScheduling 106s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈
Warning FailedScheduling 105s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈 Warning FailedScheduling 105s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈
``` ```
Typical solutions are one of the following: Typical solutions are one of the following:
@ -181,14 +181,14 @@ Typical solutions are one of the following:
... ...
spec: spec:
... ...
web_resource_requirements: {} 👈👈👈 web_resource_requirements: {} 👈👈👈
task_resource_requirements: {} 👈👈👈 task_resource_requirements: {} 👈👈👈
ee_resource_requirements: {} 👈👈👈 ee_resource_requirements: {} 👈👈👈
init_container_resource_requirements: {} 👈👈👈 init_container_resource_requirements: {} 👈👈👈
postgres_init_container_resource_requirements: {} 👈👈👈 postgres_init_container_resource_requirements: {} 👈👈👈
postgres_resource_requirements: {} 👈👈👈 postgres_resource_requirements: {} 👈👈👈
redis_resource_requirements: {} 👈👈👈 redis_resource_requirements: {} 👈👈👈
rsyslog_resource_requirements: {} 👈👈👈 rsyslog_resource_requirements: {} 👈👈👈
``` ```
- You can specify more specific value for each containers. Refer [official documentation](https://ansible.readthedocs.io/projects/awx-operator/en/latest/user-guide/advanced-configuration/containers-resource-requirements.html) for details. - You can specify more specific value for each containers. Refer [official documentation](https://ansible.readthedocs.io/projects/awx-operator/en/latest/user-guide/advanced-configuration/containers-resource-requirements.html) for details.
@ -204,7 +204,7 @@ $ kubectl -n awx describe pod awx-task-5d8cd9b6b9-8ptjt
Events: Events:
Type Reason Age From Message Type Reason Age From Message
---- ------ ---- ---- ------- ---- ------ ---- ---- -------
Warning FailedScheduling 24s default-scheduler 0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims. 👈👈👈 Warning FailedScheduling 24s default-scheduler 0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims. 👈👈👈
``` ```
Check the `STATUS` of your PVs and ensure your PVs doesn't have `Available` or `Bound` state. Check the `STATUS` of your PVs and ensure your PVs doesn't have `Available` or `Bound` state.
@ -360,10 +360,10 @@ ExecStart=/usr/local/bin/k3s \
server \ server \
'--write-kubeconfig-mode' \ '--write-kubeconfig-mode' \
'644' \ '644' \
'--kubelet-arg' \ 👈👈👈 '--kubelet-arg' \ 👈👈👈
'container-log-max-files=4' \ 👈👈👈 'container-log-max-files=4' \ 👈👈👈
'--kubelet-arg' \ 👈👈👈 '--kubelet-arg' \ 👈👈👈
'container-log-max-size=50Mi' \ 👈👈👈 'container-log-max-size=50Mi' \ 👈👈👈
``` ```
Then restart K3s. The K3s service can be safely restarted without affecting the running resources. Then restart K3s. The K3s service can be safely restarted without affecting the running resources.
@ -411,9 +411,9 @@ If you want to use `base/awx.yaml` to achieve this, add following three lines to
... ...
spec: spec:
... ...
extra_settings: 👈👈👈 extra_settings: 👈👈👈
- setting: REMOTE_HOST_HEADERS 👈👈👈 - setting: REMOTE_HOST_HEADERS 👈👈👈
value: "['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST']" 👈👈👈 value: "['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST']" 👈👈👈
``` ```
Then apply this change and wait for your AWX will be reconfigured. Then apply this change and wait for your AWX will be reconfigured.

View file

@ -56,7 +56,7 @@ Place your certificates under `base` directory.
$ ls -l base $ ls -l base
total 32 total 32
-rw-rw-r--. 1 kuro kuro 801 Feb 27 00:23 awx.yaml -rw-rw-r--. 1 kuro kuro 801 Feb 27 00:23 awx.yaml
-rw-rw-r--. 1 kuro kuro 1339 Feb 27 00:44 cacert.pem 👈👈👈 -rw-rw-r--. 1 kuro kuro 1339 Feb 27 00:44 cacert.pem 👈👈👈
-rw-rw-r--. 1 kuro kuro 610 Feb 27 00:23 kustomization.yaml -rw-rw-r--. 1 kuro kuro 610 Feb 27 00:23 kustomization.yaml
... ...
``` ```
@ -100,11 +100,11 @@ Note that this example provides both `ldap-ca.crt` and `bundle-ca.crt`, but you
... ...
secretGenerator: secretGenerator:
... ...
- name: awx-custom-certs 👈👈👈 - name: awx-custom-certs 👈👈👈
type: Opaque 👈👈👈 type: Opaque 👈👈👈
files: 👈👈👈 files: 👈👈👈
- ldap-ca.crt=<Name Of Your Certificate File> 👈👈👈 - ldap-ca.crt=<Name Of Your Certificate File> 👈👈👈
- bundle-ca.crt=<Name Of Your Certificate File> 👈👈👈 - bundle-ca.crt=<Name Of Your Certificate File> 👈👈👈
... ...
``` ```
@ -119,7 +119,7 @@ Note that this example provides both `ldap_cacert_secret` (should have `ldap-ca.
spec: spec:
... ...
ldap_cacert_secret: awx-custom-certs 👈👈👈 ldap_cacert_secret: awx-custom-certs 👈👈👈
bundle_cacert_secret: awx-custom-certs 👈👈👈 bundle_cacert_secret: awx-custom-certs 👈👈👈
... ...
``` ```
@ -187,7 +187,7 @@ verify return:1
depth=0 C = JP, ST = Example State, O = EXAMPLE.COM, CN = ldap.example.com depth=0 C = JP, ST = Example State, O = EXAMPLE.COM, CN = ldap.example.com
verify return:1 verify return:1
--- ---
Certificate chain 👈👈👈 Ensure that the full certificate chain is recognized Certificate chain 👈👈👈 Ensure that the full certificate chain is recognized
0 s:C = JP, ST = Example State, O = EXAMPLE.COM, CN = ldap.example.com 0 s:C = JP, ST = Example State, O = EXAMPLE.COM, CN = ldap.example.com
i:C = JP, ST = Example State, O = EXAMPLE.COM, CN = ica.example.com i:C = JP, ST = Example State, O = EXAMPLE.COM, CN = ica.example.com
... ...
@ -201,12 +201,12 @@ Certificate chain 👈👈👈 Ensure that the full certificate chain is rec
... ...
--- ---
SSL handshake has read 3210 bytes and written 413 bytes SSL handshake has read 3210 bytes and written 413 bytes
Verification: OK 👈👈👈 Ensure there is no verification error Verification: OK 👈👈👈 Ensure there is no verification error
--- ---
... ...
SSL-Session: SSL-Session:
... ...
Verify return code: 0 (ok) 👈👈👈 Ensure there is no verification error Verify return code: 0 (ok) 👈👈👈 Ensure there is no verification error
... ...
``` ```

View file

@ -253,7 +253,7 @@ If the K3s node does not have enough free resources to deploy a new AWX instance
$ kubectl -n awx get pods $ kubectl -n awx get pods
NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE
awx-7d74496d7d-d66dw 4/4 Running 0 19d awx-7d74496d7d-d66dw 4/4 Running 0 19d
awx-84d5c45999-55gb4 0/4 Pending 0 10s 👈👈👈 awx-84d5c45999-55gb4 0/4 Pending 0 10s 👈👈👈
``` ```
Try running `kubectl -n awx describe pod <Pod Name>` and check the `Events` section at the end for the cause. Try running `kubectl -n awx describe pod <Pod Name>` and check the `Events` section at the end for the cause.
@ -264,8 +264,8 @@ $ kubectl -n awx describe pod awx-84d5c45999-55gb4
Events: Events:
Type Reason Age From Message Type Reason Age From Message
---- ------ ---- ---- ------- ---- ------ ---- ---- -------
Warning FailedScheduling 106s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈 Warning FailedScheduling 106s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈
Warning FailedScheduling 105s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈 Warning FailedScheduling 105s default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory. 👈👈👈
``` ```
This means that the node does not have enough CPU or memory resources to start the Pod. This means that the node does not have enough CPU or memory resources to start the Pod.

View file

@ -72,13 +72,13 @@ Specify your proxy settings in the section `extra_settings:` in `base/awx.yaml`
... ...
spec: spec:
... ...
extra_settings: 👈👈👈 extra_settings: 👈👈👈
- setting: AWX_TASK_ENV['HTTP_PROXY'] 👈👈👈 - setting: AWX_TASK_ENV['HTTP_PROXY'] 👈👈👈
value: "'http://proxy.example.com:3128'" 👈👈👈 value: "'http://proxy.example.com:3128'" 👈👈👈
- setting: AWX_TASK_ENV['HTTPS_PROXY'] 👈👈👈 - setting: AWX_TASK_ENV['HTTPS_PROXY'] 👈👈👈
value: "'http://proxy.example.com:3128'" 👈👈👈 value: "'http://proxy.example.com:3128'" 👈👈👈
- setting: AWX_TASK_ENV['NO_PROXY'] 👈👈👈 - setting: AWX_TASK_ENV['NO_PROXY'] 👈👈👈
value: "'127.0.0.1,localhost,.example.com'" 👈👈👈 value: "'127.0.0.1,localhost,.example.com'" 👈👈👈
``` ```
Note that the `value` have to be wrapped in single quotes and then double quotes as shown above. Note that the `value` have to be wrapped in single quotes and then double quotes as shown above.
@ -100,19 +100,19 @@ After logging in you can navigate to `Settings` > `Jobs settings` in the AWX UI
> ... > ...
> spec: > spec:
> ... > ...
> task_extra_env: | 👈👈👈 > task_extra_env: | 👈👈👈
> - name: HTTP_PROXY 👈👈👈 > - name: HTTP_PROXY 👈👈👈
> value: http://proxy.example.com:3128 👈👈👈 > value: http://proxy.example.com:3128 👈👈👈
> - name: HTTPS_PROXY 👈👈👈 > - name: HTTPS_PROXY 👈👈👈
> value: http://proxy.example.com:3128 👈👈👈 > value: http://proxy.example.com:3128 👈👈👈
> - name: NO_PROXY 👈👈👈 > - name: NO_PROXY 👈👈👈
> value: 127.0.0.1,localhost,.example.com 👈👈👈 > value: 127.0.0.1,localhost,.example.com 👈👈👈
> >
> web_extra_env: | 👈👈👈 > web_extra_env: | 👈👈👈
> - name: HTTP_PROXY 👈👈👈 > - name: HTTP_PROXY 👈👈👈
> value: http://proxy.example.com:3128 👈👈👈 > value: http://proxy.example.com:3128 👈👈👈
> - name: HTTPS_PROXY 👈👈👈 > - name: HTTPS_PROXY 👈👈👈
> value: http://proxy.example.com:3128 👈👈👈 > value: http://proxy.example.com:3128 👈👈👈
> - name: NO_PROXY 👈👈👈 > - name: NO_PROXY 👈👈👈
> value: 127.0.0.1,localhost,.example.com 👈👈👈 > value: 127.0.0.1,localhost,.example.com 👈👈👈
> ``` > ```

View file

@ -101,7 +101,7 @@ Service
AllowUnencrypted = false AllowUnencrypted = false
Auth Auth
Basic = true Basic = true
Kerberos = true 👈👈👈 Kerberos = true 👈👈👈
Negotiate = true Negotiate = true
Certificate = false Certificate = false
CredSSP = false CredSSP = false
@ -300,7 +300,7 @@ If the `Verbosity` for the Job Template is configured `4 (Connection Debug)` and
TASK [Ensure windows host is reachable] **************************************** TASK [Ensure windows host is reachable] ****************************************
... ...
<kuro-win01.kurokobo.internal> ESTABLISH WINRM CONNECTION FOR USER: awx@KUROKOBO.INTERNAL on PORT 5985 TO kuro-win01.kurokobo.internal <kuro-win01.kurokobo.internal> ESTABLISH WINRM CONNECTION FOR USER: awx@KUROKOBO.INTERNAL on PORT 5985 TO kuro-win01.kurokobo.internal
calling kinit with pexpect for principal awx@KUROKOBO.INTERNAL 👈👈👈 calling kinit with pexpect for principal awx@KUROKOBO.INTERNAL 👈👈👈
... ...
ok: [kuro-win01.kurokobo.internal] => { ok: [kuro-win01.kurokobo.internal] => {
"changed": false, "changed": false,
@ -350,14 +350,14 @@ NAME READY STATUS RESTARTS
awx-postgres-0 1/1 Running 0 41h awx-postgres-0 1/1 Running 0 41h
awx-76445c946f-btfzz 4/4 Running 0 41h awx-76445c946f-btfzz 4/4 Running 0 41h
awx-operator-controller-manager-7594795b6b-565wm 2/2 Running 0 41h awx-operator-controller-manager-7594795b6b-565wm 2/2 Running 0 41h
automation-job-42-tdvs5 1/1 Running 0 4s 👈👈👈 automation-job-42-tdvs5 1/1 Running 0 4s 👈👈👈
``` ```
Now you can access `bash` inside the EE by `kubectl -n <namespace> exec -it <pod name> -- bash`: Now you can access `bash` inside the EE by `kubectl -n <namespace> exec -it <pod name> -- bash`:
```bash ```bash
$ kubectl -n awx exec -it automation-job-42-tdvs5 -- bash $ kubectl -n awx exec -it automation-job-42-tdvs5 -- bash
bash-5.1$ 👈👈👈 bash-5.1$ 👈👈👈
``` ```
Then proceed investigation. Then proceed investigation.
@ -557,9 +557,9 @@ If manually invoked `kinit` succeeds but the task in your playbook such as `ansi
containers: containers:
- image: 'quay.io/ansible/awx-ee:latest' - image: 'quay.io/ansible/awx-ee:latest'
name: worker name: worker
env: 👈👈👈 env: 👈👈👈
- name: KRB5_TRACE 👈👈👈 - name: KRB5_TRACE 👈👈👈
value: /tmp/krb5.log 👈👈👈 value: /tmp/krb5.log 👈👈👈
args: args:
- ansible-runner - ansible-runner
- worker - worker