Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

Japan Container Day 2018 Slide 1 Japan Container Day 2018 Slide 2 Japan Container Day 2018 Slide 3 Japan Container Day 2018 Slide 4 Japan Container Day 2018 Slide 5 Japan Container Day 2018 Slide 6 Japan Container Day 2018 Slide 7 Japan Container Day 2018 Slide 8 Japan Container Day 2018 Slide 9 Japan Container Day 2018 Slide 10 Japan Container Day 2018 Slide 11 Japan Container Day 2018 Slide 12 Japan Container Day 2018 Slide 13 Japan Container Day 2018 Slide 14 Japan Container Day 2018 Slide 15 Japan Container Day 2018 Slide 16 Japan Container Day 2018 Slide 17 Japan Container Day 2018 Slide 18 Japan Container Day 2018 Slide 19 Japan Container Day 2018 Slide 20 Japan Container Day 2018 Slide 21 Japan Container Day 2018 Slide 22 Japan Container Day 2018 Slide 23 Japan Container Day 2018 Slide 24 Japan Container Day 2018 Slide 25 Japan Container Day 2018 Slide 26 Japan Container Day 2018 Slide 27 Japan Container Day 2018 Slide 28 Japan Container Day 2018 Slide 29 Japan Container Day 2018 Slide 30 Japan Container Day 2018 Slide 31 Japan Container Day 2018 Slide 32 Japan Container Day 2018 Slide 33 Japan Container Day 2018 Slide 34 Japan Container Day 2018 Slide 35 Japan Container Day 2018 Slide 36 Japan Container Day 2018 Slide 37 Japan Container Day 2018 Slide 38 Japan Container Day 2018 Slide 39 Japan Container Day 2018 Slide 40 Japan Container Day 2018 Slide 41 Japan Container Day 2018 Slide 42 Japan Container Day 2018 Slide 43 Japan Container Day 2018 Slide 44 Japan Container Day 2018 Slide 45 Japan Container Day 2018 Slide 46 Japan Container Day 2018 Slide 47 Japan Container Day 2018 Slide 48 Japan Container Day 2018 Slide 49 Japan Container Day 2018 Slide 50 Japan Container Day 2018 Slide 51 Japan Container Day 2018 Slide 52 Japan Container Day 2018 Slide 53 Japan Container Day 2018 Slide 54 Japan Container Day 2018 Slide 55 Japan Container Day 2018 Slide 56 Japan Container Day 2018 Slide 57 Japan Container Day 2018 Slide 58 Japan Container Day 2018 Slide 59 Japan Container Day 2018 Slide 60 Japan Container Day 2018 Slide 61 Japan Container Day 2018 Slide 62 Japan Container Day 2018 Slide 63 Japan Container Day 2018 Slide 64 Japan Container Day 2018 Slide 65 Japan Container Day 2018 Slide 66 Japan Container Day 2018 Slide 67 Japan Container Day 2018 Slide 68 Japan Container Day 2018 Slide 69 Japan Container Day 2018 Slide 70 Japan Container Day 2018 Slide 71 Japan Container Day 2018 Slide 72 Japan Container Day 2018 Slide 73 Japan Container Day 2018 Slide 74 Japan Container Day 2018 Slide 75 Japan Container Day 2018 Slide 76 Japan Container Day 2018 Slide 77 Japan Container Day 2018 Slide 78 Japan Container Day 2018 Slide 79 Japan Container Day 2018 Slide 80 Japan Container Day 2018 Slide 81 Japan Container Day 2018 Slide 82 Japan Container Day 2018 Slide 83 Japan Container Day 2018 Slide 84 Japan Container Day 2018 Slide 85 Japan Container Day 2018 Slide 86 Japan Container Day 2018 Slide 87 Japan Container Day 2018 Slide 88 Japan Container Day 2018 Slide 89 Japan Container Day 2018 Slide 90 Japan Container Day 2018 Slide 91 Japan Container Day 2018 Slide 92 Japan Container Day 2018 Slide 93 Japan Container Day 2018 Slide 94 Japan Container Day 2018 Slide 95 Japan Container Day 2018 Slide 96 Japan Container Day 2018 Slide 97 Japan Container Day 2018 Slide 98 Japan Container Day 2018 Slide 99
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

20 Likes

Share

Download to read offline

Japan Container Day 2018

Download to read offline

This presentation was used for Japan Container Days 2018.
I explained the important point to use the k8s on Production environment for Japanese Audience.

Related Books

Free with a 30 day trial from Scribd

See all

Japan Container Day 2018

  1. 1. Microsoft Corporation Sr. Cloud Developer Advocate Java Champion Yoshio Terada 40 topic of Kubernetes in 40 minutes
  2. 2. • GlassFish エバンジェリスト at Sun Microsystems 2001 - 2010 • Sr. Java SE/EE エバンジェリスト at Oracle Japan 2010 - 2015 • Sr. Java エバンジェリスト • Sr. Cloud Developer Advocate at Microsoft Japan 2015 – • 多くの技術イベントで登壇 自己紹介
  3. 3. コンテナ関連
  4. 4. コンテナ関連の 注意点
  5. 5. 17. latest タグを使わないで
  6. 6. latest tag は使用しないでください !! $ docker build -t myimage/app:latest . $ docker tag myimage/app:latest private-repo.azurecr.io/myimage/app:latest $ docker push private-repo.azurecr.io/myimage/app:latest
  7. 7. タグには BuildId 等を付けましょう !!
  8. 8. 18. 小さいイメージの作成を心がけましょう
  9. 9. 小さなサイズのイメージを作りましょう! $ docker images|grep openjdk openjdk 8u171-jre-alpine3.8 ccfb0c 83MB openjdk 8u171-jre bef23b 443MB openjdk latest 82f76 977MB
  10. 10. FROM alpine:3.8 as ALPINE RUN apk add tzdata RUN echo "JST-9" > /etc/TZ ##################################################### # Build container image copying from ALPINE artifact ##################################################### FROM payara/micro:5.183 LABEL MAINTAINER Yoshio Terada COPY --from=ALPINE /usr/share/zoneinfo/Asia/Tokyo /etc/localtime COPY --from=ALPINE /etc/TZ /etc/TZ COPY ./target/*.war $DEPLOY_DIR/ROOT.war EXPOSE 80
  11. 11. 19. ユーザのパーミッションは設定しましょう
  12. 12. ユーザのパーミッションを設定しましょう FROM openjdk:8-jre-alpine LABEL MAINTAINER Yoshio Terada COPY ./target/front-end-svc-1.0-SNAPSHOT.jar /tmp/app.jar RUN addgroup -g 1000 java RUN adduser -D -u 1000 -G java java RUN chown java:java /tmp/payara-micro.jar USER java EXPOSE 8080 ENTRYPOINT java -jar /tmp/app.jar
  13. 13. 20. DockerHub のイメージをむやみに信じないで
  14. 14. Kubernetes 関連の 基本編
  15. 15. 21. 今はDeployment の利用を推奨
  16. 16. デプロイメント(Replication)方法の推移 Replication Controller Replica Set Deployment
  17. 17. 22. CPU とメモリのリソースは設定しましょう
  18. 18. リソース使用量の制限 $ kubectl top pod NAME CPU(cores) MEMORY(bytes) account-service-74b64648b7-2bqgs 3m 842Mi account-service-74b64648b7-48kf8 3m 826Mi For CPU entry: The above 0.5(500m) is guaranteed to use the half CPU in 1 CPU. The expression 0.1 is equivalent to the expression 100m, which can be read as “one hundred millicpu”. CPU is always requested as an absolute quantity, never as a relative quantity. For Memory entry: You can express memory as a plain integer or as a fixed- point integer using one of these suffixes: E, P, T, G, M, K. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki. For example, the following represent roughly the same value:
  19. 19. 23. Selector と Label の理解は重要です
  20. 20. Service V1 Pod Account Service V1 Pod Account Service V2 Pod Account Service V2 Pod Account Service Account Service “Label & Selector” の理解は重要!!
  21. 21. 24. Service で LoadBalancer は極力 使用しない
  22. 22. 外部に公開するサービスは基本的に Ingress Controller 経由で公開 プライベート・ネットワーク接続で サービスを内部ロードバランサで 内部公開などに限定して利用
  23. 23. 25. k8s ではまったときはコレ !!
  24. 24. 1. kubectl describe pod 2. kubectl logs POD_NAME 3. kubectl exec -it POD_NAME /bin/sh 4. kubectl get events –w 5. Deploy Ubuntu pod in same NameSpace 問題が発生した時に何をする?
  25. 25. Kubernetes 運用の アドバイス
  26. 26. 26. すべての k8s の機能を利用する 必要はない !! Please Remember J2EE !!
  27. 27. 27.複雑な構成を作らない 運用構成を変えればできる事を 無理して k8s でしない Simple is the Best !!
  28. 28. 28. k8s はポータビリティがある? ある点とない点がある
  29. 29. 28. LB も PV も実装依存
  30. 30. 29. どのバージョンを利用してますか? (バージョン毎に設定や機能の差異がある)
  31. 31. 30. 大規模 k8s クラスタを構築しない !! (ノード数を多く作らない)
  32. 32. 大規模 k8s クラスタを構築するのは 巨大モノリスを作るのと同じ !! • メンテナンス性の低下 • クラスタが壊れた際 全サービスへ影響 (影響大) • k8s の進化は激しく バージョンアップが必須 • 簡単にクラスタの複製を 素早く構築できるレベルが 最適
  33. 33. 31. k8s のバージョン・アップは慎重に !!
  34. 34. ボタン押下、コマンド実行でバージョン・アップ $ az aks upgrade --name yoshio-java-aks ¥ --resource-group yoshio-java-aks ¥ --kubernetes-version 1.11.3 --yes ¥ --debug とても簡単!!
  35. 35. Please Wait !!
  36. 36. 7. k8s の Version Up には注意しましょう Azure 以外でも同様 • コマンドの実行に失敗した場合どうしますか?どうなりますか? • 新しいバージョンにした場合、古い設定は動かない可能性があります - > YAML 設定ファイル修正 -> 新しいコマンド引数の追加 3rd Party ツールは新しいバージョンで動く? 推奨:新しい k8s クラスタの構築
  37. 37. 例:k8s のバージョンアップ Master VM (node) VM (node) Version11.2 Master VM (node) VM (node) Version 12.1 推奨:新規クラスタ構築
  38. 38. 32.ボリュームを扱う際には注意しましょう
  39. 39. Persistence Volume は極力使わないでください !!
  40. 40. Azure だけでなく他の環境でも発生
  41. 41. SDK を使用したファイル 保存・更新機能実装のススメ
  42. 42. 33. DB はマネージド・サービスを利用 !! 開発環境は OK !! でも本番は NG !!
  43. 43. VNet 経由でManaged DB の利用のススメ
  44. 44. Azure Kubernetes Service (AKS) Fully managed Kubernetes orchestration service Auto patching, auto scaling, auto updates Use the full Kubernetes ecosystem
  45. 45. 34. Azure Kubernetes のインストールは かんたん
  46. 46. Azure CLI からのインストール $ az group create --name myAKSCluster --location eastus $ az aks create --resource-group myAKSCluster ¥ --name myAKSCluster ¥ --node-count 3 ¥ --enable-addons monitoring ¥ --generate-ssh-keys
  47. 47. 35. Kubernetes 上で稼働するアプリの デバッグ (Azure Dev Spaces)
  48. 48. Azure Dev SpacesPreview : Azure Dev Spaces
  49. 49. 36. Azure Managed なモニタリング Prometheus/Grafana の設定・管理が不要
  50. 50. 37. kube-advisor : k8s 診断ツール 現時点ではリソース・リミットの指定がない ポッド一覧を表示
  51. 51. 38. Azure DevOps ほんの数クリックで k8s の DevOps 環境構築
  52. 52. (Aka :Visual Studio Team Services) Azure DevOps は無料で利用できます
  53. 53. Azure DevOps Providing
  54. 54. Just only Few Click !!
  55. 55. 無料です!私は営業ではありません!!
  56. 56. 39. Kubernetes 以外の選択肢も考える
  57. 57. Azure でのコンテナ化 Web App for Containers Container Instance Azure Kubernetes Services
  58. 58. Kubernetes はマイクロサービス基盤
  59. 59. Azure Functions for Java Serverless
  60. 60. Kubernetes の全機能を使わなくて も良いと思います。 便利な所を便利に使いこなしましょう
  61. 61. Microsoft Java
  62. 62. Microsoft Corporation Sr. Cloud Developer Advocate Java Champion Yoshio Terada 40 topic of Kubernetes in 40 minutes
  • OdaMakoto

    Aug. 11, 2020
  • ssusercfcf731

    Dec. 14, 2019
  • nemurin

    Aug. 19, 2019
  • HiroshiShiobara

    Jan. 24, 2019
  • tomoyk

    Jan. 11, 2019
  • de3Py

    Jan. 3, 2019
  • tatsuyafukuta1

    Dec. 20, 2018
  • ShinyaKudo

    Dec. 17, 2018
  • hirokohmoto

    Dec. 14, 2018
  • DaizoWakamto

    Dec. 9, 2018
  • tatsuyaitogeek

    Dec. 7, 2018
  • slidesmaq

    Dec. 6, 2018
  • amanoshohei

    Dec. 6, 2018
  • skkzsh

    Dec. 6, 2018
  • hongtaixue

    Dec. 6, 2018
  • syuichitsuji

    Dec. 5, 2018
  • r_matsumura

    Dec. 4, 2018
  • konkicci

    Dec. 4, 2018
  • ssuser932d4a

    Dec. 4, 2018
  • dongkayakuda

    Dec. 4, 2018

This presentation was used for Japan Container Days 2018. I explained the important point to use the k8s on Production environment for Japanese Audience.

Views

Total views

57,016

On Slideshare

0

From embeds

0

Number of embeds

53,587

Actions

Downloads

66

Shares

0

Comments

0

Likes

20

×