Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using the openshift profile is deprecated in favor of setting the openshift platform #16051

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bleggett
Copy link
Contributor

@bleggett bleggett commented Dec 4, 2024

Openshift is a platform, not a profile. This is important because we want people to be able to specifiy platform and profile independently (e.g. --set values.global.platform=gke --set values.global.profile=ambient), and also want to share the same profiles and platforms between istioctl and helm.

Fixup for #16049

Description

Reviewers

  • Ambient
  • Docs
  • Installation
  • Networking
  • Performance and Scalability
  • Extensions and Telemetry
  • Security
  • Test and Release
  • User Experience
  • Developer Infrastructure
  • Localization/Translation

@bleggett bleggett requested review from a team as code owners December 4, 2024 23:07
@istio-testing istio-testing added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Dec 4, 2024
@bleggett bleggett changed the title Using the openshift profile is deprecated in favor of setting the platform Using the openshift profile is deprecated in favor of setting the openshift platform Dec 4, 2024

{{< text bash >}}
$ istioctl install --set profile=openshift
$ istioctl install --set values.global.platform=openshift
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bleggett, this command does not enable CNI which is required for OpenShift. Please see...

$: istioctl install --set values.global.platform=openshift
        |\          
        | \         
        |  \        
        |   \       
      /||    \      
     / ||     \     
    /  ||      \    
   /   ||       \   
  /    ||        \  
 /     ||         \ 
/______||__________\
____________________
  \__       _____/  
     \_____/        

This will install the Istio 1.24.0 profile "default" into the cluster. Proceed? (y/N) y
✔ Istio core installed ⛵️                                                                                                                                                                     
✔ Istiod installed 🧠                                                                                                                                                                         
✔ Ingress gateways installed 🛬                                                                                                                                                               
✔ Installation complete 

$: k get pods -n kube-system
NAME                       READY   STATUS    RESTARTS   AGE
coredns-58696f69f5-ndwkq   1/1     Running   0          98d

OTOH, if we use the openshift profile...

$: istioctl install --set profile=openshift
        |\          
        | \         
        |  \        
        |   \       
      /||    \      
     / ||     \     
    /  ||      \    
   /   ||       \   
  /    ||        \  
 /     ||         \ 
/______||__________\
____________________
  \__       _____/  
     \_____/        

This will install the Istio 1.24.0 profile "openshift" into the cluster. Proceed? (y/N) y
✔ Istio core installed ⛵️                                                                                                                                                                     
✔ Istiod installed 🧠                                                                                                                                                                         
✔ Ingress gateways installed 🛬                                                                                                                                                               
✔ CNI installed 🪢                                                                                                                                                                            
✔ Installation complete    

$: k get pods -n kube-system
NAME                       READY   STATUS    RESTARTS   AGE
coredns-58696f69f5-ndwkq   1/1     Running   0          98d
istio-cni-node-4s7vj       1/1     Running   0          36s
istio-cni-node-78jhz       1/1     Running   0          36s
istio-cni-node-9klq6       1/1     Running   0          36s
istio-cni-node-lff9v       1/1     Running   0          36s
istio-cni-node-wkdm7       1/1     Running   0          36s
istio-cni-node-xpbnz       1/1     Running   0          36s
$

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll have to modify the command as follows

istioctl install --set components.cni.enabled=true --set components.cni.namespace=kube-system --set values.global.platform=openshift

Copy link
Contributor Author

@bleggett bleggett Dec 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll have to modify the command as follows

istioctl install --set components.cni.enabled=true --set components.cni.namespace=kube-system --set values.global.platform=openshift

Yeah - ideally (since we don't use Helm wrapper charts to conditionally select components) platform and profile should be purely Helm overrides, and istioctl should infer what components to choose based on the value of platform. Right now it's kind of all over the place, and we have two different kinds of profile that have different effects, depending on the install method, and then platform which is shared across both.

That just confuses people.

Lemme see if I can improve this.

@bleggett bleggett added the do-not-merge/hold Block automatic merging of a PR. label Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/environments do-not-merge/hold Block automatic merging of a PR. kind/docs size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants