Local Kyma installation
Use the following command to run Kubernetes locally via Minikube:
$ ./installation/scripts/minikube.sh --domain "kyma.local" --vm-driver "hyperkit"
Kyma installation requires increased permissions granted by the cluster-admin role. To bind the role to the default ServiceAccount, run the following command:
$ kubectl apply -f ./installation/resources/default-sa-rbac-role.yaml
Wait until the kube-dns
Pod is ready. Run this script to setup Tiller:
$ ./installation/scripts/install-tiller.sh
Configure the Kyma installation using the local configuration file:
$ kubectl apply -f https://github.com/kyma-project/kyma/releases/download/0.4.1/kyma-config-local.yaml
To trigger the installation process, label the kyma-installation
custom resource:
$ kubectl label installation/kyma-installation action=install
Track progress of the installation using the following script:
$ ./installation/scripts/is-installed.sh
Installation on Google Kubernetes Engine
-
Make sure that you have
gcloud
tool installed. Set environment variables for your Google project identifier and your cluster name. You can keep your demo cluster name but your Google project identifier must be changed. Then you can spin up the cluster:export CLUSTER_NAME=demo export PROJECT=YOUR_PROJECT_ID gcloud beta container --project "$PROJECT" clusters \ create "$CLUSTER_NAME" --zone "europe-west1-b" \ --cluster-version "1.10.7-gke.2" --machine-type "n1-standard-2" \ --addons HorizontalPodAutoscaling,HttpLoadBalancing,KubernetesDashboard
-
Install Tiller:
kubectl apply -f https://raw.githubusercontent.com/kyma-project/kyma/0.4.1/installation/resources/tiller.yaml
-
Download the release and replace the placeholders with the proper values. The placeholders are the upper case variables surrounded by double underscore, such as
__DOMAIN__
. These are the mandatory values to change:__DOMAIN__
which specifies your domain, for examplekyma.example.com
.__TLS_CERT__
which is a PEM format, base64-encoded TLS certifcate.__TLS_KEY__
which is a base64-encoded TLS private key.
If you don't know how to set other values, replace them with an empty string.
You can use this script to set only three mandatory values:
export DOMAIN=kyma.example.com export TLS_CERT=base64_PEM_TLS_certificate export TLS_KEY=base64_TLS_private_key cat kyma-config-cluster.yaml | sed -e "s/__DOMAIN__/$DOMAIN/g" |sed -e "s/__TLS_CERT__/$TLS_CERT/g" | sed -e "s/__TLS_KEY__/$TLS_KEY/g" |sed -e "s/__.*__//g" >my-kyma.yaml
As a result, you get the
my-kyma.yaml
file which you can deploy on the GKE cluster. -
Configure kubectl to use your new cluster, add yourself as the cluster admin, and deploy Kyma installer with your configuration.
gcloud container clusters get-credentials $CLUSTER_NAME --zone europe-west1-b --project $PROJECT kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value account) kubectl apply -f my-kyma.yaml
-
Check if
tiller
andkyma-installer
Pods are up and running. Start the installation process with this command:kubectl label installation/kyma-installation action=install
Watch installation progress:
kubectl logs -n kyma-installer [kyma-installer-pod] -f
-
Configure DNS for two load balancers created by the Kyma installation, which are istio-ingressgateway and core-nginx-ingress-controller. You need the following DNS records:
*.kyma.example.com A EXTERNAL_PUBLIC_IP
gateway.kyma.example.com A REMOTE_ENV_IP
You can use this script to get external IP addresses for load balancers:
export EXTERNAL_PUBLIC_IP=$(kubectl get service -n istio-system istio-ingressgateway -o jsonpath="{.status.loadBalancer.ingress[0].ip}") export REMOTE_ENV_IP=$(kubectl get service -n kyma-system core-nginx-ingress-controller -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
Changelog
Application Connector
- #999 Disabled Remote Environment Controller tests (@Szymongib)
- #967 Update Metadata Service API Spec (@Szymongib)
- #957 Update Remote Environment chart in RE Controller (@Szymongib)
- #928 Fix for description being skipped during struct mapping (@janmedrek)
- #879 Disable SourceClear from AC components (@Szymongib)
- #885 Fix RE Controller Tests retries (@Szymongib)
- #808 Metadata service must return 404 when service is not existing (@lszymik)
- #762 Remote Environment Controller acceptance tests chart (@Szymongib)
- #799 Change Metadata Service API to follow new CRD definition (@janmedrek)
- #710 Remote Environment Controller acceptance tests (@Szymongib)
- #787 Updated Remote Environment Client in Gateway (@Szymongib)
- #800 Updated Remote Environment client in RE Controller (@Szymongib)
- #820 Fix the name of the port in Event service to resolve an issue with checks (@lszymik)
- #760 Bumped Connector Service Tests (@Szymongib)
- #618 Remote Environment Controller chart (@Szymongib)
- #587 Remote Environment Controller implementation (@Szymongib)
- #600 One-click-configuration updated with nodeport notice for local installation (@tomekpapiernik)
- #559 Bump gateway version (@janmedrek)
- #396 Auth token cache (@janmedrek)
Serverless
- #1013 Update lambda image (@venturasr)
- #1067 Adjust local settings, memory resources for Prometheus and Logging (@venturasr)
- #492 Bump kubless test client image (@sayanh)
- #489 Removed the dependencies from test functions (@sayanh)
- #433 Bumped kubeless test image (@sayanh)
- #431 Adding more logs to kubeless test client (@sayanh)
Service Catalog
- #1062 Limit Minio resources (@michal-hudy)
- #1021 Bump catalog-ui image to 0.1.188 (@magicmatatjahu)
- #937 Enhance SB/SBU mutations (@piotrmiskiewicz)
- #933 Expose ServicePlan createSB schema via ui-api-layer (@polskikiel)
- #991 Fix 404 links in service catalog etcd doc (@mwieczorek)
- #969 Expose bindings stats via ui-api-layer (@polskikiel)
- #784 Replace etcd-operator with statefulset for service catalog and helm broker datastore (@mwieczorek)
- #886 Relist broker on mapping creation and deletion (@polskikiel)
- #877 Add bindable resources endpoint (@piotrmiskiewicz)
- #909 Fix core acceptance tests (@mszostok)
- #823 Fix bug with Events displaying in catalog and instances (@magicmatatjahu)
- #794 Skip UI API Acceptance Tests when SCI is enabled (@michal-hudy)
- #730 Use custom service-catalog docker image 0.1.32 with memory-leak fix (@piotrmiskiewicz)
- #506 Remote Environment Broker - bump version (@aszecowka)
- #462 Remote Environment Broker - adjust instance populator for namespaced service brokers (@aszecowka)
- #428 Remote Environment Broker - documentation about namespace broker (@aszecowka)
- #390 Remote Environment Broker - Register namespaced broker on EnvironmentMapping creation (@aszecowka)
- #343 Remote Environment Broker catalog endpoint is namespace aware (@piotrmiskiewicz)
- #303 Remote Environment Broker: Middleware to propagate from http.Request to osb.Context brokerNamespace (@aszecowka)
- #272 Bump instances-ui and api-layer image versions (@magicmatatjahu)
Cluster
- #987 [Stability-checker] Bump version (@aszecowka)
- #881 [Stability checker] Provide summary for every test (@aszecowka)
Eventing
- #1086 Add backoff retries in an errornous case in event bus test (@Abd4llA)
- #591 Support HA for Publish and Push (@montaro)
- #323 Fix - /v1/events Service returns json as content type text/plain (@abbi-gaurav)
Security
- #988 Bump alpine image version for watch-pods and alpine-net (@lilitgh)
- #880 Bump in ui-api-layer alpine images version (@magicmatatjahu)
- #876 Adjust apiserver-proxy to allow k8s apiserver to be secured (@piotrmsc)
- #463 Add hostname validation to api-controller (@kubadz)
- #180 Bump istio version to 1.0.0 (@sjanota)
Service Mesh
- #1056 Set memory limits for isito (@sjanota)
- #861 Split istio installation process (@sjanota)
- #463 Add hostname validation to api-controller (@kubadz)
- #180 Bump istio version to 1.0.0 (@sjanota)
- #305 Change overrides for istio-1.0 (@sjanota)
Installation
- #1046 Remove versions.env in generate-kyma-installer script (@crabtree)
- #1056 Set memory limits for isito (@sjanota)
- #1062 Limit Minio resources (@michal-hudy)
- #1066 Disable upload env file to azure (@crabtree)
- #764 fix minikube version missmatch text (@Sicaine)
- #1050 Fix verisons.yaml with invalid components names (@crabtree)
- #1037 Add versions in values.yaml in istio-kyma-patch (@crabtree)
- #1035 Move installer cr action label from template to scripts (@strekm)
- #984 Provide components versions in values.yaml (@crabtree)
- #935 Generate local-kyma-installer.yaml and cluster-kyma-installer.yaml (@kfurgol)
- #919 Add kyma-installer jenkinsfile (@crabtree)
- #930 Hardcode namespace in installer deployment (@strekm)
- #779 Update documentation with subcomponents details (@crabtree)
- #726 Installer bump with update improved (@crabtree)
- #709 Improve update operation in Installer (@crabtree)
- #699 Align yaml files with new installer group name (@crabtree)
- #698 Change installer resources group to kyma-project.io (@crabtree)
- #639 Local and cluster configs - overrides (@crabtree)
- #558 Remove old azure-broker parameters from yaml files (@crabtree)
Monitoring
Tracing
Console
- #1093 Bump Instances UI (@pkosiec)
- #1080 Bump Content UI and UI API Layer (@pkosiec)
- #1021 Bump catalog-ui image to 0.1.188 (@magicmatatjahu)
- #1015 Add UI for creation of remote environments (@kwiatekus)
- #1017 Fix UI API Acceptance tests after introducing Service Binding Stats (@michal-hudy)
- #980 Fix exit status code for UI API Layer acceptance tests (@pkosiec)
- #1003 Bump instances-ui to use new ui-api (@polskikiel)
- #996 Console version bump (@maxmarkus)
- #902 Configure console header and logo (@kwiatekus)
- #950 Upgrade UI API Layer and UIs (@pkosiec)
- #848 Add cluster-wide and local resources support (@pkosiec)
- #868 Fix query about enabling RemoteEnvironment in given namespace (@mszostok)
- #798 Update RemoteEnvironment and EventActivation queries after breaking changes (@mszostok)
- #827 Add Identifier and Labels field to RE client (@mszostok)
- #830 Bump version of all Console views to support better nginx configuration (@derberg)
- #823 Fix bug with Events displaying in catalog and instances (@magicmatatjahu)
- #727 Upgrade gqlgen (@pkosiec)
- #666 Add ServiceBinding and ServiceBindingUsage subscriptions (@michal-hudy)
- #548 Improve ResourceQuotaStatus endpoint (@polskikiel)
- #327 Update console image version (@dariadomagala)
Documentation
- #1025 Fix left navigation of Content UI (@akucharska)
- #982 Fix link that is broken in UI (@derberg)
- #984 Provide components versions in values.yaml (@crabtree)
- #861 Split istio installation process (@sjanota)
- #991 Fix 404 links in service catalog etcd doc (@mwieczorek)
- #835 Adjust kyma/docs documents and their names to the templates (@klaudiagrz)
- #779 Update documentation with subcomponents details (@crabtree)
- #630 Add Custom Resource documentation for SBU, UK, EM, EA, RE (@klaudiagrz)
- #655 Convert the ResourceQuotaStatus proposal into the proper documentation (@polskikiel)
- #548 Improve ResourceQuotaStatus endpoint (@polskikiel)
- #699 Align yaml files with new installer group name (@crabtree)
- #587 Remote Environment Controller implementation (@Szymongib)
- #639 Local and cluster configs - overrides (@crabtree)
- #600 One-click-configuration updated with nodeport notice for local installation (@tomekpapiernik)
- #358 Document the services's programming model (@montaro)
- #577 bump documentation image version (@tomekpapiernik)
- #558 Remove old azure-broker parameters from yaml files (@crabtree)
- #571 Remove links from auth-authorization docs (@tomekpapiernik)
- #488 Description of components specification in installer CR (@crabtree)
- #550 Adjust the Overview documents to the template (@kazydek)
- #428 Remote Environment Broker - documentation about namespace broker (@aszecowka)
- #418 Fix service consumption in Service Catalog doc (@montaro)
- #308 Added a getting started guide for custom monitoring metrics (@sayanh)
- #270 Fix raw content links in local deployment of sample service (@sjanota)
Community
- #829 Remove type for single documents with name equal to type (@akucharska)
CI
- #1089 Remove sourceclear from environments tests (@crabtree)
- #1014 Increase Jenkins job timeout (@lilitgh)
- #987 [Stability-checker] Bump version (@aszecowka)
- #881 [Stability checker] Provide summary for every test (@aszecowka)
- #795 Update api-controller chart to use dynamic versioning (@sjanota)
Committers: 52
- Adam Szecówka (@aszecowka)
- Agata (@akucharska)
- Ahmed Abdalla (@Abd4llA)
- Ahmed ElRefaey Hamouda (@montaro)
- Andreas Thaler (@a-thaler)
- Arkadiusz Galwas (@akgalwas)
- Atakan Yenel (@atakanyenel)
- Borja Clemente (@clebs)
- Damian Pacierpnik (@damianpacierpnikatsap)
- Daria Domagała (@dariadomagala)
- Deleted user (@ghost)
- Gaurav Abbi (@abbi-gaurav)
- Georgi Chulkov (@gchbg)
- Jakub Dziechciewicz (@kubadz)
- Jakub Kabza (@jakkab)
- Jan Mędrek (@janmedrek)
- Jesús Real Serrano (@jesusreal)
- Kamil K (@y-kkamil)
- Karolina Zydek (@kazydek)
- Klaudia Grzondziel (@klaudiagrz)
- Krystian Cieślik (@crabtree)
- Krzysztof (@kwiatekus)
- Lukasz Gornicki (@derberg)
- Lukasz Szymik (@lszymik)
- Maciej Urbańczyk (@magicmatatjahu)
- Mariusz Szymański (@Maladie)
- Markus (@maxmarkus)
- Mateusz Szostok (@mszostok)
- Matthias Sohn (@msohn)
- Michal Kempski (@polskikiel)
- Michał Hudy (@michal-hudy)
- Michał Wieczorek (@mwieczorek)
- Paweł Kosiec (@pkosiec)
- Piotr Kopczyński (@PK85)
- Piotr Miśkiewicz (@piotrmiskiewicz)
- Piotr Mścichowski (@piotrmsc)
- Radu Fantaziu (@radufa)
- Rakesh Garimella (@rakesh-garimella)
- Sayan Hazra (@sayanh)
- Sigi (@Sicaine)
- Szymon Gibała (@Szymongib)
- Szymon Janota (@sjanota)
- Tomasz Papiernik (@tomekpapiernik)
- Tomasz Smelcerz (@Tomasz-Smelcerz-SAP)
- Venki Balakrishnan (@venkyvb)
- @KarolGrzyb
- @kfurgol
- @lilitgh
- @marcobebway
- @mjasinski5
- @strekm
- @venturasr