Administration and Deployment

Installing and maintaining your SAS environment
BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
sas_chinmay
Fluorite | Level 6

sas viya deployment using Kubernetes command getting error while performing step no 5 As an administrator with namespace permissions, run: "kubectl apply --selector="sas.com/admin=namespace" -f site.yaml --prune"

sas_chinmay_0-1730055056869.png

Following sas deployment doc : SAS Help Center: Deploy the Software  any suggestion to get it resolved

sas_chinmay_1-1730055111478.png

 

1 ACCEPTED SOLUTION

Accepted Solutions
JuanS_OCS
Azurite | Level 17

I did search a bit more, and I understand now the situation:

 

 

  • pathType: Prefix is intended for paths that only need to match prefixes without regex, so it won't support complex patterns like (/|$)(.*).
  • pathType: ImplementationSpecific allows NGINX to handle the path matching as it sees fit, which includes the ability to use regex patterns.

 

To fix this, change the pathType for this Ingress path to ImplementationSpecific:

  1. Edit your Ingress resource configuration.

  2. Locate the pathType for /types(/|$)(.*).

  3. E.g. Adapt it to ImplementationSpecific:

 

paths:
  - path: /types(/|$)(.*)
    pathType: ImplementationSpecific
    backend:
      service:
        name: your-service-name
        port:
          number: 80

This being said, this is not documented by SAS, it is Kubernetes specific. Therefore chances are that it might not be supported by SAS officially. What scripts are you using, the IaC/Deployment scripts? In that case you should reach out to the creators via the GitHub projects. Else, you probably should reach out to SAS Technical Support, to get a supported version of the fix.

 

View solution in original post

5 REPLIES 5
JuanS_OCS
Azurite | Level 17
Did you check this troubleshooting guide, specially regarding NGNIX headers? https://github.com/sassoftware/viya4-deployment/blob/main/docs/Troubleshooting.md#ingress-nginx---us...

It seems to me as one of your config files needs an update
sas_chinmay
Fluorite | Level 6
Kubernetes deployment takes place on the Azure platform. Does that same document help me?
sas_chinmay
Fluorite | Level 6
It's not working for me. getting same Error from server (BadRequest): error when creating "site.yaml": admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: ingress contains invalid paths: path /types(/|$)(.*) cannot be used with pathType Prefix
JuanS_OCS
Azurite | Level 17

I did search a bit more, and I understand now the situation:

 

 

  • pathType: Prefix is intended for paths that only need to match prefixes without regex, so it won't support complex patterns like (/|$)(.*).
  • pathType: ImplementationSpecific allows NGINX to handle the path matching as it sees fit, which includes the ability to use regex patterns.

 

To fix this, change the pathType for this Ingress path to ImplementationSpecific:

  1. Edit your Ingress resource configuration.

  2. Locate the pathType for /types(/|$)(.*).

  3. E.g. Adapt it to ImplementationSpecific:

 

paths:
  - path: /types(/|$)(.*)
    pathType: ImplementationSpecific
    backend:
      service:
        name: your-service-name
        port:
          number: 80

This being said, this is not documented by SAS, it is Kubernetes specific. Therefore chances are that it might not be supported by SAS officially. What scripts are you using, the IaC/Deployment scripts? In that case you should reach out to the creators via the GitHub projects. Else, you probably should reach out to SAS Technical Support, to get a supported version of the fix.

 

gwootton
SAS Super FREQ
The combination of the pathType Prefix and the path of /service_name(/|$)(.*) is part of the SAS deployment assets ($deploy/sas-bases/overlays/network/networking.k8s.io/v1/ingress/components/sas-types/ingress.yaml for example).

This error (previously a warning) is coming from ingress-nginx's strict-validate-path-type option.

Options for resolution here I think would be to:
- Downgrade ingress-nginx to an earlier version (I think this changed from a warning to an error at 1.12)
- Set the strict-validate-path-type option to false
- Write and apply a patchTransformer to update the pathType to implementationSpecific for all ingresses making use of regular expressions.

--
Greg Wootton | Principal Systems Technical Support Engineer

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 2003 views
  • 4 likes
  • 3 in conversation