{"id":20700875,"url":"https://github.com/vidyasagarmsc/knative-deploy","last_synced_at":"2025-10-08T11:45:51.027Z","repository":{"id":92350564,"uuid":"151580002","full_name":"VidyasagarMSC/knative-deploy","owner":"VidyasagarMSC","description":"Install Knative with Istio on IBM Cloud Kubernetes Service(IKS), build and push your image to IBM Cloud Container Registry (using Docker or Kaniko) and deploy the app.","archived":false,"fork":false,"pushed_at":"2018-12-13T09:25:57.000Z","size":27,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T22:48:46.882Z","etag":null,"topics":["cluster","container-registry","docker","docker-daemon","ibm-cloud","ibmcloud","iks","istio","jaeger","kaniko","knative","kubernetes","kubernetes-cluster","logging","monitoring","serverless","tracing","weavescope","zipkin"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VidyasagarMSC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-04T13:55:09.000Z","updated_at":"2020-05-19T03:40:37.000Z","dependencies_parsed_at":"2023-05-16T23:15:10.424Z","dependency_job_id":null,"html_url":"https://github.com/VidyasagarMSC/knative-deploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/VidyasagarMSC/knative-deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2Fknative-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2Fknative-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2Fknative-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2Fknative-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VidyasagarMSC","download_url":"https://codeload.github.com/VidyasagarMSC/knative-deploy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VidyasagarMSC%2Fknative-deploy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262460358,"owners_count":23314721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cluster","container-registry","docker","docker-daemon","ibm-cloud","ibmcloud","iks","istio","jaeger","kaniko","knative","kubernetes","kubernetes-cluster","logging","monitoring","serverless","tracing","weavescope","zipkin"],"created_at":"2024-11-17T00:37:33.142Z","updated_at":"2025-10-08T11:45:45.979Z","avatar_url":"https://github.com/VidyasagarMSC.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Knative-deploy\n\nStep-by-step instructions to install Knative with Istio 1.0.2 on IBM Cloud Kubernetes Service(IKS), build and push your image to IBM Cloud Container Registry and deploy the app.\n\n\u003e For up-to-date instructions, refer to this [article on Medium](https://medium.com/vmacwrites/install-knative-with-istio-on-iks-cluster-and-deploy-an-app-on-ibm-cloud-7b7d368b9833)\n\n### Prerequisites\n\n- [Node and npm](https://www.npmjs.com/get-npm)\n- [Download and install the ibmcloud command line tool](https://console.bluemix.net/docs/cli/index.html#overview)\n\n### Setup IBMCloud CLI\n\n- Install the cs (container-service) and cr (container-registry) plugins\n\n```\n  ibmcloud plugin install container-service -r Bluemix\n  ibmcloud plugin install container-registry -r Bluemix\n```\n- Authorize ibmcloud:\n\n```\n  ibmcloud login\n```\n- [Setup environment variables](https://github.com/knative/docs/blob/master/install/Knative-with-IKS.md#setting-environment-variables)\n- [Create a Kubernetes Cluster](https://github.com/knative/docs/blob/master/install/Knative-with-IKS.md#creating-a-kubernetes-cluster)\n\n- Knative depends on Istio.\n\n```\n  kubectl apply --filename https://raw.githubusercontent.com/knative/serving/master/third_party/istio-1.0.2/istio.yaml\n```\n\n- Label the default namespace with istio-injection=enabled:\n `kubectl label namespace default istio-injection=enabled`\n- Monitor the Istio components until all of the components show a STATUS of Running or Completed:\n`kubectl get pods --namespace istio-system`\n\n- [Installing Knative components](https://github.com/knative/docs/blob/master/install/Knative-with-IKS.md#installing-knative-components)\n\n\n### Build your source into a container image and push using Kaniko\nTo Build a source into a container image from a Dockerfile inside a kubernetes cluster and push the image to IBM Cloud Container registry; all of this using Google's Kaniko tool, refer [this link](https://github.com/VidyasagarMSC/knative-deploy/blob/master/kaniko/README.md)\n\nOR\n\nto build a container Image using Docker Daemon, follow the steps below\n\n### Build the app as a container image using Docker Daemon\n\u003e Rehash of [helloworld-nodejs](https://github.com/knative/docs/tree/master/serving/samples/helloworld-nodejs)\n\n- Clone the repo\n```\n  git clone https://github.com/VidyasagarMSC/knative-deploy.git\n  cd knative-deploy\n```\n- Install dependencies\n```\n  npm install\n```\n- Build and Push the Docker image to IBM Cloud Container Registry by replacing `\u003cregion\u003e` and `\u003cnamespace\u003e` values\n\n```\n  ibmcloud cr build -t registry.\u003cregion\u003e.bluemix.net/\u003cnamespace\u003e/knative-node-app .\n```\n- Open `service.yaml`, replace `image` and run the below command\n```\n  kubectl apply --filename service.yaml\n```\n\n### Test your app\n\n- To find the IP address for your service, use `kubectl get svc knative-ingressgateway -n istio-system` to get the ingress IP for your cluster. If your cluster is new, it may take sometime for the service to get asssigned an external IP address.\n\n```\nexport IP_ADDRESS=$(kubectl get svc knative-ingressgateway --namespace istio-system --output 'jsonpath={.status.loadBalancer.ingress[0].ip}')\n```\n\n- To find the URL for your service, use `kubectl get services.serving.knative.dev knative-node-app  --output jsonpath='{.status.domain}'`\n```\nexport HOST_URL=$(kubectl get services.serving.knative.dev knative-node-app  --output jsonpath='{.status.domain}')\n```\n\n- Now you can make a request to your app to see the result.\n```\n curl -H \"Host: ${HOST_URL}\" http://${IP_ADDRESS}\nNode App running on IBM Cloud\n```\n\n### Cleanup\n\n- Run the below command to remove the sample app from your cluster\n\n```\n kubectl delete --filename service.yaml\n```\n\n- To delete the cluster, enter the following command:\n```\n ibmcloud cs cluster-rm $CLUSTER_NAME\n```\n\n### Related Content\n- [Build a container image inside a K8s cluster](https://medium.com/@VidyasagarMSC/build-a-container-image-inside-a-k8s-cluster-and-push-it-to-ibm-cloud-container-registry-abac9b1e5246) and push it to IBM Cloud Container Registry\n- Knative [Monitoring](https://medium.com/vmacwrites/knative-monitoring-with-grafana-zipkin-weavescope-other-plugins-30a2d8d20344)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvidyasagarmsc%2Fknative-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvidyasagarmsc%2Fknative-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvidyasagarmsc%2Fknative-deploy/lists"}