Kubernetes Examples

Total Page:16

File Type:pdf, Size:1020Kb

Kubernetes Examples Kubernetes Examples U.S. PATENT AND TRADEMARK OFFICE (AUGUST 22, 2019) Contents Contents 1 1 Kubernetes Core Examples 3 Kubernetes Interfaces 3 kubectl 3 Stateless Applications 4 Example: Deploy a Java Spring Application 5 Dynamic Storage and DaemonSet 6 Deploy Dynamic Provisioner as a DaemonSet 7 Stateful Applications 9 Example: Deploy MySQL 10 Example: Deploy Lime Survey Against Database 11 1 Kubernetes Core Examples Kubernetes Interfaces kubectl General Command Structure kubectl organizes its operations into a set of broad commands: get, describe, config, … The com- mands work in a consistent fashion across resource types. Retrieve resources: kubectl get <resource> Describe or inspect resources: kubectl describe <resource-type> <resource-name> Create new resources: kubectl create <resource-type> <resource-name> Most types of resources can be modified in either an “imperative” or “declarative” fashion. • Imperative modifications are made by running a command and specifying options. Com- mands are often described as “verbs” that apply a specific action. Example: kubectl scale --replicas deployment deployment-name • Declarative modifications are mady by specifying the desired options in a manifest and running a command with the -f (file) option to create or apply the changes. Example: kubectl create -f deployment-manifest.yaml to create a new resource or: kubectl apply -f deployment-manifest.yaml to update an existing resource. When working with complex applications, it is possible to create more than a single object in a manifest. The different blocks should be offset with three dashes --- to indicate a new section. 3 4 Kubernetes Core Examples Cluster Commands Check the currently active context: kubectl config current-context View available contexts: kubectl config get-contexts Check available nodes: kubectl get nodes Show the current state of a node, metadata, and events: kubectl describe node-name Show namespaces: kubectl get namespaces Describe a namespace: kubectl describe namespace default Stateless Applications While Kubernetes can be used to run nearly type of workload, perhaps the most common is “stateless workloads.” Stateless applications: • have no persistent storage or volume associated with them • utilize backing storage, such as a database or external object store, to persist data • are less susceptible to error caused by container start/stop or migration • can be scaled horizontally without special consideration to clustering or coordination of operations Their deployment often follows a set procedure: • Create and validate a container image – Container image might be created on a local workstation and validated using docker run Stateless Applications 5 – Alternatively, it might be created through an automated process and validated using unit and functional tests • Describe the desired structure of how the system will be deployed – What resources will the container application use? What services will it consume as part of its operations? – Create supporting objects, such as configuration maps (ConfigMap) to provide the needed structure to all running instances of the application. – Create the manifests or deployment command for the application itself. Statelss ap- plications are most often deployed as deployments, rather than directly as pods or replica sets. • Deploy the system to Kubernetes • Validate the system was deployed without error – Check the initiation of containers and associated resources – For web applications or other systems, utilize kubectl port-forward to create a tunnel and check the application function directly. • Expose the service through the use of an appropriate service type – NodePort: Provides an “inside the firewall” validation (quick and dirty) – LoadBalancer: Exposes the application externally (“outside the firewall”) – Ingress: Exposes a portion of the application or allows for the utilization of more complex access control. Authentication (HTTP basic or digest, oAuth2) or integra- tion with an external authorization application (JSON web token). Example: Deploy a Java Spring Application • Reference: Building Spring Applications with Docker 1. Checkout the example application from the Spring Examples repository. $ git clone https://github.com/spring-projects/spring-petclinic.git 2. Create a Docker container using the Google Jib $ cd spring-petclinic $ docker run -it --rm --workdir /src -v $(pwd):/src \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ maven:3.6-jdk-11 mvn compile -Dimage=spring/petclinic \ com.google.cloud.tools:jib-maven-plugin:1.0.0:dockerBuild Google Jib provides an automation tool that can build container images via mvn. The builder above requires access to the Docker socket. Mounting the socket as shown is a technique called Docker in Docker. 3. Ensure that the image built as expected $ docker images spring/petclinic 6 Kubernetes Core Examples 4. Run the Docker image locally to validate $ docker run -it --rm -p 8080:8080 spring/petclinic 5. Tag the image for the registry and push in prep of Kubernetes deployment $ docker tag spring/petclinic registry.example.com:5000/examples/spring-petclinic 6. Create a deployment using the image $ kubectl create deployment spring-example-petclinic \ --image=registry.example.com:5000/examples/spring-petclinic 7. Use kubectl port-forward to access the Kubernetes deployment and validate the application $ kubectl port-forward deployment/spring-example-petclinic 8080:8080 8. Expose the application as a service $ kubectl expose deployment spring-example-petclinic \ --type=NodePort --port 8080 --targetPort 8080 9. Scale the application $ kubectl scale deployment spring-example-petclinic --replicas 3 10. Remove the deployment and service $ kubectl delete deployment spring-example-petclinic $ kubectl delete service spring-example-petclinic Dynamic Storage and DaemonSet Storage in Kubernetes is managed through the use of persistent volumes and persistent volume claims. These provide a consistent interface through which storage can be associated with an application (deployment or stateful set). • Persistent volumes bind a certain type of storage type to the Kubernetes cluster • Volume claims allow specific pods to “claim” the storage for use by an application. Persistent volumes are typically created through the use of one of two methods: • static provisioning: volumes and claims are created manually by an infrastructure or oper- ations team – cluster administrators must manually amke calls to cloud or storage provider – persistent volumes are then created describing the resource are generated manually – volume claims linked to the volumes are then created (also manually) for use by pods • dynamic provisioning: storage volumes are created on-demand Dynamic Storage and DaemonSet 7 – resources are created when generated by users When deploying systems to manage dynamic storage, a common technique is to utilize Kuber- netes worker nodes to host the resources. • A daemon set ensures that all (or some) nodes run a copy of a pod. – As nodes are added to the cluster, pods are added to them. – As nodes are removed, the pods running on them are garbage collected. • Common use cases of a DaemonSet: – Running cluster storage daemons, such as glusterd or ceph on a specific set of nodes – Running log collection daemons such as fluentd or logstash – Running node monitoring daemons on nodes, such as the Prometheus node exporter Deploy Dynamic Provisioner as a DaemonSet • Reference :GlusterFS Simple Provisioner for Kubernetes 1.5+ The following steps will provision a simple glusterfs provisioner. It will permit volumes tobe created dynamicly with GlusterFS but will not manage the cluster itself. For that functionality see Heketi. 1. List DaemonSet, Storage Class, PV’s, and PVC kubectl get ds,sc,pv,pvc kubectl can be used to retrieve multiple types of objects at once. 2. Deploy the daemonSet from (https://raw.githubusercontent.com/kubernetes- incubator/external-storage/master/gluster/glusterfs/deploy/glusterfs-daemonset.yaml). $ kubectl apply -f https://bit.ly/2Zdh3Bf Show the new DaemonSet, notice all zeros and the use of the node-selector kubectl get ds,sc,pv,pvc 3. Label any node that should be used for storage. Nodes will not appear in the storage cluster until labeled. kubectl label node <...node...> storagenode=glusterfs 4. Obtain Pod Names and Node IP for next step kubectl get pods -o wide --selector=glusterfs-node=pod 5. Execute gluster command on one of the nodes to create a trusted storage pool 8 Kubernetes Core Examples kubectl exec -ti glusterfs-grck0 gluster peer probe 10.10.10.52 kubectl exec -ti glusterfs-grck0 gluster peer probe 10.10.10.53 kubectl exec -ti glusterfs-grck0 gluster peer probe 10.10.10.54 6. Create a service account and provide RBAC rules for the provisioner from rbac.yaml kubectl apply -f https://bit.ly/2ZkVpLj 7. Create the directory volumes and bricks will be located under for i in worker1 worker2 worker3 ; do ssh root@${i} mkdir -p /data/glusterfs done 8. Deploy the new provisioner using the manifest from deployment.yaml kubectl apply -f https://bit.ly/2P5gXfl 9. Create a new StorageClass echo 'kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: glusterfs-simple provisioner: gluster.org/glusterfs-simple parameters: forceCreate: "true" brickrootPaths: "10.10.10.52:/data/glusterfs/,10.10.10.53:/data/glusterfs/,10.10.10.54:/data/glusterfs"' | kubectl create -f - 10. Check on the ds,sc,pv,pvc again kubectl get ds,sc,pv,pvc 11. Create a simple PVC echo 'apiVersion:
Recommended publications
  • Emotions and Performance in Virtual Worlds
    EMOTIONSANDPERFORMANCEINVIRTUAL WORLDS An Empirical Study in the Presence of Missing Data Inauguraldissertation zur Erlangung des Doktorgrades der Wirtschafts- und Sozialwissenschaftlichen Fakultät der Universität zu Köln 2015 vorgelegt von Diplom-Informatikerin Sabrina Schiele aus Duisburg Referent: Prof. Dr. Detlef Schoder Koreferent: Prof. Dr. Claudia Loebbecke Datum der Promotion: 27.11.2015 EMOTIONSANDPERFORMANCEINVIRTUALWORLDS sabrina schiele Department of Information Systems and Information Management Faculty of Management, Economics and Social Sciences University of Cologne Sabrina Schiele: Emotions and Performance in Virtual Worlds, An Em- pirical Study in the Presence of Missing Data, 2015 To Gregor, who supported all of my decisions and always found the right words to keep me going in times of despair. ABSTRACT In this work, we first investigate characteristics of virtual worlds and de- termine important situational variables concerning virtual world usage. Moreover, we develop a model which relates individual differences of vir- tual world users, namely emotional and cognitive abilities, experiences with virtual worlds as a child, and the level of cognitive absorption per- ceived during virtual world use, to the users’ individual performance in virtual worlds. We further test our model with observed data from 4,048 study participants. Our results suggest that cognitive ability, childhood media experience, and cognitive absorption influence multiple facets of emotional capabilities, which in turn have a varyingly strong effect on virtual world performance among different groups. Notably, in the present study, the effect of emotional capabilities on performance was stronger for users which prefer virtual worlds that have more emotional content and require more social and strategic skills, particularly related to human behavior.
    [Show full text]
  • 4PSA Integrator 3.5.0 for Plesk 8.2.0 and Newer Versions User's Guide
    4PSA Integrator 3.5.0 for Plesk 8.2.0 and newer versions User's Guide For more information about 4PSA Integrator, check: http://www.4psa.com Copyright © 2011 Rack-Soft. 4PSA is a registered trademark of Rack-Soft, Inc. User's Guide Manual Version 77015.19 at 2011/02/14 17:48:20 For suggestions regarding this manual contact: [email protected] Copyright © 2011 Rack-Soft. 4PSA is a registered trademark of Rack-Soft, Inc. All rights reserved. Distribution of this work or derivative of this work is prohibited unless prior written permission is obtained from the copyright holder. Plesk is a Registered Trademark of Parallels, Inc. Linux is a Registered Trademark of Linus Torvalds. RedHat is a Registered Trademark of Red Hat Software, Inc. FreeBSD is a Registered Trademark of FreeBSD, Inc. All other trademarks and copyrights are property of their respective owners. Table of Contents Preface ................................................................................................. 5 Who Should Read This Guide ....................................................................... 5 Chapter 1. The Administrator Module ....................................................... 6 1. Manage Tools for Domains ...................................................................... 7 Tools for a Domain ................................................................................ 7 Installing Tools on a Server ..................................................................... 8 Installation Report ..............................................................................
    [Show full text]
  • Ubuntu Server Guide Ubuntu Server Guide Copyright © 2010 Canonical Ltd
    Ubuntu Server Guide Ubuntu Server Guide Copyright © 2010 Canonical Ltd. and members of the Ubuntu Documentation Project3 Abstract Welcome to the Ubuntu Server Guide! It contains information on how to install and configure various server applications on your Ubuntu system to fit your needs. It is a step-by-step, task-oriented guide for configuring and customizing your system. Credits and License This document is maintained by the Ubuntu documentation team (https://wiki.ubuntu.com/DocumentationTeam). For a list of contributors, see the contributors page1 This document is made available under the Creative Commons ShareAlike 2.5 License (CC-BY-SA). You are free to modify, extend, and improve the Ubuntu documentation source code under the terms of this license. All derivative works must be released under this license. This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE AS DESCRIBED IN THE DISCLAIMER. A copy of the license is available here: Creative Commons ShareAlike License2. 3 https://launchpad.net/~ubuntu-core-doc 1 ../../libs/C/contributors.xml 2 /usr/share/ubuntu-docs/libs/C/ccbysa.xml Table of Contents 1. Introduction ........................................................................................................................... 1 1. Support .......................................................................................................................... 2 2. Installation ............................................................................................................................
    [Show full text]
  • Google Summer of Code Application 2010
    Google Summer of Code Application 2010 Project Idea: File Upload question type Abhinav Chittora Education : Graduation (B. Tech) 8th Semester Major : Information Technology College : Engineering College Bikaner Table of Contents: 1. Contact Information 2. Project Outline i. How we are going to upload files? ii. Where we are going to store uploaded files? iii. Configuration Options for Questions iv. Administer Roles? v. Data Entry/ Statistics/ Printable Survey/ Response Browsing/ Response Editing, how? vi. Third Party processing hooks? vii. Any thing else? 3. How will limesurvey benefit from the project? 4. Time line 5. Experience in Open Source development 6. Project related experience 7. Academic Experience 8. Why Limesurvey? 9. References & Important Links Contact Information: Name : Abhinav Chittora Email Id : bijolianabhi[at]gmail[dot]com IRC Nick : Abhinav1 IM & user id : Google Talk ( [email protected]) & Skype (bijolianabhi) Location : Bikaner ( India) Time Zone : IST (UTC + 05:30) Phone No. : +91 9460351625 Blog Address : http://experiencesoc.wordpress.com (Blog to show Google Summer of code Progress) Project Outline: Limesurvey, The Open Source Survey Application has been working in Open Source field since February 20, 2003. In its early days it was called PHPSurveyor. Limesurvey has proposed many idea for Google Summer of Code 2010. File Upload Question Type is one of them and I found myself capable to complete this project. File uploading is the main task that should be done carefully. Uploaded files should be stored at server according to survey. For this we have to note these points: - 1. How we are going to upload files? Ans: We can upload files using CakePHP with model and without model.
    [Show full text]
  • Manual for Internet-Based Surveys of Drug Treatment Facilities with the European Facility Survey Questionnaire
    Manual for internet-based surveys of drug treatment facilities with the European Facility Survey Questionnaire March 2017 Table of Contents: 1. Introduction .......................................................................................................................... 3 1.1. Selection and set up of the survey platform ................................................................... 3 1.2. Import and set up of the EFSQ questionnaire ................................................................ 4 1.3. Translation of the questionnaire .................................................................................... 4 1.4. Survey management ..................................................................................................... 4 1.5. Managing contacts and invitations ................................................................................. 5 1.6. Result management and exports ................................................................................... 6 2. Running the EFSQ in LimeSurvey© ...................................................................................... 7 2.1. Installation of LimeSurvey© ............................................................................................ 7 2.2. Import and set up of the questionnaire .......................................................................... 8 2.3. Translation of the questionnaire .................................................................................... 9 2.4. Survey management ..................................................................................................
    [Show full text]
  • Manual De Usuario De "Limesurvey"
    Este documento ha sido elaborado utilizando plenamente software libre Autor: Carlos Juan Martín Pérez Versión del documento 1.0: Julio de 2008 Versión del documento 1.1: Octubre de 2008 Versión del documento 1.2: Diciembre de 2008 Versión del documento 2.0: Enero de 2009 Base de datos y Sistema de Evaluación e Investigación SIRESCA Índice de contenido Preámbulo............................................................................................5 Capítulo I. Base de Datos.....................................................................7 I. Introducción............................................................................................8 I.1. Acceso inicial.......................................................................................9 I.2. Secciones del Sistema........................................................................10 I.2. Directorio...........................................................................................11 I.3. Datos generales.................................................................................12 I.4. Oferta académica...............................................................................16 I.5. Terminología......................................................................................18 I.6. Acceso para Miembros.......................................................................19 Capítulo II. Sistema de Evaluación e Investigación............................21 II. Introducción.........................................................................................22
    [Show full text]
  • CSE 361: Web Security CSRF, XSSI, SRI, and Sandboxing
    CSE 361: Web Security CSRF, XSSI, SRI, and Sandboxing Nick Nikiforakis CSRF (Sea Surf) 3 Regular Web site usage Behind the scenes https://acmebank.com <form method=“POST” target=https://acmebank.com/transfer> <input type=“text” name=“acct-to”> <input type=“text” name=“amount”> <input type=“submit”> </form> 123-456-789 $50 Transfer OK 4 Forcing browser to perform an action for the attacker http://kittenpics.org <form method="POST" action="https://acmebank.com/transfer" id="transfer"> Processing <input type="hidden" name="act-to" value="987-654-3210"> transaction <input type="hidden" name="amount" value="100000"> </form> <script> transfer.submit() </script> 5 Cross-Site Request Forgery (CSRF / "Sea Surf") • Web application does not ensure that state-changing request came from "within" the application itself • Attack works for GET ... • Image tag with src attribute: <img src="https://acmebank.com/transfer?to=attacker&amount=10000"> • Hidden iframes, css files, scripts, ... • and POST • create iframe (or pop-up window) • fill created viewport with prefilled form • submit form 6 CSRF Examples: digg.com (2006) • digg.com determines frontpage based on how many "diggs" a story gets • vulnerable against CSRF, could be used to digg an URL of the attacker's choosing • Guess which article made it to the front page... 7 CSRF Example: WordPress < 2.06 (2007) • WordPress theme editor was susceptible • WordPress themes are PHP files • Attacker could modify files when logged-in admin visited his page • arbitrary code execution on targeted page 8 CSRF Example: Gmail filters (2007) • Google Mail insufficiently protected against CSRF • Attacker could add mail filters • e.g., forward all emails to a certain address • According to a victim, this led to a domain takeover • Attacker adds redirect filter • Attacker request AUTH code for domain transfer • Voila • Actually, this incident occurred after the bug was fixed..
    [Show full text]
  • Customizable Online Questionnaire Framework
    Customizable Online Questionnaire Framework Deliverable 5.2 Project acronym: ACT Project full title: Communities of PrACTice for Accelerating Gender Equality and Institutional Change in Research and Innovation across Europe Type of action: Coordination and Support Action Duration: 1st May 2018 – 30th April 2021 (36 months) Contract number: Grant Agreement Number 788204 Programme: Horizon 2020 – Science with and for Society (SwafS-2017-1) Deliverable number: D5.2 Workpackage: WP5 WP lead partner: FUOC Other partners ADVANCE HE (formerly ECU), JOANNEUM involved: Dissemination level: Public Document version: 1 Authors: Jörg Müller, Ricard Solans, Julià Minguillón Due date: September 30, 2019 (M17) Submission date: September 30, 2019 (M17) This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 788204 ACT – D5.2 CUSTOMIZABLE ONLINE QUESTIONNAIRE FRAMEWORK OBJECTIVES OF THE DELIVERABLE This draft specification details the customisation tasks of LimeSurvey and data exchange procedures between LimeSurvey and GenPORT+ (GenPORT and the ACT Knowledge Sharing Hub). As a work-in-progress document, this draft is expected to evolve according to the discussions around the desired functionalities of such a tool. CONSORTIUM The ACT consortium consists of 17 partners: Fundació per a la Universitat Oberta de Catalunya (project coordinator, Spain), Portia (UK), NOTUS (Spain), Joanneum Research Forschungsgesellschaft MBH (Austria), Advance HE (formerly Equality Challenge Unit) (UK),
    [Show full text]
  • Request Entity Too Large the Requested Resource
    Request Entity Too Large The Requested Resource Chattier or coplanar, Manuel never reoccupied any xylophage! Viciously Numidia, Rudyard appeased stretcher and dollops bye-bye. Is Berchtold granophyric or sawdusty when stowaway some teffs impede brassily? What the entity too large to stack of any of these cookies are still an account Request Entity Too Large error was encountered while. Please enter a valid email address. How Apache Limit POST are set to accept Strictly local service Request? Select the site that you are hosting your web application under it. You signed in with another tab or window. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. With as much detail as possible. By following several subjects on this problem by internet, I make some changes on web. Did wind and solar exceed expected power delivery during Winter Storm Uri? Request Entity Too Large response. Another tab or the requested entity too long. How do you upload the files? Learn how you can get involved with the project. Implementations of the resource was unsuccessful because the request entity too large iis. How can I fix this bug? The resource requested is only capable of generating response entities which have content characteristics not specified in the accept headers sent in the request. For the best experience, update your browser to the latest version, or switch to another browser. Whats the way to go from one release to another in a production server keeping the data intact. My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
    [Show full text]
  • Flosscatalog.Pdf
    Free/Libre Open Source Software: a guide for SMEs Software catalog Report edition: 1.8 December 2007 released under CC license Attribution-Sharealike 2.5, http://creativecommons.org/licenses/by-sa/2.5. Report edited by : Carlo Daffara, email: [email protected] Document page: http://guide.conecta.it Created in the context of the FLOSSMETRICS and OpenTTT EU project; project websites: www.flossmetrics.eu www.openttt.eu Cover image by Sven Geier, http://www.sgeier.net/fractals/ page 1 Table of Contents Introduction................................................................................................................................................3 Infrastructural software..............................................................................................................................5 ERP/CRM................................................................................................................................................23 Groupware................................................................................................................................................35 Document management............................................................................................................................46 Content management systems..................................................................................................................50 VoIP, conferencing and messaging...........................................................................................................54 Graphics
    [Show full text]
  • A Preliminary Analysis of Localization in Free Software: How Translations Are Performed Laura Arjona Reina, Gregorio Robles, Jesús González-Barahona
    A Preliminary Analysis of Localization in Free Software: How Translations Are Performed Laura Arjona Reina, Gregorio Robles, Jesús González-Barahona To cite this version: Laura Arjona Reina, Gregorio Robles, Jesús González-Barahona. A Preliminary Analysis of Localiza- tion in Free Software: How Translations Are Performed. 9th Open Source Software (OSS), Jun 2013, Koper-Capodistria, Slovenia. pp.153-167, 10.1007/978-3-642-38928-3_11. hal-01467568 HAL Id: hal-01467568 https://hal.inria.fr/hal-01467568 Submitted on 14 Feb 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Distributed under a Creative Commons Attribution| 4.0 International License A preliminary analysis of localization in free software: how translations are performed Laura Arjona Reina1, Gregorio Robles2, and Jes´usM. Gonz´alez-Barahona2 1 Technical University of Madrid (UPM), Madrid (Spain) [email protected] 2 GSyC/Libresoft, Universidad Rey Juan Carlos, Madrid (Spain) {grex,jgb}@gsyc.urjc.es Abstract. Software is more than just source code. There is a myriad of elements that compose a software project, among others documentation, translations, multimedia, artwork, marketing. In this paper, we focus on the translation efforts that free, libre, open source software (FLOSS) projects undergo to provide their software in multiple languages.
    [Show full text]
  • Virtual Classroom Simulation
    Virtual Classroom Simulation: Design and Trial in a Preservice Teacher Education Program A thesis submitted by Simon Skrødal for the degree of Doctor of Philosophy School of Education, Faculty of the Professions The University of Adelaide June 2010 Supervisory Panel: Sivakumar Alagumalai, Michael. J. Lawson, Paul Calder and Andrew Wendelborn Appendix A. Software and Resources Below is a list of software, tools and resources used in the development, testing, data collection, analysis and reporting of this research. A.1. Operating Systems The final version of the VCS has been successfully tested on the following operating systems using the Java Runtime Environment and Java Development Kit, version 6. Microsoft Windows 2000 Used for development and testing. Microsoft Windows XP Tesed only, no development work. Microsoft Windows Vista Used for development and testing. Microsoft Windows 7 Tested only, no development work. Sabayon Linux Tested only, no development work. Ubuntu Linux Tested only, no development work. * An earlier version of the VCS was successfully tested on the Apple Mac OSX. The current version has, however, not been tested on this platform. 299 Appendix A. Software and Resources A.2. For Software Development A.2.1. Platforms Apache Derby (Java DB) An open source relational database implemented entirely in Java. Java DB is Sun Microsystem’s supported distribution of Apache Derby and is now included in the Java Development Kit. The VCS uses Apache Derby for data storage and retrieval. © 2004-2007 Apache Software Foundation. http://db.apache.org/derby/ http://developers.sun.com/javadb/ Java Technology The VCS was developed on the Java 2 Platform, Standard Edition (Java 2SE)1, using the Java programming language.
    [Show full text]