SlideShare a Scribd company logo
1
自己紹介
2
自己紹介
吉海 将太
前職でUnity(C#)、Webアプリ(Python, Docker)、Pepperアプリ(Python)
の開発に携わりました。
好きな弟: 戸愚呂弟(100%) 好きな兄: ジャギ
Software Engineer
Kabuku, Inc.
https://www.kabuku.co.jp/
3
自己紹介
Twitterやってます。@yoshikai_
Mastodonはやってないドン。いつかパオりたいドン
Python、GO言語、Docker、Appengine, GCE、GKE、K8Sなど
最近ハマっていること
● 中野TRFのAC北斗の動画みる
● マストドン!って言う
● ゴールデン街で飲む(飲み行きましょ)
4
Ingressと聞いて思い浮かぶもの
5
Ingressと聞いて思い浮かぶもの
6
今日のゴール
● Ingressを知る
○ 位置情報ゲームではないよ
○ 機能をだいたい把握
● Ingressの使い所を知る
○ 弊社の構成例を紹介
7
アジェンダ
● なぜ Ingress on GKE/GCE なのか
● Ingressを知る
○ Ingressがない場合
○ Ingressがある場合
○ Ingressの基本
○ Ingressの機能の紹介
● Ingressの使い所を知る
○ Ingressを用いた弊社の3D解析エンジンAPIの構成を紹介
8
なぜ Ingress on GKE/GCE なのか
9
なぜ Ingress on GKE/GCE なのか
● GKE/GCEを使う理由
○ Googleのインフラを使える
○ めっちゃ楽
○ GKEならコマンド一発でKubernetesを構築
○ コマンド
○ GCEもkube-up.sh
● Ingressを使う理由
○ 一通りのネットワークの機能がある
■ URL path, virtual hosting, TLS, LB
○ Kubernetesが提供している。自前で用意する必要がない
10
$ gcloud container clusters create $CLUSTER_NAME --zone $ZONE
Ingressを知る
11
Ingressがない場合
12
Ingressがない場合
Service
internet
Pod
アプリケーション
例えば:
mastodon,jenkins
Podが外部と通信するため
エンドポイント
NodePort, LoadBalancerな
どいくつか種類がある
現代人が人生の大半を費や
しているもの
新しい情報が常に流れてき
て飽きない
Type:
LoadBalancer
13
Ingressある場合
14
Ingressとは何か
internet
Ingress
Service
Pod
url path routing,virtual
hosting, tls, lb など
一通り機能ある
ServiceのLBより多機
能
Type:
NodePort
最近はマストドンが流
行ってる
15
Ingressの基本
16
Ingressの基本: 使う前に
● Ingressはまだベータ版
● Kubernetes 1.2以上じゃないと動かない
○ 最近試したらGKEは1.5.6でした
○ 1.6.1も選択出来た
17
18
Ingressの基本
IngressのグローバルIP
service:80
Ingress
Ingressの基本: ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: simple-ingress
spec:
backend:
serviceName: service
servicePort: 80
19
Ingressの基本:つくりかた
Ingressを作る
Get してIngressが出来ているかを確認
20
NAME HOSTS ADDRESS PORTS AGE
simple-ingress * xx.xxx.xxx.xx 80 8m
$ kubectl create -f ingress.yaml
$ kubectl get ing
Ingressの機能を紹介
21
Ingressの機能を紹介
● URL path based routing
● Name based virtual hosting
● TLS
● Loadbalancing, Health checks
22
URL path based routing
foo.bar.com/foo
service1:80 service2:80
Ingress
foo.bar.com/bar
/foo /bar
23
foo.bar.com/foo foo.bar.com/bar
URL path based routing: ingress.yaml
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /foo
backend:
serviceName: service1
servicePort: 80
- path: /bar
backend:
serviceName: service2
servicePort: 80
24
Name based virtual hosting
foo.bar.com
service1:80 service2:80
Ingress
bar.foo.com
25
foo.bar.com bar.foo.com
Name based virtual hosting: ingress.yaml
spec:
rules:
- host: foo.bar.com
http:
paths:
- backend:
serviceName: service1
servicePort: 80
- host: bar.foo.com
http:
paths:
- backend:
serviceName: service2
servicePort: 80
26
Name based virtual hosting: curlで確認
$ curl --resolve foo.bar.com:123.456.789.012 http://foo.bar.com/
27
<title> Welcome to service1 </title>
$ curl --resolve bar.foo.com:123.456.789.012 http://bar.foo.com/
<title> Welcome to service2 </title>
$ curl http://123.456.789.012/
<body>... default backend - 404 </body>
TLS
● 機能
○ 現在(2017/04/20)サポートしているのは port 443のみ
○ HTTPのブロッキング機能
● 出来ないこと
○ HTTP to HTTPSのリダイレクト機能はない (2017/04/20)
28
TLSの設定方法
1. 証明書を作る
29
2. secretのリソースを作る。これをIngress側で指定する 
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/tls.key
-out /tmp/tls.crt -subj "/CN=foo.bar.com"
$ kubectl create secret tls tls-secret --key=/tmp/tls.key --cert=/tmp/tls.crt
TLS: ingress.yaml
spec:
tls:
- secretName: tls-secret
backend:
serviceName: echoheaders-https
servicePort: 80
30
$ kubectl describe ing
TLS:
tls-secret terminates
Annotations:
url-map: k8s-um-default-simple-ingress--d11e4668b84cb46a
backends: {"k8s-be-30553--d11e4668b84cb46a":"HEALTHY"}
https-target-proxy: k8s-tps-default-simple-ingress--d11e4668b84cb46a
ssl-cert: k8s-ssl-default-simple-ingress--d11e4668b84cb46a
static-ip: k8s-fw-default-simple-ingress--d11e4668b84cb46a
forwarding-rule: k8s-fw-default-simple-ingress--d11e4668b84cb46a
https-forwarding-rule: k8s-fws-default-simple-ingress--d11e4668b84cb46a
target-proxy: k8s-tp-default-simple-ingress--d11e4668b84cb46a
31
HTTPからHTTPSにリダイレクトがしたいです・・
解決策のひとつ
● Nginxを使う
下のをnginxの設定に追加する:
# Replace '_' with your hostname.
server_name _;
if ($http_x_forwarded_proto = "http") {
return 301 https://$host$request_uri;
}
32
HTTPのブロッキング機能
● http(port:80)にアクセスすると404になる
試してわかったこと
● kubectl createで新規でingressを作る場合には正常に動作
● kubectl editで更新した場合は、404にならず普通にリクエストが返って来る
33
HTTPのブロッキング機能: yamlとdescribeの結果
metadata:
name: test
annotations:
kubernetes.io/ingress.allow-http: "false"
Annotations:
backends:
{"k8s-be-30553--d11e4668b84cb46a":"HEALTHY"}
forwarding-rule:
k8s-fw-default-simple-ingress--d11e4668b84cb46a
https-target-proxy:
k8s-tps-default-simple-ingress--d11e4668b84cb46a
static-ip:
k8s-fw-default-simple-ingress--d11e4668b84cb46a
target-proxy:
k8s-tp-default-simple-ingress--d11e4668b84cb46a
https-forwarding-rule:
k8s-fws-default-simple-ingress--d11e4668b84cb46a
ssl-cert:
k8s-ssl-default-simple-ingress--d11e4668b84cb46a
url-map:
k8s-um-default-simple-ingress--d11e4668b84cb46a
34
HTTPのブロッキング 力技
GCPのコンソールから操作してしまえ
35
HTTPのフロントエンドがなくなった!
36
httpでアクセスすると404!! 勝利
37
kubectl describeでannotationsを確認してみる
Annotations:
https-target-proxy: k8s-tps-default-simple-ingress--d11e4668b84cb46a
forwarding-rule: k8s-fw-default-simple-ingress--d11e4668b84cb46a
https-forwarding-rule: k8s-fws-default-simple-ingress--d11e4668b84cb46a
static-ip: k8s-fw-default-simple-ingress--d11e4668b84cb46a
target-proxy: k8s-tp-default-simple-ingress--d11e4668b84cb46a
url-map: k8s-um-default-simple-ingress--d11e4668b84cb46a
backends: {"k8s-be-30553--d11e4668b84cb46a":"HEALTHY"}
ssl-cert: k8s-ssl-default-simple-ingress--d11e4668b84cb46a
forwarding-ruleは残ったまま^^;
38
他の機能
● Loadbalancing
● Health checks
● “/”で200のHTTPのステータスコードを返す。ボデェは何でも大丈夫です.
● 200を返さないとそのアプリにはリクエストが振り分けられなくなる
39
Ingressを用いた弊社の
3D解析エンジンAPIの構成を紹介
40
各プロダクトのバックエンドに解析エンジン
41
自社製3D解析エンジンAPI 内部でIngressを使った構成
3Dモデルのレンダリン
グや解析などの機能
がある
要件と構成
要件
● バージョンアップした時に不具合があればすぐ戻せるように
● 本番に近い開発環境。それぞれのURLがある
構成
● Blue-Green Deployment
○ Service側で切り替える
● 本番環境と開発環境を同じK8Sで構築。それぞれにドメインを振る
○ 同じK8Sので動かして本番と簡易初で Serviceを分ける
42
Blue/Greenについて
43
Blue/Greenについて
Blue Green GreenBlue
current version
Client
selector
next version1 next version2
first release second release
44
Ingress
Production
解析エンジン
blue pod
解析エンジン
green pod
Service
selector:
color : blue
今回の構成: Blue/Green
45
今回の構成: Blue/Green DeploymentとService
kind: Deployment
metadata:
name: my-app-blue
spec:
replicas: 2
template:
metadata:
labels:
app: my-app
color: blue
spec:
containers:
- name: my-app
image: gcr.io/dev/myapp
kind: Service
metadata:
name: my-app
spec:
type: NodePort
ports:
- protocol: TCP
port: 80
name: http
selector:
app: my-app
color: blue
46
本番環境と開発環境
本番環境
● Blue/Green
開発環境
● K8SのServiceを本番と開発で分ける
● Ingressでドメインで本番と開発のそれぞれのServiceに振り分ける
47
構成図
48
Production Development
Ingress
解析エンジン
blue pod
解析エンジン
green pod
Service(Production)
url: foo.bar.com
selector:
color : blue
Service(Develop)
解析エンジン
dev version
url: food.bar.com
foo.bar.com
food.bar.com
48
まとめ
49
まとめ: ハマったところ
● kubectl editしても更新されない設定がある。よくわからない
● 反映されるのに多少の時間がかかるので、設定が間違っているのか、反映中なの
か分かりづらい
● 情報が少ない。ingressで検索すると某ゲームが・・・。
○ なのでingress kubernetesで検索してました
● 初のK8Sだったので新しい概念を獲得するのが大変だった・・・・
○ 人にまんまK8Sの用語で説明しても当たり前だけと理解されない・・・
■ 人類は分かり合えないのか・・・
50
まとめ
● メリット
○ GCPのロードバランサーが使える( GKEかGCE)
○ 一通りの機能がある( URL path, virtual hosting, TLS, LB) 自前で用意する必要がない
○ kubernetesの仕組みだけを使ってサービスの構成出来る
● デメリット
○ Nginxほどの自由でない
○ 名前を聞くと某ゲームが思い浮かぶ。 IngressDonっていう名前にすべきだった
● 感想
○ いい感じに抽象化されていると思う
○ ただ、下の層でなにかトラブルが起きたときとかに苦労しそう・・・
51
参考にしたサイト
Ingress Resources(K8Sの公式)
https://kubernetes.io/docs/concepts/services-networking/ingress
kubernetes/ingress/controllers/gce/README.md
https://github.com/kubernetes/ingress/tree/master/controllers/gce
52
おまけ
53
Kabuku開発ブログ https://www.kabuku.co.jp/developers
54
カブクではエンジニアを募集してます!
● サーバーサイドエンジニア
○ Python, Google Cloud Platform
● フロントエンドエンジニア
○ TypeScript,Angular
アットホームな職場です!
https://www.kabuku.co.jp/#jobs
55
56
おしまい

More Related Content

What's hot

What's hot (20)

Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
 
マイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorpマイクロサービス時代の生存戦略 with HashiCorp
マイクロサービス時代の生存戦略 with HashiCorp
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
Rancher使ってみたよ(初心者向け)
Rancher使ってみたよ(初心者向け)Rancher使ってみたよ(初心者向け)
Rancher使ってみたよ(初心者向け)
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介軽量Kubernetes環境 K3Sのご紹介
軽量Kubernetes環境 K3Sのご紹介
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOcean
 
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSHDevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
 
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうかRe: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうか
 
Docker Swarm モード にゅうもん
Docker Swarm モード にゅうもんDocker Swarm モード にゅうもん
Docker Swarm モード にゅうもん
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 
Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号Docker技術情報アップデート 2015年7月号
Docker技術情報アップデート 2015年7月号
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~
 
普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見普通のRailsアプリをdockerで本番運用する知見
普通のRailsアプリをdockerで本番運用する知見
 

Viewers also liked

Viewers also liked (7)

Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev Kubernetes Intro @HaufeDev
Kubernetes Intro @HaufeDev
 
Overview of webSpoon @ Pentaho Bay Area Meetup
Overview of webSpoon @ Pentaho Bay Area MeetupOverview of webSpoon @ Pentaho Bay Area Meetup
Overview of webSpoon @ Pentaho Bay Area Meetup
 
Dear IT...I'd Like A Kubernetes Cluster
Dear IT...I'd Like A Kubernetes ClusterDear IT...I'd Like A Kubernetes Cluster
Dear IT...I'd Like A Kubernetes Cluster
 
Hands-on demo of PDI using webSpoon
Hands-on demo of PDI using webSpoonHands-on demo of PDI using webSpoon
Hands-on demo of PDI using webSpoon
 
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
Overview of webSpoon @ Pentaho Community Meeting 2016 (PCM16)
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&D
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 

Similar to Ingress on GKE/GCE

配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
yut148atgmaildotcom
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
Yohei Fushii
 
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングHaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
Kiwamu Okabe
 
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用
Lumin Hacker
 

Similar to Ingress on GKE/GCE (20)

配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
 
Azure de debian
Azure de debianAzure de debian
Azure de debian
 
Metahub for github
Metahub for githubMetahub for github
Metahub for github
 
ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!ホームディレクトリに埋もれた便利なコードをさがせ!
ホームディレクトリに埋もれた便利なコードをさがせ!
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?ゲームの通信をつくる仕事はどうなるのだろう?
ゲームの通信をつくる仕事はどうなるのだろう?
 
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングHaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
 
2012/06/28 #ssmjp
2012/06/28 #ssmjp2012/06/28 #ssmjp
2012/06/28 #ssmjp
 
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみたPHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
 
インフラエンジニアのためのKrypton For DevOps入門
インフラエンジニアのためのKrypton For DevOps入門インフラエンジニアのためのKrypton For DevOps入門
インフラエンジニアのためのKrypton For DevOps入門
 
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
MastodonインスタンスをセットアップできるスタートアップスクリプトについてMastodonインスタンスをセットアップできるスタートアップスクリプトについて
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察
 
Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用Webクローリング&スクレイピングの最前線 公開用
Webクローリング&スクレイピングの最前線 公開用
 

More from shouta yoshikai (6)

Autopilot google kubernetes engineでargo workflowsを動かす
Autopilot google kubernetes engineでargo workflowsを動かすAutopilot google kubernetes engineでargo workflowsを動かす
Autopilot google kubernetes engineでargo workflowsを動かす
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めよう
 
[Lt]versionごとにurlを自動生成
[Lt]versionごとにurlを自動生成[Lt]versionごとにurlを自動生成
[Lt]versionごとにurlを自動生成
 
Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 
Pythonを始めよう
Pythonを始めよう Pythonを始めよう
Pythonを始めよう
 
Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 

Recently uploaded

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 

Recently uploaded (8)

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上【登壇資料】スタートアップCTO経験からキャリアについて再考する  CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 

Ingress on GKE/GCE