SlideShare a Scribd company logo
1 of 94
Download to read offline
Author: Developer Support Team-Luoyangyang 00525118
(DTSE of Huawei Cloud)
Instructor: Jirayut Nimsaeng
HUAWEI CONNECT 2022 Bangkok: Hands-on Lab
September 21, 2022
Introduction of
CCE and DevCloud
https://bit.ly/opsta-huawei-hol-devcloud-cce-2022
Introduction of CCE and DevCloud
Instructor
Jirayut Nimsaeng (Dear)
Jirayut has been involved in DevSecOps, Container, Cloud Technology
and Open Source for over 10 years. He has experienced and
succeeded in transforming several companies to deliver greater
values and be more agile.
● He is Founder and CEO of Opsta (Thailand) Co.,Ltd.
● He is Cloud/DevSecOps Transformation Consultant and
Solution Architecture
● He is the first Certified Kubernetes Administrator (CKA) and
Certified Kubernetes Security Specialist (CKS) in Thailand
Introduction of CCE and DevCloud
Agenda
● Docker, Kubernetes and CCE
● Code repository and CI/CD
● DevCloud
● Workshop
Introduction of CCE and DevCloud
Prerequisite
Introduction of CCE and DevCloud
Prerequisite
1. https://bit.ly/opsta-huawei-hol-devcloud-cce-2022
2. Register Huawei Cloud Account
3. Activate Coupon
4. Apply Huawei Cloud Developer Forum
Introduction of CCE and DevCloud
Step to Become a Member of Huawei Cloud Developer Forum
1. Log in with your Huawei Cloud account and go
to the Huawei Cloud Developer Forum.
2. Agree to the Developer Forum Privacy Notice and Terms.
3. And then, begin to browse, write posts and reply in the Forum.
Introduction of CCE and DevCloud
Introduction
Introduction of CCE and DevCloud
What is Docker?
● Docker is a software platform.
● It supports rapid construction, test and deployment of application.
● Docker packages software into standardized units called Container, which
have all the features needed to run the software, including libraries, system
tools, code and runtime.
● With Docker, people can quickly deploy and scale applications upon any
environment.
● Docker containers are virtualized at the operating system level, with
resource isolation (CPU, memory, disk space) and isolation of process,
network and user id through Linux's cgroup and namespace, respectively.
Introduction of CCE and DevCloud
What is Docker?
Introduction of CCE and DevCloud
What is Kubernetes?
● Kubernetes, originated from google, is an open source system for scheduling
and orchestration of containerized applications.
● For application developers, kubernetes can be regarded as a cluster
operating system.
● Kubernetes provides functions such as service discovery, scaling, load
balancing, self-healing, and even leader election, freeing developers from
infrastructure-related configurations.
● When using Kubernetes, it's like you run a large number of servers as one on
which your applications run. Regardless of the number of servers in a
Kubernetes cluster, the method for deploying applications in Kubernetes is
always the same.
Introduction of CCE and DevCloud
What is Kubernetes?
Introduction of CCE and DevCloud
What is Cloud Container Engine(CCE)?
● CCE provides highly scalable, high-performance, enterprise-class Kubernetes
clusters and supports Docker containers. With CCE, you can easily deploy,
manage, and scale containerized applications in the cloud.
● It supports heterogeneous computing architectures such as GPU, NPU, and Arm.
Supporting multi-AZ and multi-region disaster recovery, CCE ensures high
availability of Kubernetes clusters.
● Huawei Cloud is one of world's first Kubernetes Certified Service Providers
(KCSPs) and China's first participant in the Kubernetes community.
● Huawei Cloud is also a founder and platinum member of Cloud Native
Computing Foundation (CNCF).
● CCE is one of the world's container services to first pass the Certified Kubernetes
Conformance Program.
Introduction of CCE and DevCloud
What is Cloud Container Engine(CCE)?
Introduction of CCE and DevCloud
What is Code repository?
● Code repository is an archive of code, documents, web pages, notes etc.
● Code repository supports committing of code, code rollback, code merge
and many other code version control functions.
● Code repository (private or public) is the must tool for any business
successful software project.
● Normally, using git as the basic command tool.
● Huawei Cloud provides a git-based online code repository, CodeHub, which
is a component of DevCloud.
Introduction of CCE and DevCloud
What is Code repository?
Introduction of CCE and DevCloud
What is CI/CD?
● CI is the short for Continuous Integration, which means continuously
integrate any changes of the software into the main branch
● CD is the short for Continuous Delivery, which means reliable software can be
released at any time with simple and repeatable deployment.
● Pipeline integrates the CI and CD process, providing visualized, customizable
automatic delivery to shorten the delivery period and improve efficiency.
● Huawei Cloud’s product CloudPipeline provides a visualized and automated
task scheduling platform, which is one of DevCloud components.
Introduction of CCE and DevCloud
What is DevCloud?
● DevCloud is a one-stop, cloud-based DevOps platform that provides a bundle
of out-of-the-box cloud services covering requirement delivery, code commit,
code build, verification, deployment, and release.
● DevCloud consists of ProjectMan, CodeHub, CloudPipeline, CloudBuild,
CloudDeploy and CloudRelease.
● ProjectMan provides agile project management and collaboration, supports
management of sprints, milestones, and requirements across projects, tracks
bugs, and provides multi-dimensional statistics reports.
Introduction of CCE and DevCloud
What is DevCloud?
● CloudBuild provides an easy-to-use hybrid language build platform to implement
cloud-based build, and supports continuous and efficient delivery.
● With CloudBuild, you can create, configure, and run build tasks with a few clicks.
CloudBuild also supports automation of code retrieval, build, and packaging, as well as
real-time status monitoring.
● CloudDeploy provides visualized, one-click deployment. It supports deployment on VMs
or containers by using Tomcat, Spring Boot, and other templates or by flexibly
orchestrating atomic actions.
● CloudDeploy also supports parallel deployment and seamless integration with
CloudPipeline, providing standard deployment environments and implementing automatic
deployment.
● CloudRelease helps software development teams manage the software release process in
a standardized, visualized, and traceable way
Introduction of CCE and DevCloud
What is DevCloud?
Introduction of CCE and DevCloud
Workshop
Introduction of CCE and DevCloud
Summary Steps
1. Prepare before DevCloud
1.1. Register Huawei Cloud Account
1.2. Activate Coupon
1.3. Apply Huawei Cloud Developer
Forum
1.4. Change to AP-Singapore Region
1.5. Create VPC
1.6. Create CCE Cluster
1.7. Create SWR Organization
1.8. Buy DevCloud
1.9. Create DevCloud Project
2. DevCloud CI/CD
2.1. Create CodeHub Repository
a. Put Dockerfile
b. Put K8s deployment file
2.2. Create CloudBuild prebuild step
2.3. Create CloudBuild build step
2.4. Create CloudDeploy to K8s
2.5. Create & Run CloudPipeline
2.6. Create Service for deployment
2.7. Test Result
Introduction of CCE and DevCloud
Workshop 1
Prepare before
DevCloud
Introduction of CCE and DevCloud
1.5 Create VPC
Basic Information
● Name: vpc-cce
● IPv4 CIDR Block:
Select 192.168.0.0/16-24
Default Subnet
● Name: subnet–cce
Introduction of CCE and DevCloud
1.6.1 Create CCE: Configure
● Billing Mode: Pay-per-use
● Cluster Name: cce-devcloud
● Number of master nodes: 1
● I already know the following constraints: checked
● VPC: vpc-cce(192.168.0.0/16)
● Subnet: subnet-cce(1923.168.0.0/24)
● Network Model: Tunnel network
● Container Network Segment: Automatically select
Introduction of CCE and DevCloud
1.6.2 Create Node
● Specifications: c6s.xlarge.2
● EIP: Automatically assign
● Bandwidth: 3
● Password: [YOUR_SECURE_PASSWORD]
Introduction of CCE and DevCloud
1.6.3 Confirm
● I am aware of the above limitation: checked
Introduction of CCE and DevCloud
1.7 Create SWR Organization
● Organization Name: [YOUR_UNIQUE_ORG_NAME]
Introduction of CCE and DevCloud
1.8.1 Buy DevCloud: Try for free
Introduction of CCE and DevCloud
1.8.2 Buy DevCloud
● All Default
Introduction of CCE and DevCloud
1.8.3 Buy DevCloud: Pay
● All Default
Introduction of CCE and DevCloud
1.8.4 Buy DevCloud: Pay
Introduction of CCE and DevCloud
1.9 Create DevCloud Project
● Project Template: Scrum
● Project Name: Spring Web
● Project Code: spring_web
Introduction of CCE and DevCloud
Workshop 2
DevCloud CI/CD
Introduction of CCE and DevCloud
2.1.1 Create CodeHub Repository
1. Go to Code > CodeHub
2. Click on arrow next to Create Directly >
Use Template
Introduction of CCE and DevCloud
2.1.2 Create CodeHub Repository
1. Search for Java Web Demo and select it
2. Click Next
3. Repository Name: spring_web
Introduction of CCE and DevCloud
2.1.3 Create CodeHub Repository: Result
Introduction of CCE and DevCloud
2.1.4 Create Dockerfile
1. Go to your spring_web repository
2. Click on plus sign next to spring_web repository name > Create File
Introduction of CCE and DevCloud
2.1.5 Dockerfile Content
# This is the jdk base image in the SWR devcloud_test_luoyangyang repository
# The image would be uploaded to the destination by following later CloudBuild step
FROM swr.ap-southeast-3.myhuaweicloud.com/[YOUR_UNIQUE_ORG_NAME]/java:openjdk-8-jdk-alpine
# Copy the jar to the docker container inside
# The jar would be created by following later CloudBuild step
COPY ./target/demoapp.jar demoapp.jar
# Run the java -jar demoapp.jar command when the image instanced was created
ENTRYPOINT ["java", "-jar", "demoapp.jar"]
Introduction of CCE and DevCloud
2.1.6 Commit Dockerfile
● Create File: Dockerfile
● Put the content of Dockerfile
Introduction of CCE and DevCloud
2.1.7 devcloud-demo-deployment.yaml Content
kind: Deployment
apiVersion: apps/v1
metadata:
name: devcloud-demo
namespace: default
labels:
appgroup: ''
# Use the pipeline parameter versionTag, which would be explained in later CloudPipeline step
version: {{versionTag}}
spec:
# The number of replicas of the pod
replicas: 1
selector:
matchLabels:
app: devcloud-demo
template:
metadata:
creationTimestamp: null
labels:
app: devcloud-demo
annotations:
metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]'
spec:
containers:
- name: container-0
image: 'swr.ap-southeast-3.myhuaweicloud.com/[YOUR_UNIQUE_ORG_NAME]/spring_web:{{versionTag}}'
resources:
requests:
cpu: 250m
memory: 512Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
imagePullSecrets:
- name: default-secret
affinity: {}
schedulerName: default-scheduler
tolerations:
- key: node.kubernetes.io/not-ready
operator: Exists
effect: NoExecute
tolerationSeconds: 300
- key: node.kubernetes.io/unreachable
operator: Exists
effect: NoExecute
tolerationSeconds: 300
dnsConfig:
options:
- name: timeout
value: ''
- name: ndots
value: '5'
- name: single-request-reopen
strategy:
type: Recreate
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
Introduction of CCE and DevCloud
2.2 Create CloudBuild
Introduction of CCE and DevCloud
2.2.1 Create CloudBuild: prebuild
Introduction of CCE and DevCloud
2.2.2 CloudBuild prebuild: Add Parameters
● Docker Organization Name
○ Parameter Name: dockerOrg
○ Parameter Value: [YOUR_UNIQUE_ORG_NAME]
Introduction of CCE and DevCloud
2.2.3 Create CloudBuild: prebuild
Result
Introduction of CCE and DevCloud
2.2.4 CloudBuild prebuild: Edit Shell
echo 'hello'
# Create a file named Dockerfile-java
echo 'FROM java:openjdk-8-jdk-alpine' > Dockerfile-java
Introduction of CCE and DevCloud
2.2.5 CloudBuild prebuild: Edit Build Image
● Organization: ${dockerOrg}
● Image Name: java
● Image Tag: openjdk-8-jdk-alpine
● Dockerfile Path: ./Dockerfile-java
Introduction of CCE and DevCloud
2.2.6 CloudBuild prebuild: Add Parameters
● Task Name: spring_web-prebuild
● Create
Introduction of CCE and DevCloud
2.2.7 CloudBuild prebuild: Run
Introduction of CCE and DevCloud
2.2.4 CloudBuild prebuild: Run Log
Introduction of CCE and DevCloud
2.3.1 CloudBuild build: Build Image
● Docker Organization Name
○ Parameter Name: dockerOrg
○ Parameter Value: [YOUR_UNIQUE_ORG_NAME]
● Version Tag
○ Parameter Name: versionTag
○ Parameter Value: v1.1
1. Create Task CloudBuild
2. Choose spring_web repository
3. Choose Blank Template
Introduction of CCE and DevCloud
2.3.2 CloudBuild build: Add Actions
Introduction of CCE and DevCloud
2.3.3 CloudBuild build: Build Image
● Organization: ${dockerOrg}
● Image Name: spring_web
● Image Tag: ${versionTag}
Introduction of CCE and DevCloud
2.3.4 CloudBuild build: Build Image
● Build Package Directory: *.yaml
● Release Version: yaml
● Package Name: spring_web
Introduction of CCE and DevCloud
2.3.5 CloudBuild build: Build Image
● Task Name: spring_web-build
● Create
Introduction of CCE and DevCloud
2.3.6 CloudBuild build: Run Parameter
Introduction of CCE and DevCloud
2.3.7 Check result in CloudArtifact
Introduction of CCE and DevCloud
2.3.8 Check result in SWR
Introduction of CCE and DevCloud
2.4.1 CloudDeploy: Create Task
Introduction of CCE and DevCloud
2.4.2 CloudDeploy: Create Task
Introduction of CCE and DevCloud
2.4.3 CloudDeploy: Edit Deploy Configure
● Cluster Type: CCE Cluster
● Cluster Name: cce-devcloud
● Namespace Name: default
● Deployment YML File or Folder:
/devcloud-demo/yaml/devcloud-demo.yaml
Introduction of CCE and DevCloud
2.4.4 CloudDeploy: Task Parameter
● Version Tag
○ Parameter Name: versionTag
○ Parameter Value: v1.1
Introduction of CCE and DevCloud
2.4.5 CloudDeploy: Basic Information
● Parameter Value: deploy-cce
Introduction of CCE and DevCloud
2.5.1 CloudPipeline: Create Pipeline
Introduction of CCE and DevCloud
2.5.2 CloudPipeline: Choose Repository
Introduction of CCE and DevCloud
2.5.3 CloudPipeline: Blank Template
Introduction of CCE and DevCloud
2.5.4 CloudPipeline: Add Parameter
● Version Tag
○ Parameter Name: versionTag
○ Parameter Value: v1.1
Introduction of CCE and DevCloud
2.5.5 CloudPipeline: Edit Build Stage
● Name: Build
● Task Execution: Serial
Introduction of CCE and DevCloud
2.5.6 CloudPipeline: Add Prebuild Task
● Name: Prebuild
● Select Task: spring_web-prebuild
● Repository: spring_web
Introduction of CCE and DevCloud
2.5.7 CloudPipeline: Add CloudBuild Task
● Name: CloudBuild
● Select Task: spring_web-build
● Repository: spring_web
● VersionTag: ${versionTag}
Introduction of CCE and DevCloud
2.5.8 CloudPipeline: Add Deploy Stage
● Name: Deploy
● Task Execution: Serial
Introduction of CCE and DevCloud
2.5.9 CloudPipeline: Add CloudDeploy Task
● Type: Deployment
● Name: CloudDeploy
● Select Task: deploy-cce
● VersionTag: ${versionTag}
Introduction of CCE and DevCloud
2.5.10 CloudPipeline: Edit Name
● Name: pipeline-cce
Introduction of CCE and DevCloud
2.5.11 CloudPipeline: Execute CloudPipeline
Introduction of CCE and DevCloud
2.6.1 Check CCE Deployment Status
Introduction of CCE and DevCloud
2.6.2 Create Service for Pod
Introduction of CCE and DevCloud
2.6.3 Create Service for Pod
● Access Type: NodePort
● Container Port: 8080
Introduction of CCE and DevCloud
2.6.4 Access to Web
Introduction of CCE and DevCloud
2.6.5 Web Result
Introduction of CCE and DevCloud
Destroy Resources
Introduction of CCE and DevCloud
Destroy Steps
3.1. Unsubscribe DevCloud
3.2. Delete CCE Cluster
3.3. Delete all SWR Image
3.4. Delete SWR Organization
Introduction of CCE and DevCloud
3.1.1 Unsubscribe DevCloud
Introduction of CCE and DevCloud
3.1.2 Unsubscribe DevCloud
Introduction of CCE and DevCloud
3.1.3 Unsubscribe DevCloud
Introduction of CCE and DevCloud
3.1.4 Unsubscribe DevCloud
Introduction of CCE and DevCloud
3.2.1 Delete CCE Cluster
Introduction of CCE and DevCloud
3.2.2 Delete CCE Cluster
Introduction of CCE and DevCloud
3.3.1 Delete All SWR Image
Introduction of CCE and DevCloud
3.3.2 Delete All SWR Image
Introduction of CCE and DevCloud
3.4.1 Delete SWR Org
Introduction of CCE and DevCloud
3.4.2 Delete SWR Org
Introduction of CCE and DevCloud
3.4.3 Delete SWR Org
Introduction of CCE and DevCloud
Wrap Up
Introduction of CCE and DevCloud
DevSecOps Platform on Huawei Cloud
CodeHub
SWR
CloudBuild
*CloudTest
Cloud
Deploy
Monitoring
Automation &
Infrastructure as Code
Automation Security
Apps
dev uat prd
CCE
ProjectMan
DevCloud
AOM
Log Tank
Service
APM
CGS KMS
*CodeCheck
*CloudIDE
DEW
Cloud
Pipeline
Load Testing
CPTS
Introduction of CCE and DevCloud
Contact Us
jirayut@opsta.co.th
Jirayut Nimsaeng
CEO & Founder
Opsta (Thailand)
086-069-4042
Facebook

More Related Content

What's hot

Kubernetes
KubernetesKubernetes
Kuberneteserialc_w
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes ArchitectureKnoldus Inc.
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
Deploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOpsDeploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOpsOpsta
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introductionSparkbit
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Hao H. Zhang
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Ryan Jarvinen
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopBob Killen
 
Building CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and KubernetesBuilding CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and KubernetesJanakiram MSV
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes IntroductionPeng Xiao
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesQAware GmbH
 

What's hot (20)

Kubernetes
KubernetesKubernetes
Kubernetes
 
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOpsMeetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOps
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Deploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOpsDeploy 22 microservices from scratch in 30 mins with GitOps
Deploy 22 microservices from scratch in 30 mins with GitOps
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
GitOps w/argocd
GitOps w/argocdGitOps w/argocd
GitOps w/argocd
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17Hands-On Introduction to Kubernetes at LISA17
Hands-On Introduction to Kubernetes at LISA17
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Introduction to helm
Introduction to helmIntroduction to helm
Introduction to helm
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Building CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and KubernetesBuilding CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and Kubernetes
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Best Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes ServicesBest Practices with Azure Kubernetes Services
Best Practices with Azure Kubernetes Services
 

Similar to Introduction of CCE and DevCloud

[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson LinHanLing Shen
 
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptxMuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptxShiva Sahu
 
Using Docker EE in a CI/CD Workflow
Using Docker EE in a CI/CD WorkflowUsing Docker EE in a CI/CD Workflow
Using Docker EE in a CI/CD WorkflowAshnikbiz
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017Takayoshi Tanaka
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in DockerDocker, Inc.
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker, Inc.
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewChris Ciborowski
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1Sujay Pillai
 
How to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei CloudHow to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei CloudOpsta
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesHelder Klemp
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for RealistsOracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realistsKarthik Gaekwad
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101Naukri.com
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker, Inc.
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with dockerLalatendu Mohanty
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 

Similar to Introduction of CCE and DevCloud (20)

[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptxMuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
 
Using Docker EE in a CI/CD Workflow
Using Docker EE in a CI/CD WorkflowUsing Docker EE in a CI/CD Workflow
Using Docker EE in a CI/CD Workflow
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
My kubernetes toolkit
My kubernetes toolkitMy kubernetes toolkit
My kubernetes toolkit
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in Docker
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
DockerPenang Meetup#1
DockerPenang Meetup#1DockerPenang Meetup#1
DockerPenang Meetup#1
 
How to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei CloudHow to build DevSecOps Platform on Huawei Cloud
How to build DevSecOps Platform on Huawei Cloud
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 

More from Opsta

Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with BackstageOpsta
 
Kubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with DemoKubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with DemoOpsta
 
Make a better DevOps with GitOps
Make a better DevOps with GitOpsMake a better DevOps with GitOps
Make a better DevOps with GitOpsOpsta
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform EngineeringOpsta
 
Manage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCDManage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCDOpsta
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOpsOpsta
 
How we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesHow we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesOpsta
 
Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseOpsta
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demoOpsta
 
Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKEOpsta
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud PlatformOpsta
 
Managing traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshopManaging traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshopOpsta
 
How to pass the Google Certification Exams
How to pass the Google Certification ExamsHow to pass the Google Certification Exams
How to pass the Google Certification ExamsOpsta
 
How to Become DevOps
How to Become DevOpsHow to Become DevOps
How to Become DevOpsOpsta
 
DevOps: The Future of Software Development
DevOps: The Future of Software DevelopmentDevOps: The Future of Software Development
DevOps: The Future of Software DevelopmentOpsta
 
Real World CI/CD with Kubernetes
Real World CI/CD with KubernetesReal World CI/CD with Kubernetes
Real World CI/CD with KubernetesOpsta
 
Journey of Kubernetes Scaling
Journey of Kubernetes ScalingJourney of Kubernetes Scaling
Journey of Kubernetes ScalingOpsta
 
DevOps Transformation in Technical
DevOps Transformation in TechnicalDevOps Transformation in Technical
DevOps Transformation in TechnicalOpsta
 
Performance Testing with Tsung
Performance Testing with TsungPerformance Testing with Tsung
Performance Testing with TsungOpsta
 
What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)Opsta
 

More from Opsta (20)

Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Kubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with DemoKubernetes Secrets Management on Production with Demo
Kubernetes Secrets Management on Production with Demo
 
Make a better DevOps with GitOps
Make a better DevOps with GitOpsMake a better DevOps with GitOps
Make a better DevOps with GitOps
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
 
Manage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCDManage Kubernetes Clusters with Cluster API and ArgoCD
Manage Kubernetes Clusters with Cluster API and ArgoCD
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOps
 
How we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on KubernetesHow we can do Multi-Tenancy on Kubernetes
How we can do Multi-Tenancy on Kubernetes
 
Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for Enterprise
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demo
 
Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKE
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Managing traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshopManaging traffic routing with istio and envoy workshop
Managing traffic routing with istio and envoy workshop
 
How to pass the Google Certification Exams
How to pass the Google Certification ExamsHow to pass the Google Certification Exams
How to pass the Google Certification Exams
 
How to Become DevOps
How to Become DevOpsHow to Become DevOps
How to Become DevOps
 
DevOps: The Future of Software Development
DevOps: The Future of Software DevelopmentDevOps: The Future of Software Development
DevOps: The Future of Software Development
 
Real World CI/CD with Kubernetes
Real World CI/CD with KubernetesReal World CI/CD with Kubernetes
Real World CI/CD with Kubernetes
 
Journey of Kubernetes Scaling
Journey of Kubernetes ScalingJourney of Kubernetes Scaling
Journey of Kubernetes Scaling
 
DevOps Transformation in Technical
DevOps Transformation in TechnicalDevOps Transformation in Technical
DevOps Transformation in Technical
 
Performance Testing with Tsung
Performance Testing with TsungPerformance Testing with Tsung
Performance Testing with Tsung
 
What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Introduction of CCE and DevCloud

  • 1. Author: Developer Support Team-Luoyangyang 00525118 (DTSE of Huawei Cloud) Instructor: Jirayut Nimsaeng HUAWEI CONNECT 2022 Bangkok: Hands-on Lab September 21, 2022 Introduction of CCE and DevCloud https://bit.ly/opsta-huawei-hol-devcloud-cce-2022
  • 2. Introduction of CCE and DevCloud Instructor Jirayut Nimsaeng (Dear) Jirayut has been involved in DevSecOps, Container, Cloud Technology and Open Source for over 10 years. He has experienced and succeeded in transforming several companies to deliver greater values and be more agile. ● He is Founder and CEO of Opsta (Thailand) Co.,Ltd. ● He is Cloud/DevSecOps Transformation Consultant and Solution Architecture ● He is the first Certified Kubernetes Administrator (CKA) and Certified Kubernetes Security Specialist (CKS) in Thailand
  • 3. Introduction of CCE and DevCloud Agenda ● Docker, Kubernetes and CCE ● Code repository and CI/CD ● DevCloud ● Workshop
  • 4. Introduction of CCE and DevCloud Prerequisite
  • 5. Introduction of CCE and DevCloud Prerequisite 1. https://bit.ly/opsta-huawei-hol-devcloud-cce-2022 2. Register Huawei Cloud Account 3. Activate Coupon 4. Apply Huawei Cloud Developer Forum
  • 6. Introduction of CCE and DevCloud Step to Become a Member of Huawei Cloud Developer Forum 1. Log in with your Huawei Cloud account and go to the Huawei Cloud Developer Forum. 2. Agree to the Developer Forum Privacy Notice and Terms. 3. And then, begin to browse, write posts and reply in the Forum.
  • 7. Introduction of CCE and DevCloud Introduction
  • 8. Introduction of CCE and DevCloud What is Docker? ● Docker is a software platform. ● It supports rapid construction, test and deployment of application. ● Docker packages software into standardized units called Container, which have all the features needed to run the software, including libraries, system tools, code and runtime. ● With Docker, people can quickly deploy and scale applications upon any environment. ● Docker containers are virtualized at the operating system level, with resource isolation (CPU, memory, disk space) and isolation of process, network and user id through Linux's cgroup and namespace, respectively.
  • 9. Introduction of CCE and DevCloud What is Docker?
  • 10. Introduction of CCE and DevCloud What is Kubernetes? ● Kubernetes, originated from google, is an open source system for scheduling and orchestration of containerized applications. ● For application developers, kubernetes can be regarded as a cluster operating system. ● Kubernetes provides functions such as service discovery, scaling, load balancing, self-healing, and even leader election, freeing developers from infrastructure-related configurations. ● When using Kubernetes, it's like you run a large number of servers as one on which your applications run. Regardless of the number of servers in a Kubernetes cluster, the method for deploying applications in Kubernetes is always the same.
  • 11. Introduction of CCE and DevCloud What is Kubernetes?
  • 12. Introduction of CCE and DevCloud What is Cloud Container Engine(CCE)? ● CCE provides highly scalable, high-performance, enterprise-class Kubernetes clusters and supports Docker containers. With CCE, you can easily deploy, manage, and scale containerized applications in the cloud. ● It supports heterogeneous computing architectures such as GPU, NPU, and Arm. Supporting multi-AZ and multi-region disaster recovery, CCE ensures high availability of Kubernetes clusters. ● Huawei Cloud is one of world's first Kubernetes Certified Service Providers (KCSPs) and China's first participant in the Kubernetes community. ● Huawei Cloud is also a founder and platinum member of Cloud Native Computing Foundation (CNCF). ● CCE is one of the world's container services to first pass the Certified Kubernetes Conformance Program.
  • 13. Introduction of CCE and DevCloud What is Cloud Container Engine(CCE)?
  • 14. Introduction of CCE and DevCloud What is Code repository? ● Code repository is an archive of code, documents, web pages, notes etc. ● Code repository supports committing of code, code rollback, code merge and many other code version control functions. ● Code repository (private or public) is the must tool for any business successful software project. ● Normally, using git as the basic command tool. ● Huawei Cloud provides a git-based online code repository, CodeHub, which is a component of DevCloud.
  • 15. Introduction of CCE and DevCloud What is Code repository?
  • 16. Introduction of CCE and DevCloud What is CI/CD? ● CI is the short for Continuous Integration, which means continuously integrate any changes of the software into the main branch ● CD is the short for Continuous Delivery, which means reliable software can be released at any time with simple and repeatable deployment. ● Pipeline integrates the CI and CD process, providing visualized, customizable automatic delivery to shorten the delivery period and improve efficiency. ● Huawei Cloud’s product CloudPipeline provides a visualized and automated task scheduling platform, which is one of DevCloud components.
  • 17. Introduction of CCE and DevCloud What is DevCloud? ● DevCloud is a one-stop, cloud-based DevOps platform that provides a bundle of out-of-the-box cloud services covering requirement delivery, code commit, code build, verification, deployment, and release. ● DevCloud consists of ProjectMan, CodeHub, CloudPipeline, CloudBuild, CloudDeploy and CloudRelease. ● ProjectMan provides agile project management and collaboration, supports management of sprints, milestones, and requirements across projects, tracks bugs, and provides multi-dimensional statistics reports.
  • 18. Introduction of CCE and DevCloud What is DevCloud? ● CloudBuild provides an easy-to-use hybrid language build platform to implement cloud-based build, and supports continuous and efficient delivery. ● With CloudBuild, you can create, configure, and run build tasks with a few clicks. CloudBuild also supports automation of code retrieval, build, and packaging, as well as real-time status monitoring. ● CloudDeploy provides visualized, one-click deployment. It supports deployment on VMs or containers by using Tomcat, Spring Boot, and other templates or by flexibly orchestrating atomic actions. ● CloudDeploy also supports parallel deployment and seamless integration with CloudPipeline, providing standard deployment environments and implementing automatic deployment. ● CloudRelease helps software development teams manage the software release process in a standardized, visualized, and traceable way
  • 19. Introduction of CCE and DevCloud What is DevCloud?
  • 20. Introduction of CCE and DevCloud Workshop
  • 21. Introduction of CCE and DevCloud Summary Steps 1. Prepare before DevCloud 1.1. Register Huawei Cloud Account 1.2. Activate Coupon 1.3. Apply Huawei Cloud Developer Forum 1.4. Change to AP-Singapore Region 1.5. Create VPC 1.6. Create CCE Cluster 1.7. Create SWR Organization 1.8. Buy DevCloud 1.9. Create DevCloud Project 2. DevCloud CI/CD 2.1. Create CodeHub Repository a. Put Dockerfile b. Put K8s deployment file 2.2. Create CloudBuild prebuild step 2.3. Create CloudBuild build step 2.4. Create CloudDeploy to K8s 2.5. Create & Run CloudPipeline 2.6. Create Service for deployment 2.7. Test Result
  • 22. Introduction of CCE and DevCloud Workshop 1 Prepare before DevCloud
  • 23. Introduction of CCE and DevCloud 1.5 Create VPC Basic Information ● Name: vpc-cce ● IPv4 CIDR Block: Select 192.168.0.0/16-24 Default Subnet ● Name: subnet–cce
  • 24. Introduction of CCE and DevCloud 1.6.1 Create CCE: Configure ● Billing Mode: Pay-per-use ● Cluster Name: cce-devcloud ● Number of master nodes: 1 ● I already know the following constraints: checked ● VPC: vpc-cce(192.168.0.0/16) ● Subnet: subnet-cce(1923.168.0.0/24) ● Network Model: Tunnel network ● Container Network Segment: Automatically select
  • 25. Introduction of CCE and DevCloud 1.6.2 Create Node ● Specifications: c6s.xlarge.2 ● EIP: Automatically assign ● Bandwidth: 3 ● Password: [YOUR_SECURE_PASSWORD]
  • 26. Introduction of CCE and DevCloud 1.6.3 Confirm ● I am aware of the above limitation: checked
  • 27. Introduction of CCE and DevCloud 1.7 Create SWR Organization ● Organization Name: [YOUR_UNIQUE_ORG_NAME]
  • 28. Introduction of CCE and DevCloud 1.8.1 Buy DevCloud: Try for free
  • 29. Introduction of CCE and DevCloud 1.8.2 Buy DevCloud ● All Default
  • 30. Introduction of CCE and DevCloud 1.8.3 Buy DevCloud: Pay ● All Default
  • 31. Introduction of CCE and DevCloud 1.8.4 Buy DevCloud: Pay
  • 32. Introduction of CCE and DevCloud 1.9 Create DevCloud Project ● Project Template: Scrum ● Project Name: Spring Web ● Project Code: spring_web
  • 33. Introduction of CCE and DevCloud Workshop 2 DevCloud CI/CD
  • 34. Introduction of CCE and DevCloud 2.1.1 Create CodeHub Repository 1. Go to Code > CodeHub 2. Click on arrow next to Create Directly > Use Template
  • 35. Introduction of CCE and DevCloud 2.1.2 Create CodeHub Repository 1. Search for Java Web Demo and select it 2. Click Next 3. Repository Name: spring_web
  • 36. Introduction of CCE and DevCloud 2.1.3 Create CodeHub Repository: Result
  • 37. Introduction of CCE and DevCloud 2.1.4 Create Dockerfile 1. Go to your spring_web repository 2. Click on plus sign next to spring_web repository name > Create File
  • 38. Introduction of CCE and DevCloud 2.1.5 Dockerfile Content # This is the jdk base image in the SWR devcloud_test_luoyangyang repository # The image would be uploaded to the destination by following later CloudBuild step FROM swr.ap-southeast-3.myhuaweicloud.com/[YOUR_UNIQUE_ORG_NAME]/java:openjdk-8-jdk-alpine # Copy the jar to the docker container inside # The jar would be created by following later CloudBuild step COPY ./target/demoapp.jar demoapp.jar # Run the java -jar demoapp.jar command when the image instanced was created ENTRYPOINT ["java", "-jar", "demoapp.jar"]
  • 39. Introduction of CCE and DevCloud 2.1.6 Commit Dockerfile ● Create File: Dockerfile ● Put the content of Dockerfile
  • 40. Introduction of CCE and DevCloud 2.1.7 devcloud-demo-deployment.yaml Content kind: Deployment apiVersion: apps/v1 metadata: name: devcloud-demo namespace: default labels: appgroup: '' # Use the pipeline parameter versionTag, which would be explained in later CloudPipeline step version: {{versionTag}} spec: # The number of replicas of the pod replicas: 1 selector: matchLabels: app: devcloud-demo template: metadata: creationTimestamp: null labels: app: devcloud-demo annotations: metrics.alpha.kubernetes.io/custom-endpoints: '[{"api":"","path":"","port":"","names":""}]' spec: containers: - name: container-0 image: 'swr.ap-southeast-3.myhuaweicloud.com/[YOUR_UNIQUE_ORG_NAME]/spring_web:{{versionTag}}' resources: requests: cpu: 250m memory: 512Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: IfNotPresent restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst securityContext: {} imagePullSecrets: - name: default-secret affinity: {} schedulerName: default-scheduler tolerations: - key: node.kubernetes.io/not-ready operator: Exists effect: NoExecute tolerationSeconds: 300 - key: node.kubernetes.io/unreachable operator: Exists effect: NoExecute tolerationSeconds: 300 dnsConfig: options: - name: timeout value: '' - name: ndots value: '5' - name: single-request-reopen strategy: type: Recreate revisionHistoryLimit: 10 progressDeadlineSeconds: 600
  • 41. Introduction of CCE and DevCloud 2.2 Create CloudBuild
  • 42. Introduction of CCE and DevCloud 2.2.1 Create CloudBuild: prebuild
  • 43. Introduction of CCE and DevCloud 2.2.2 CloudBuild prebuild: Add Parameters ● Docker Organization Name ○ Parameter Name: dockerOrg ○ Parameter Value: [YOUR_UNIQUE_ORG_NAME]
  • 44. Introduction of CCE and DevCloud 2.2.3 Create CloudBuild: prebuild Result
  • 45. Introduction of CCE and DevCloud 2.2.4 CloudBuild prebuild: Edit Shell echo 'hello' # Create a file named Dockerfile-java echo 'FROM java:openjdk-8-jdk-alpine' > Dockerfile-java
  • 46. Introduction of CCE and DevCloud 2.2.5 CloudBuild prebuild: Edit Build Image ● Organization: ${dockerOrg} ● Image Name: java ● Image Tag: openjdk-8-jdk-alpine ● Dockerfile Path: ./Dockerfile-java
  • 47. Introduction of CCE and DevCloud 2.2.6 CloudBuild prebuild: Add Parameters ● Task Name: spring_web-prebuild ● Create
  • 48. Introduction of CCE and DevCloud 2.2.7 CloudBuild prebuild: Run
  • 49. Introduction of CCE and DevCloud 2.2.4 CloudBuild prebuild: Run Log
  • 50. Introduction of CCE and DevCloud 2.3.1 CloudBuild build: Build Image ● Docker Organization Name ○ Parameter Name: dockerOrg ○ Parameter Value: [YOUR_UNIQUE_ORG_NAME] ● Version Tag ○ Parameter Name: versionTag ○ Parameter Value: v1.1 1. Create Task CloudBuild 2. Choose spring_web repository 3. Choose Blank Template
  • 51. Introduction of CCE and DevCloud 2.3.2 CloudBuild build: Add Actions
  • 52. Introduction of CCE and DevCloud 2.3.3 CloudBuild build: Build Image ● Organization: ${dockerOrg} ● Image Name: spring_web ● Image Tag: ${versionTag}
  • 53. Introduction of CCE and DevCloud 2.3.4 CloudBuild build: Build Image ● Build Package Directory: *.yaml ● Release Version: yaml ● Package Name: spring_web
  • 54. Introduction of CCE and DevCloud 2.3.5 CloudBuild build: Build Image ● Task Name: spring_web-build ● Create
  • 55. Introduction of CCE and DevCloud 2.3.6 CloudBuild build: Run Parameter
  • 56. Introduction of CCE and DevCloud 2.3.7 Check result in CloudArtifact
  • 57. Introduction of CCE and DevCloud 2.3.8 Check result in SWR
  • 58. Introduction of CCE and DevCloud 2.4.1 CloudDeploy: Create Task
  • 59. Introduction of CCE and DevCloud 2.4.2 CloudDeploy: Create Task
  • 60. Introduction of CCE and DevCloud 2.4.3 CloudDeploy: Edit Deploy Configure ● Cluster Type: CCE Cluster ● Cluster Name: cce-devcloud ● Namespace Name: default ● Deployment YML File or Folder: /devcloud-demo/yaml/devcloud-demo.yaml
  • 61. Introduction of CCE and DevCloud 2.4.4 CloudDeploy: Task Parameter ● Version Tag ○ Parameter Name: versionTag ○ Parameter Value: v1.1
  • 62. Introduction of CCE and DevCloud 2.4.5 CloudDeploy: Basic Information ● Parameter Value: deploy-cce
  • 63. Introduction of CCE and DevCloud 2.5.1 CloudPipeline: Create Pipeline
  • 64. Introduction of CCE and DevCloud 2.5.2 CloudPipeline: Choose Repository
  • 65. Introduction of CCE and DevCloud 2.5.3 CloudPipeline: Blank Template
  • 66. Introduction of CCE and DevCloud 2.5.4 CloudPipeline: Add Parameter ● Version Tag ○ Parameter Name: versionTag ○ Parameter Value: v1.1
  • 67. Introduction of CCE and DevCloud 2.5.5 CloudPipeline: Edit Build Stage ● Name: Build ● Task Execution: Serial
  • 68. Introduction of CCE and DevCloud 2.5.6 CloudPipeline: Add Prebuild Task ● Name: Prebuild ● Select Task: spring_web-prebuild ● Repository: spring_web
  • 69. Introduction of CCE and DevCloud 2.5.7 CloudPipeline: Add CloudBuild Task ● Name: CloudBuild ● Select Task: spring_web-build ● Repository: spring_web ● VersionTag: ${versionTag}
  • 70. Introduction of CCE and DevCloud 2.5.8 CloudPipeline: Add Deploy Stage ● Name: Deploy ● Task Execution: Serial
  • 71. Introduction of CCE and DevCloud 2.5.9 CloudPipeline: Add CloudDeploy Task ● Type: Deployment ● Name: CloudDeploy ● Select Task: deploy-cce ● VersionTag: ${versionTag}
  • 72. Introduction of CCE and DevCloud 2.5.10 CloudPipeline: Edit Name ● Name: pipeline-cce
  • 73. Introduction of CCE and DevCloud 2.5.11 CloudPipeline: Execute CloudPipeline
  • 74. Introduction of CCE and DevCloud 2.6.1 Check CCE Deployment Status
  • 75. Introduction of CCE and DevCloud 2.6.2 Create Service for Pod
  • 76. Introduction of CCE and DevCloud 2.6.3 Create Service for Pod ● Access Type: NodePort ● Container Port: 8080
  • 77. Introduction of CCE and DevCloud 2.6.4 Access to Web
  • 78. Introduction of CCE and DevCloud 2.6.5 Web Result
  • 79. Introduction of CCE and DevCloud Destroy Resources
  • 80. Introduction of CCE and DevCloud Destroy Steps 3.1. Unsubscribe DevCloud 3.2. Delete CCE Cluster 3.3. Delete all SWR Image 3.4. Delete SWR Organization
  • 81. Introduction of CCE and DevCloud 3.1.1 Unsubscribe DevCloud
  • 82. Introduction of CCE and DevCloud 3.1.2 Unsubscribe DevCloud
  • 83. Introduction of CCE and DevCloud 3.1.3 Unsubscribe DevCloud
  • 84. Introduction of CCE and DevCloud 3.1.4 Unsubscribe DevCloud
  • 85. Introduction of CCE and DevCloud 3.2.1 Delete CCE Cluster
  • 86. Introduction of CCE and DevCloud 3.2.2 Delete CCE Cluster
  • 87. Introduction of CCE and DevCloud 3.3.1 Delete All SWR Image
  • 88. Introduction of CCE and DevCloud 3.3.2 Delete All SWR Image
  • 89. Introduction of CCE and DevCloud 3.4.1 Delete SWR Org
  • 90. Introduction of CCE and DevCloud 3.4.2 Delete SWR Org
  • 91. Introduction of CCE and DevCloud 3.4.3 Delete SWR Org
  • 92. Introduction of CCE and DevCloud Wrap Up
  • 93. Introduction of CCE and DevCloud DevSecOps Platform on Huawei Cloud CodeHub SWR CloudBuild *CloudTest Cloud Deploy Monitoring Automation & Infrastructure as Code Automation Security Apps dev uat prd CCE ProjectMan DevCloud AOM Log Tank Service APM CGS KMS *CodeCheck *CloudIDE DEW Cloud Pipeline Load Testing CPTS
  • 94. Introduction of CCE and DevCloud Contact Us jirayut@opsta.co.th Jirayut Nimsaeng CEO & Founder Opsta (Thailand) 086-069-4042 Facebook