Saturday, 11 July 2020

Modernize a monolithic Node.js application into a microservices architecture using IBM Cloud Pak for Applications

From one of my IBM colleagues, we have this: -

This tutorial shows how to transform a traditional monolithic core banking application, which is implemented in Node.js, into a modern microservices architecture by using IBM Cloud Pak for Applications.

Cloud Pak for Applications speeds the development of applications that are built for Kubernetes by using agile DevOps processes. Running on Red Hat OpenShift, the Cloud Pak provides a hybrid, multicloud foundation that is built on open standards, enabling workloads and data to run anywhere. It integrates two main open source projects: Kabanero and Appsody.


Thursday, 9 July 2020

Wednesday, 8 July 2020

Encrypt Kubernetes secrets with IBM Cloud Hyper Protect Crypto Services

This was recently authored by a couple of my IBM colleagues: -

Encrypt Kubernetes secrets with IBM Cloud Hyper Protect Crypto Services

Create a secret in Kubernetes, create a root key in Hyper Protect Crypto Services, and enable KMS encryption in Kubernetes

This tutorial shows you how to encrypt your Kubernetes secrets using IBM Cloud Hyper Protect Crypto Services as the KMS provider. You'll learn how to create a secret in IBM Cloud Kubernetes, create a root key in Hyper Protect Crypto Services, and encrypt the secrets and etcd component of your Kubernetes master with the root key in your Hyper Protect Crypto Services instance.

Tuesday, 30 June 2020

Mockers ride again

I'm tinkering with Java at the moment, using Microsoft Visual Studio Code ( my "new" fave IDE-of-choice ), and am looking at mocking specific HTTP services and calls .....

To that end ....





Monday, 29 June 2020

Apple iMovie and the Ken Burns effect

PSA: If using iMovie to create ... movies from screen recordings taken using [cmd][shift][5] be aware of the auto-cropping, including the so-called Ken Burns effect

https://support.apple.com/kb/PH22923?locale=en_US&viewlocale=en_US

I ended up recording clips several times before I remembered that I'd seen, and solved, this before ....

I wanted a full-screen recording of Terminal ( because .... I live there ) and iMovie was trying to be extra-helpful ......

Tuesday, 16 June 2020

Building Kubernetes - Getting it to Go right ....

I'm currently building Kubernetes from source, on an Ubuntu box.

Having cloned the repo: -

mkdir -p $(go env GOPATH)/src/k8s.io
cd $(go env GOPATH)/src/k8s.io
git clone https://github.com/kubernetes/kubernetes.git
cd kubernetes


I was looking at a specific version of K8s - v1.16.2 : -

git checkout tags/v1.16.2

but, when I started to build any of the K8s binaries e.g. kubectl I saw this: -

make kubectl

cannot find module providing package k8s.io/kubernetes: unrecognized import path "k8s.io": parse https://k8s.io/?go-get=1: no go-import meta tags (meta tag k8s.io/ did not match import path k8s.io)
+++ [0616 01:06:04] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
go: finding module for package k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/deepcopy-gen
can't load package: package k8s.io/kubernetes/vendor/k8s.io/code-generator/cmd/deepcopy-gen: no matching versions for query "latest"
!!! [0616 01:06:07] Call tree:
!!! [0616 01:06:07]  1: /root/go/src/k8s.io/kubernetes/hack/lib/golang.sh:714 kube::golang::build_some_binaries(...)
!!! [0616 01:06:07]  2: /root/go/src/k8s.io/kubernetes/hack/lib/golang.sh:853 kube::golang::build_binaries_for_platform(...)
!!! [0616 01:06:07]  3: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [0616 01:06:07] Call tree:
!!! [0616 01:06:07]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
!!! [0616 01:06:07] Call tree:
!!! [0616 01:06:07]  1: hack/make-rules/build.sh:27 kube::golang::build_binaries(...)
Makefile.generated_files:200: recipe for target '_output/bin/deepcopy-gen' failed
make[1]: *** [_output/bin/deepcopy-gen] Error 1
Makefile:559: recipe for target 'generated_files' failed
make: *** [generated_files] Error 2


This led me here: -

can't load package: package k8s.io/kubernetes: cannot find module providing package k8s.io/kubernetes #84224

and here: -

switch build scripts to use go modules, stop requiring $GOPATH #82531

and made me realise that I had a disparity between the version of Go I was using: -

go version

go version go1.14.3 linux/amd64

and the version of K8s itself.

In other words, I was trying to build K8s 1.16.2 using Go 1.14.3

Thankfully, the K8s repo has the answer: -



Once I realised this, and switched back to the main branch of K8s, which is the latest 

Cloning into 'kubernetes'...
remote: Enumerating objects: 229, done.
remote: Counting objects: 100% (229/229), done.
remote: Compressing objects: 100% (136/136), done.
remote: Total 1118551 (delta 115), reused 95 (delta 93), pack-reused 1118322
Receiving objects: 100% (1118551/1118551), 688.00 MiB | 25.10 MiB/s, done.
Resolving deltas: 100% (800101/800101), done.
Updating files: 100% (22439/22439), done.


cd kubernetes/
git branch

* master

all was good

make kubectl

+++ [0616 01:15:05] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/prerelease-lifecycle-gen
+++ [0616 01:15:15] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
+++ [0616 01:15:31] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/defaulter-gen
+++ [0616 01:15:45] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/conversion-gen
+++ [0616 01:16:08] Building go targets for linux/amd64:
    ./vendor/k8s.io/kube-openapi/cmd/openapi-gen
+++ [0616 01:16:27] Building go targets for linux/amd64:
    ./vendor/github.com/go-bindata/go-bindata/go-bindata
+++ [0616 01:16:30] Building go targets for linux/amd64:
    cmd/kubectl


Friday, 5 June 2020

Demo: Z DevOps using Git and Jenkins pipeline - 17 June 2020

The objective of this session is to demonstrate  the power of collaborative development and delivery enabled by the IBM Z for DevOps  solutions. Application teams can learn how they can  modernize their application portfolio using  modern technology and tools. We will focus on code and build, automate unit testing and deploy. Production teams can learn how they can extend and automate their existing build and deployment solutions for enterprise applications.
 
This session will demonstrate how IBM Z DevOps and open source tools like Git and Jenkins, progress the continuous integration, continuous testing and continuous delivery in the z/OS operating environment.
 
Our scenario consists of a "broken" COBOL/CICS/DB2 application. The developer will use IBM DevOps tools to locate and identify the faulty code, make the appropriate fixes and compile/link/bind using a new build automation tool (DBB) that integrates with Git and Jenkins pipeline on z/OS. Once the code is fixed, the developer will push the changes to a Git repository.

In order to demonstrate continuous delivery capabilities, this session will showcase a Jenkins pipeline integrated with IBM tools for the build process, unit testing(using the new zUnit functionality), and deployment of code to a CICS environment (using UrbanCode Deploy).
While our scenario uses a COBOL/CICS/DB2 program as an example, the process is similar to other environments or languages (such as Batch, IMS, or PL/1

Modernize a monolithic Node.js application into a microservices architecture using IBM Cloud Pak for Applications

From one of my IBM colleagues, we have this: - This tutorial shows how to transform a traditional monolithic core banking application, which...