Skip to content

Use Istio 1.0.0.#1771

Merged
google-prow-robot merged 1 commit intoknative:masterfrom
tcnghia:istio1
Aug 3, 2018
Merged

Use Istio 1.0.0.#1771
google-prow-robot merged 1 commit intoknative:masterfrom
tcnghia:istio1

Conversation

@tcnghia
Copy link
Copy Markdown
Contributor

@tcnghia tcnghia commented Aug 1, 2018

I also added some explanation of the Helm options we used for generating istio.yaml.

I dropped the sleep 20 patch (see #1370), since we can't really dictate our yaml on user's clusters --- it doesn't make sense to keep carrying the patch. We'll leave the bug open to investigate if the issue is still around (many things have changed since we added that sleep 20) and find a different solution if it still lingers. After this change this yaml is just for a convenience one-liner without asking users to go through helm installation or Istio installation docs.

I dropped the global.proxy.image=proxyv2 option because that's the default now.

Will follow up with more documentation in knative/docs to explain what we expect from Istio sidecar injection setup so that users already having Istio would know how to configure it to work with Knative.

/assign @ZhiminXiang
/assign @evankanderson
/cc @scothis
/cc @krancour

@google-prow-robot google-prow-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Aug 1, 2018
@tcnghia
Copy link
Copy Markdown
Contributor Author

tcnghia commented Aug 1, 2018

/test pull-knative-serving-unit-tests

@mattmoor
Copy link
Copy Markdown
Member

mattmoor commented Aug 1, 2018

Awesome, thanks for pulling this in so quickly.

Our goal here is to allow sidecar injection for Pods created by Knative, and
nothing else. This template is used in integration tests and also released as
an Istio-one-line-installation so that our users don't have to go through a lot
of steps to install Istio.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It would be good to make note of whether Istio installed as configured here is a production-ready configuration or more of a "kick-the-tires" configuration. I honestly do not know, but it would be good to call it out.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This comment is non-blocking, btw.

@krancour
Copy link
Copy Markdown
Contributor

krancour commented Aug 1, 2018

Istio 1.0 is installing fine for me as packaged here, but I'm having a little trouble getting Knative to install on top of it:

$ cat third_party/istio-1.0.0/istio.yaml | sed 's/LoadBalancer/NodePort/' | k apply -f -
...
$ curl -L https://github.com/knative/serving/releases/download/v0.1.0/release-lite.yaml   | sed 's/LoadBalancer/NodePort/'   | kubectl apply -f -
...
metric.config.istio.io "revisionrequestcount" configured
metric.config.istio.io "revisionrequestduration" configured
metric.config.istio.io "revisionrequestsize" configured
metric.config.istio.io "revisionresponsesize" configured
prometheus.config.istio.io "revisionpromhandler" configured
rule.config.istio.io "revisionpromhttp" configured
Error from server: error when creating "STDIN": admission webhook "pilot.validation.istio.io" denied the request: configuration is invalid: server must have TLS settings for HTTPS/TLS protocols

@tcnghia
Copy link
Copy Markdown
Contributor Author

tcnghia commented Aug 1, 2018

@krancour can you try with the nightly release instead?
This is being fixed in #1725. Istio added validations in 1.0 that weren't in 0.8.

@krancour
Copy link
Copy Markdown
Contributor

krancour commented Aug 1, 2018

Maybe I need to take #1725 into account? Seems it.

I'm having trouble building release.yaml using the release.sh script.

@tcnghia
Copy link
Copy Markdown
Contributor Author

tcnghia commented Aug 1, 2018

@krancour The YAML released nightly should already have the change (see #1722) so you won't need to apply #1725. However, we cut our 0.1.0 before 1.0 so we'll probably include #1725 in a 0.1.1 release from the 0.1 release branch.

@tcnghia
Copy link
Copy Markdown
Contributor Author

tcnghia commented Aug 1, 2018

@krancour we recently changed getting started to use 0.1.0 -- you can find the old url in the PR https://github.com/knative/docs/pull/287/files . We should still document it somewhere.

@krancour
Copy link
Copy Markdown
Contributor

krancour commented Aug 1, 2018

@tcnghia thanks. This all checks out for me on minikube. On Azure, I encounter known issues + a new issue of the istio-galley crash looping because of failed health checks. I do not assume that to be a problem with this change though.

@krancour
Copy link
Copy Markdown
Contributor

krancour commented Aug 1, 2018

On Azure, I encounter known issues + a new issue of the istio-galley crash looping

The new issue was user error. So this change checks out on at least minikube and Azure.

@krancour
Copy link
Copy Markdown
Contributor

krancour commented Aug 1, 2018

/approve

@scothis
Copy link
Copy Markdown
Contributor

scothis commented Aug 2, 2018

Manually tested with the eventing e2e tests in knative/eventing#304

/lgtm

@google-prow-robot google-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Aug 2, 2018
@@ -9,7 +10,6 @@ cd istio-${ISTIO_VERSION}
helm template --namespace=istio-system \
--set sidecarInjectorWebhook.enabled=true \
--set sidecarInjectorWebhook.enableNamespacesByDefault=true \
--set global.proxy.image=proxyv2 \
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

just curious, why do we not need to set "global.proxy.image=proxyv2" ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The PR is updated with the explanation #1771 (comment)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Good to know. Thanks!

containers:
- name: istio-proxy
# PATCH #2: Add a prestop sleep.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I guess we may still need to keep this PATCH until we fix issue #1370

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think we can't keep that because we don't have control over how the user may install Istio. I leave the bug open to track & fix that issue, which may or may not be there anymore (since it was an issue with Istio 0.6)

(see comment in #1771 (comment))

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Good to know. Thanks!

@ZhiminXiang
Copy link
Copy Markdown

/lgtm

@tcnghia
Copy link
Copy Markdown
Contributor Author

tcnghia commented Aug 2, 2018

@evankanderson can you please /approve? thanks

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: istio-pilot
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Needs namespace: istio-system

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What happens if we submit this without patching namespace?

Is this safe to submit, or do we need the upstream to be fixed first? Since this is an HPA, it probably just means that pilot won't scale-out if needed.

(BTW, you linked to the same file twice.)

@evankanderson
Copy link
Copy Markdown
Member

evankanderson commented Aug 2, 2018 via email

Copy link
Copy Markdown
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

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

I'm assuming that we're planning to change our documentation to say "Install istio via their instructions."?

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: istio-pilot
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What happens if we submit this without patching namespace?

Is this safe to submit, or do we need the upstream to be fixed first? Since this is an HPA, it probably just means that pilot won't scale-out if needed.

(BTW, you linked to the same file twice.)

@evankanderson
Copy link
Copy Markdown
Member

/approve

@google-prow-robot
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: evankanderson, krancour, tcnghia

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-prow-robot google-prow-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 3, 2018
@google-prow-robot google-prow-robot merged commit 3b32b47 into knative:master Aug 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants