Update postgres resources of harbor
2 minute read
How to Update Harbor Advanced Parameters Using kubeopsctl
Prerequisites
Before proceeding, ensure you have:
kubeopsctlinstalled and configured.- Access to your Kubernetes cluster.
- The necessary permissions to apply changes to the Harbor deployment.
Understanding advancedParameters
Harbor allows advanced configuration via the harborValues.advancedParameters section. This section provides fine-grained control over various components, such as PostgreSQL, Redis, and logLevel, by defining resource allocations and other configurations.
Example Structure of advancedParameters
The advancedParameters section in kubeopsctl.yaml follows this structure:
harborValues:
advancedParameters:
postgres:
resources:
requests:
memory: "512Mi" # Minimum memory requested by PostgreSQL
cpu: "200m" # Minimum CPU requested by PostgreSQL
limits:
memory: "1Gi" # Maximum memory PostgreSQL can use
cpu: "500m" # Maximum CPU PostgreSQL can use
internal:
redis:
resources:
requests:
memory: "256Mi" # Minimum memory requested by Redis
cpu: "100m" # Minimum CPU requested by Redis
limits:
memory: "512Mi" # Maximum CPU Redis can use
cpu: "300m" # Maximum CPU Redis can use
logLevel: "debug" # Adjust logging level for debugging purposes
postgres: Defines resource limits for the PostgreSQL database.redis: Configures Redis instance resources.logLevel: Allows setting the logging level.
Modify these values based on your cluster’s available resources and workload requirements.
Step 1: Update Your kubeopsctl.yaml Configuration
Ensure that your kubeopsctl.yaml file includes the harborValues.advancedParameters section. If necessary, update or add parameters to customize your Harbor deployment.
Step 2: Apply the Configuration with kubeopsctl
Once your kubeopsctl.yaml file is ready, apply the changes using the following command:
kubeopsctl apply -f kubeopsctl.yaml
This command updates the advanced parameters for the Harbor deployment.
Step 3: Verify the Changes
To confirm that the new configuration has been applied, run:
kubectl get pod -n <your-harbor-namespace> -o yaml | grep -A6 -i 'resources:'
Replace <your-harbor-namespace> with the namespace where Harbor is deployed.
Alternatively, describe any component to check the applied settings:
kubectl describe pod <component-pod-name> -n <your-harbor-namespace>
Conclusion
Using kubeopsctl, you can efficiently update various advanced parameters in your Harbor deployment. The advancedParameters section allows fine-tuned configuration for multiple components, ensuring optimal resource usage and performance.
If you encounter any issues, check the logs with:
kubectl logs -n <your-harbor-namespace> <component-pod-name>