SlideShare a Scribd company logo
Enjoying k8s cluster
with
Minikube and Helm
2019/04/08 # node-1
@loftkun
@loftkun
•
•
•
• ==( 10 )==> WEB SRE
• k8s
•
•
•
Check out
my Qiita !
minikube, helm
[PR]
Agenda
• My k8s environment and tools
• kubectl
• Minikube
• Helm
• Already tried Charts
• Create Original Chart
My k8s cluster
environments
kubectl
kubectl
•
•
•
•
•
•
•
$ kubectl –h
Advanced Commands:
diff Diff live version against would-be applied version
apply Apply a configuration to a resource by filename or stdin
patch Update field(s) of a resource using strategic merge patch
replace Replace a resource by filename or stdin
wait Experimental: Wait for a specific condition on one or many resources.
convert Convert config files between different API versions
kustomize Build a kustomization target from a directory or a remote url.
Minikube
New features
• v1.0.0 is released at 3/27 !
•
• supports Kubernetes 1.14 by default
• https://kubernetes.io/blog/2019/03/28/running-kubernetes-locally-on-linux-with-
minikube-now-with-kubernetes-1.14-support/
single-node ?
• Minikube single-node Kubernetes cluster
• V1.0.0 README.md
• https://github.com/kubernetes/minikube/commit/ec5ac30
Become multi-node support !?
• Roadmap (2019)
• https://github.com/kubernetes/minikube/blob/master/docs/contributors/roadmap.md
• #4 Support all Kubernetes features
• Add multi-node support
• minikube multi-node cluster
Setup is Simple ! (on ubuntu 17.10)
# download
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo cp minikube /usr/local/bin && rm minikube
Setup is Simple ! (on ubuntu 17.10)
# download
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo cp minikube /usr/local/bin && rm minikube
# config as you like
minikube config set cpus 12
minikube config set memory 40960
Setup is Simple ! (on ubuntu 17.10)
# download
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo cp minikube /usr/local/bin && rm minikube
# config as you like
minikube config set cpus 12
minikube config set memory 40960
# start cluster
minikube start
$ kubectl get no
NAME STATUS ROLES AGE VERSION
minikube Ready master 10m v1.14.0
$ kubectl get no
NAME STATUS ROLES AGE VERSION
minikube Ready master 10m v1.14.0
$ kubectl get svc -A
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 10m
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 10m
kube-system monitoring-grafana NodePort 10.107.133.92 <none> 80:30002/TCP 10m
kube-system monitoring-influxdb ClusterIP 10.109.201.109 <none> 8083/TCP,8086/TCP 10m
Be careful !
• Minikube (VM)
• Default
• CPU2 2GB 20GB
• Spinnaker ( 10GB )
•
• minikube config set
•
• minikube delete minikube start
Tips of Minikube
• minikube CPU default 2
• https://qiita.com/loftkun/items/41ecde082778254de79a
• minikube default 2GB
• https://qiita.com/loftkun/items/7400d5ae0e7b1fb7d26e
• Spinnaker + Kayenta
• https://qiita.com/loftkun/items/2fd1d598d04084495e2c
Helm
Overview
• v2.13.0 is released at 2/27 !
• https://github.com/helm/helm/releases
•
•
•
•
Helm Hub
https://hub.helm.sh/
Setup is Simple ! (on ubuntu 17.10)
# download & install cli
$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
Setup is Simple ! (on ubuntu 17.10)
# download & install cli
$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
# deploy tiller
$ helm init
Deploy a Chart (e.g. MongoDB)
$ helm install stable/mongodb ¥
--name my-mongo ¥
--namespace my-mongo ¥
--set mongodbRootPassword=pass,mongodbUsername=user1,mongodbPassword=pass1,mongodbDatabase=testdb
Deploy a Chart (e.g. MongoDB)
$ helm install stable/mongodb ¥
--name my-mongo ¥
--namespace my-mongo ¥
--set mongodbRootPassword=pass,mongodbUsername=user1,mongodbPassword=pass1,mongodbDatabase=testdb
$ kubectl get svc -n my-mongo
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-mongo-mongodb ClusterIP 10.97.82.12 <none> 27017/TCP 37s
Deploy a Chart (e.g. MongoDB)
$ helm install stable/mongodb ¥
--name my-mongo ¥
--namespace my-mongo ¥
--set mongodbRootPassword=pass,mongodbUsername=user1,mongodbPassword=pass1,mongodbDatabase=testdb
$ kubectl get svc -n my-mongo
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-mongo-mongodb ClusterIP 10.97.82.12 <none> 27017/TCP 37s
$ kubectl get po -n my-mongo
NAME READY STATUS RESTARTS AGE
my-mongo-mongodb-5ccffd7cb4-tkrd8 1/1 Running 0 40s
$
Already tried
Charts
• Grafana
• Gitlab-ce
• Minio
• MongoDB
• MySQL
• Prometheus
• includes alertmanager, pushgateway
• Spinnaker
Already tried Charts
• Istio
• Kafka
• GitLab
• Cloud native images
• https://docs.gitlab.com/ee/inst
all/docker.html#cloud-native-
images
• loftkun ( )
• abematv-comment-receiver
charts/incubator charts/stable 3rd party repo
• Grafana
• Gitlab-ce
• Minio
• MongoDB
• MySQL
• Prometheus
• includes alertmanager, pushgateway
• Spinnaker
Already tried Charts
• Istio
• Kafka
• GitLab
• Cloud native images
• https://docs.gitlab.com/ee/inst
all/docker.html#cloud-native-
images
• loftkun ( my original chart )
• abematv-comment-receiver
charts/incubator charts/stable 3rd party repo
Today's
Pickup
charts/incubator/istio
( Don't use now )
Be Careful !
•
• Istio.io
•
•
• $ helm fetch stable/spinnaker
• $ helm template spinnaker-1.1.7.tgz > spinnaker-1.1.7.yaml
•
• $ helm fetch stable/spinnaker
• $ helm template spinnaker-1.1.7.tgz > spinnaker-1.1.7.yaml
•
• $ istioctl kube-inject -f ./spinnaker.yaml > ./spinnaker-injected.yaml
•
• $ helm fetch stable/spinnaker
• $ helm template spinnaker-1.1.7.tgz > spinnaker-1.1.7.yaml
•
• $ istioctl kube-inject -f ./spinnaker.yaml > ./spinnaker-injected.yaml
•
• $ kubectl apply -f ./spinnaker-injected.yaml
Consepts
Consepts
• Proxy ( Envoy )
• Pod
• Automatic Manual
Consepts
• Pilot
• SideCar
• yaml
• Route
• blue/green deploy
• canary release
•
•
•
•
•
charts/stable/prometheus
charts/stable/prometheus
• 1Chart
• Prometheus / Alertmanager / PushGateway
•
• Prometheus ------> Alertmanager
• Prometheus ------> scrape targets
• PushGateway
• Node, Service, Pod,
GitLab
( Cloud native images )
Cloud native images
•
•
•
•
•
•
Create Original Chart
Create New Chart
$ helm create abematv-comment-receiver
$ tree abematv-comment-receiver/
abematv-comment-receiver/
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── ingress.yaml
│ ├── NOTES.txt
│ ├── service.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml
Fix Chart Info
( e.g. image repo, tag )
$ vim abematv-comment-receiver/values.yaml
$ cat abematv-comment-receiver/values.yaml
image:
repository: loftkun/abematv-comment-receiver
tag: latest
$ helm lint abematv-comment-receiver/
==> Linting abematv-comment-receiver/
1 chart(s) linted, no failures
$
Deploy !
$ helm install ./abematv-comment-receiver ¥
--name abmtest ¥
--namespace abmtest
$ kubectl get po -n abmtest
NAME READY STATUS RESTARTS AGE
abmtest-abematv-comment-receiver 1/1 Running 0 43s
$ kubectl logs –f ${podname} -n abmtest
{"id":"wnBd8uUPeey6BwP8PkkWWS","message":"10
","createdAtMs":1554630315263}
loftkun/abematv-comment-receiver
•
•
• : ( https://abema.tv/now-on-air/shogi )
$ kubectl logs abmtest-abematv-comment-receiver-7775747d65-h8zs2 -n abmtest
{"id":"XEfQoBeq3LU5Tq4kXTJZ5R","message":" ","createdAtMs":1554630249431}
{"id":"hn3gbIw0245r908JfrgOcN","message":" ! ","createdAtMs":1554630274691}
{"id":"hn3gbIw0245r908JfrgOmx","message":" by ","createdAtMs":1554630307015}
{"id":"wnBd8uUPeey6BwP8PkkWWS","message":"10 ","createdAtMs":1554630315263}
loftkun/abematv-comment-receiver
•
•
• MongoDB
• Kustomize
Tips of Helm
• Helm
• https://qiita.com/loftkun/items/853bbaabd4bf0fa96e9c
• Pushgateway->Prometheus->Alertmanager->Webhook
• https://qiita.com/loftkun/items/28cdf77ea9269e255a53
• GitLab
• https://qiita.com/loftkun/items/c3945a2595e4f9c7ba09
Appendix :
other trying environments
Appendix : other trying environments
•
•
•
•
•
•
•
•
Enjoying k8s cluster with Minikube and Helm

More Related Content

What's hot

OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...
OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...
OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...
OpenNebula Project
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveKazuto Kusama
 
Everything as a code
Everything as a codeEverything as a code
Everything as a code
Aleksandr Tarasov
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
Giacomo Vacca
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
RKT
RKTRKT
Make Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container EngineMake Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container Engine
LinuxCon ContainerCon CloudOpen China
 
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Victor Morales
 
Hyperledger Fabric v2.0: 새로운 기능
Hyperledger Fabric v2.0: 새로운 기능Hyperledger Fabric v2.0: 새로운 기능
Hyperledger Fabric v2.0: 새로운 기능
Hyperledger Korea User Group
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLand
Johan Janssen
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
Kentaro Ebisawa
 
Kubernetes 1001
Kubernetes 1001Kubernetes 1001
Kubernetes 1001
HungWei Chiu
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
Ruoshi Ling
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
systemd @ Facebook -- a year later
systemd @ Facebook -- a year latersystemd @ Facebook -- a year later
systemd @ Facebook -- a year later
Davide Cavalca
 
CoreOS @Codetalks Hamburg
CoreOS @Codetalks HamburgCoreOS @Codetalks Hamburg
CoreOS @Codetalks Hamburg
Timo Derstappen
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
Luciano Fiandesio
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
Sander van der Burg
 
App container rkt
App container rktApp container rkt
App container rkt
Xiaofeng Guo
 
Docker1.12イングレスロードバランサ
Docker1.12イングレスロードバランサDocker1.12イングレスロードバランサ
Docker1.12イングレスロードバランサ
Yuji Oshima
 

What's hot (20)

OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...
OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...
OpenNebulaConf 2016 - Measuring and tuning VM performance by Boyan Krosnov, S...
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep Dive
 
Everything as a code
Everything as a codeEverything as a code
Everything as a code
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
RKT
RKTRKT
RKT
 
Make Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container EngineMake Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container Engine
 
Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...Building cloud native network functions - outcomes from the gw-tester nsm imp...
Building cloud native network functions - outcomes from the gw-tester nsm imp...
 
Hyperledger Fabric v2.0: 새로운 기능
Hyperledger Fabric v2.0: 새로운 기능Hyperledger Fabric v2.0: 새로운 기능
Hyperledger Fabric v2.0: 새로운 기능
 
Docker for Java developers at JavaLand
Docker for Java developers at JavaLandDocker for Java developers at JavaLand
Docker for Java developers at JavaLand
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 
Kubernetes 1001
Kubernetes 1001Kubernetes 1001
Kubernetes 1001
 
Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨Docker 初探,實驗室中的運貨鯨
Docker 初探,實驗室中的運貨鯨
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
systemd @ Facebook -- a year later
systemd @ Facebook -- a year latersystemd @ Facebook -- a year later
systemd @ Facebook -- a year later
 
CoreOS @Codetalks Hamburg
CoreOS @Codetalks HamburgCoreOS @Codetalks Hamburg
CoreOS @Codetalks Hamburg
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
App container rkt
App container rktApp container rkt
App container rkt
 
Docker1.12イングレスロードバランサ
Docker1.12イングレスロードバランサDocker1.12イングレスロードバランサ
Docker1.12イングレスロードバランサ
 

Similar to Enjoying k8s cluster with Minikube and Helm

CKA_1st.pptx
CKA_1st.pptxCKA_1st.pptx
CKA_1st.pptx
YIJHEHUANG
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307
Inhye Park
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
Ramit Surana
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
 
Kubernetes + Python = ❤ - Cloud Native Prague
Kubernetes + Python = ❤ - Cloud Native PragueKubernetes + Python = ❤ - Cloud Native Prague
Kubernetes + Python = ❤ - Cloud Native Prague
Henning Jacobs
 
Kubernetes Walk Through from Technical View
Kubernetes Walk Through from Technical ViewKubernetes Walk Through from Technical View
Kubernetes Walk Through from Technical View
Lei (Harry) Zhang
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
Kubeflow Control Plane 中文
Kubeflow Control Plane 中文Kubeflow Control Plane 中文
Kubeflow Control Plane 中文
Weiqiang Zhuang
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptx
wonyong hwang
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Eric Gustafson
 
Bdc from bare metal to k8s
Bdc   from bare metal to k8sBdc   from bare metal to k8s
Bdc from bare metal to k8s
Chris Adkin
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
HungWei Chiu
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)
Dmitry Guyvoronsky
 
kubernetes practice
kubernetes practicekubernetes practice
kubernetes practice
wonyong hwang
 
A Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterA Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes Cluster
Jimmy Lu
 
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Threestackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
NETWAYS
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
alexanderkiel
 
Openstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-ServiceOpenstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-Service
Chhavi Agarwal
 
How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014
Puppet
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
Stefan Schimanski
 

Similar to Enjoying k8s cluster with Minikube and Helm (20)

CKA_1st.pptx
CKA_1st.pptxCKA_1st.pptx
CKA_1st.pptx
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 
Kubernetes + Python = ❤ - Cloud Native Prague
Kubernetes + Python = ❤ - Cloud Native PragueKubernetes + Python = ❤ - Cloud Native Prague
Kubernetes + Python = ❤ - Cloud Native Prague
 
Kubernetes Walk Through from Technical View
Kubernetes Walk Through from Technical ViewKubernetes Walk Through from Technical View
Kubernetes Walk Through from Technical View
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubeflow Control Plane 中文
Kubeflow Control Plane 中文Kubeflow Control Plane 中文
Kubeflow Control Plane 中文
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptx
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Bdc from bare metal to k8s
Bdc   from bare metal to k8sBdc   from bare metal to k8s
Bdc from bare metal to k8s
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
 
Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)Virtualization with Vagrant (ua.pycon 2011)
Virtualization with Vagrant (ua.pycon 2011)
 
kubernetes practice
kubernetes practicekubernetes practice
kubernetes practice
 
A Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes ClusterA Million ways of Deploying a Kubernetes Cluster
A Million ways of Deploying a Kubernetes Cluster
 
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Threestackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
stackconf 2022: Cluster Management: Heterogeneous, Lightweight, Safe. Pick Three
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
 
Openstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-ServiceOpenstack Magnum: Container-as-a-Service
Openstack Magnum: Container-as-a-Service
 
How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 

More from ロフト くん

OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
 OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました! OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
ロフト くん
 
Demo of write slides and books with VSCode + Markdown
Demo of write slides and books with VSCode + MarkdownDemo of write slides and books with VSCode + Markdown
Demo of write slides and books with VSCode + Markdown
ロフト くん
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
ロフト くん
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
ロフト くん
 
Kubernetes The Hard Way をやってみた
Kubernetes The Hard Way をやってみたKubernetes The Hard Way をやってみた
Kubernetes The Hard Way をやってみた
ロフト くん
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
ロフト くん
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
ロフト くん
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
ロフト くん
 
Traffic Management with Istio
Traffic Management with IstioTraffic Management with Istio
Traffic Management with Istio
ロフト くん
 
AbemaTVのコメントビューアを作る話
AbemaTVのコメントビューアを作る話AbemaTVのコメントビューアを作る話
AbemaTVのコメントビューアを作る話
ロフト くん
 

More from ロフト くん (10)

OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
 OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました! OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
OpenShiftのサポートを始めるぞ!高頻度で更新されるOSSを効果的にキャッチアップする仕組みを考えました!
 
Demo of write slides and books with VSCode + Markdown
Demo of write slides and books with VSCode + MarkdownDemo of write slides and books with VSCode + Markdown
Demo of write slides and books with VSCode + Markdown
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
Kubernetes The Hard Way をやってみた
Kubernetes The Hard Way をやってみたKubernetes The Hard Way をやってみた
Kubernetes The Hard Way をやってみた
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
 
Traffic Management with Istio
Traffic Management with IstioTraffic Management with Istio
Traffic Management with Istio
 
AbemaTVのコメントビューアを作る話
AbemaTVのコメントビューアを作る話AbemaTVのコメントビューアを作る話
AbemaTVのコメントビューアを作る話
 

Recently uploaded

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

Enjoying k8s cluster with Minikube and Helm

  • 1. Enjoying k8s cluster with Minikube and Helm 2019/04/08 # node-1 @loftkun
  • 2. @loftkun • • • • ==( 10 )==> WEB SRE • k8s
  • 4. Check out my Qiita ! minikube, helm [PR]
  • 5. Agenda • My k8s environment and tools • kubectl • Minikube • Helm • Already tried Charts • Create Original Chart
  • 9. $ kubectl –h Advanced Commands: diff Diff live version against would-be applied version apply Apply a configuration to a resource by filename or stdin patch Update field(s) of a resource using strategic merge patch replace Replace a resource by filename or stdin wait Experimental: Wait for a specific condition on one or many resources. convert Convert config files between different API versions kustomize Build a kustomization target from a directory or a remote url.
  • 11. New features • v1.0.0 is released at 3/27 ! • • supports Kubernetes 1.14 by default • https://kubernetes.io/blog/2019/03/28/running-kubernetes-locally-on-linux-with- minikube-now-with-kubernetes-1.14-support/
  • 12. single-node ? • Minikube single-node Kubernetes cluster • V1.0.0 README.md • https://github.com/kubernetes/minikube/commit/ec5ac30
  • 13. Become multi-node support !? • Roadmap (2019) • https://github.com/kubernetes/minikube/blob/master/docs/contributors/roadmap.md • #4 Support all Kubernetes features • Add multi-node support • minikube multi-node cluster
  • 14. Setup is Simple ! (on ubuntu 17.10) # download curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube sudo cp minikube /usr/local/bin && rm minikube
  • 15. Setup is Simple ! (on ubuntu 17.10) # download curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube sudo cp minikube /usr/local/bin && rm minikube # config as you like minikube config set cpus 12 minikube config set memory 40960
  • 16. Setup is Simple ! (on ubuntu 17.10) # download curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube sudo cp minikube /usr/local/bin && rm minikube # config as you like minikube config set cpus 12 minikube config set memory 40960 # start cluster minikube start
  • 17. $ kubectl get no NAME STATUS ROLES AGE VERSION minikube Ready master 10m v1.14.0
  • 18. $ kubectl get no NAME STATUS ROLES AGE VERSION minikube Ready master 10m v1.14.0 $ kubectl get svc -A NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 10m kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 10m kube-system monitoring-grafana NodePort 10.107.133.92 <none> 80:30002/TCP 10m kube-system monitoring-influxdb ClusterIP 10.109.201.109 <none> 8083/TCP,8086/TCP 10m
  • 19. Be careful ! • Minikube (VM) • Default • CPU2 2GB 20GB • Spinnaker ( 10GB ) • • minikube config set • • minikube delete minikube start
  • 20. Tips of Minikube • minikube CPU default 2 • https://qiita.com/loftkun/items/41ecde082778254de79a • minikube default 2GB • https://qiita.com/loftkun/items/7400d5ae0e7b1fb7d26e • Spinnaker + Kayenta • https://qiita.com/loftkun/items/2fd1d598d04084495e2c
  • 21. Helm
  • 22. Overview • v2.13.0 is released at 2/27 ! • https://github.com/helm/helm/releases • • • •
  • 24. Setup is Simple ! (on ubuntu 17.10) # download & install cli $ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
  • 25. Setup is Simple ! (on ubuntu 17.10) # download & install cli $ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash # deploy tiller $ helm init
  • 26. Deploy a Chart (e.g. MongoDB) $ helm install stable/mongodb ¥ --name my-mongo ¥ --namespace my-mongo ¥ --set mongodbRootPassword=pass,mongodbUsername=user1,mongodbPassword=pass1,mongodbDatabase=testdb
  • 27. Deploy a Chart (e.g. MongoDB) $ helm install stable/mongodb ¥ --name my-mongo ¥ --namespace my-mongo ¥ --set mongodbRootPassword=pass,mongodbUsername=user1,mongodbPassword=pass1,mongodbDatabase=testdb $ kubectl get svc -n my-mongo NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE my-mongo-mongodb ClusterIP 10.97.82.12 <none> 27017/TCP 37s
  • 28. Deploy a Chart (e.g. MongoDB) $ helm install stable/mongodb ¥ --name my-mongo ¥ --namespace my-mongo ¥ --set mongodbRootPassword=pass,mongodbUsername=user1,mongodbPassword=pass1,mongodbDatabase=testdb $ kubectl get svc -n my-mongo NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE my-mongo-mongodb ClusterIP 10.97.82.12 <none> 27017/TCP 37s $ kubectl get po -n my-mongo NAME READY STATUS RESTARTS AGE my-mongo-mongodb-5ccffd7cb4-tkrd8 1/1 Running 0 40s $
  • 30. • Grafana • Gitlab-ce • Minio • MongoDB • MySQL • Prometheus • includes alertmanager, pushgateway • Spinnaker Already tried Charts • Istio • Kafka • GitLab • Cloud native images • https://docs.gitlab.com/ee/inst all/docker.html#cloud-native- images • loftkun ( ) • abematv-comment-receiver charts/incubator charts/stable 3rd party repo
  • 31. • Grafana • Gitlab-ce • Minio • MongoDB • MySQL • Prometheus • includes alertmanager, pushgateway • Spinnaker Already tried Charts • Istio • Kafka • GitLab • Cloud native images • https://docs.gitlab.com/ee/inst all/docker.html#cloud-native- images • loftkun ( my original chart ) • abematv-comment-receiver charts/incubator charts/stable 3rd party repo Today's Pickup
  • 33. Be Careful ! • • Istio.io •
  • 34. • • $ helm fetch stable/spinnaker • $ helm template spinnaker-1.1.7.tgz > spinnaker-1.1.7.yaml
  • 35. • • $ helm fetch stable/spinnaker • $ helm template spinnaker-1.1.7.tgz > spinnaker-1.1.7.yaml • • $ istioctl kube-inject -f ./spinnaker.yaml > ./spinnaker-injected.yaml
  • 36. • • $ helm fetch stable/spinnaker • $ helm template spinnaker-1.1.7.tgz > spinnaker-1.1.7.yaml • • $ istioctl kube-inject -f ./spinnaker.yaml > ./spinnaker-injected.yaml • • $ kubectl apply -f ./spinnaker-injected.yaml
  • 38. Consepts • Proxy ( Envoy ) • Pod • Automatic Manual
  • 39. Consepts • Pilot • SideCar • yaml • Route • blue/green deploy • canary release • • • • •
  • 41. charts/stable/prometheus • 1Chart • Prometheus / Alertmanager / PushGateway • • Prometheus ------> Alertmanager • Prometheus ------> scrape targets • PushGateway • Node, Service, Pod,
  • 45. Create New Chart $ helm create abematv-comment-receiver $ tree abematv-comment-receiver/ abematv-comment-receiver/ ├── charts ├── Chart.yaml ├── templates │ ├── deployment.yaml │ ├── _helpers.tpl │ ├── ingress.yaml │ ├── NOTES.txt │ ├── service.yaml │ └── tests │ └── test-connection.yaml └── values.yaml
  • 46. Fix Chart Info ( e.g. image repo, tag ) $ vim abematv-comment-receiver/values.yaml $ cat abematv-comment-receiver/values.yaml image: repository: loftkun/abematv-comment-receiver tag: latest $ helm lint abematv-comment-receiver/ ==> Linting abematv-comment-receiver/ 1 chart(s) linted, no failures $
  • 47. Deploy ! $ helm install ./abematv-comment-receiver ¥ --name abmtest ¥ --namespace abmtest $ kubectl get po -n abmtest NAME READY STATUS RESTARTS AGE abmtest-abematv-comment-receiver 1/1 Running 0 43s $ kubectl logs –f ${podname} -n abmtest {"id":"wnBd8uUPeey6BwP8PkkWWS","message":"10 ","createdAtMs":1554630315263}
  • 48. loftkun/abematv-comment-receiver • • • : ( https://abema.tv/now-on-air/shogi ) $ kubectl logs abmtest-abematv-comment-receiver-7775747d65-h8zs2 -n abmtest {"id":"XEfQoBeq3LU5Tq4kXTJZ5R","message":" ","createdAtMs":1554630249431} {"id":"hn3gbIw0245r908JfrgOcN","message":" ! ","createdAtMs":1554630274691} {"id":"hn3gbIw0245r908JfrgOmx","message":" by ","createdAtMs":1554630307015} {"id":"wnBd8uUPeey6BwP8PkkWWS","message":"10 ","createdAtMs":1554630315263}
  • 50. Tips of Helm • Helm • https://qiita.com/loftkun/items/853bbaabd4bf0fa96e9c • Pushgateway->Prometheus->Alertmanager->Webhook • https://qiita.com/loftkun/items/28cdf77ea9269e255a53 • GitLab • https://qiita.com/loftkun/items/c3945a2595e4f9c7ba09
  • 51. Appendix : other trying environments
  • 52. Appendix : other trying environments • • • • • • • •