kubernetes etc.. & rancher 2.0 technical preview “let’s import gke/bluemix/aks k8s clusters...
TRANSCRIPT
Date :2017.10.31Location : Container SIG Meet-up 2017 Fall
Kubernetes etc..&
Rancher 2.0Technical Preview“Let’s import GKE/Bluemix/AKS
K8S Clusters !!”
Multi Containers “K8S”
Community:
Twitter:cyberblack28
Hobby1: Music,Live,FES ! !
Hobby2: Take a picture ! !
https://www.flickr.com/photos/cyberblack/
Job:
Infrastructure Engineer
Frontend Engineer
Technology Evangelist
Profile
Rancher Partner Network
2017年7月からRancher Labsとパートナーシップを締結しました。
導入支援・教育サービスを提供します。
1. Recently kubernetes etc..
2. Rancher 2.0 Technical Preview
Agenda
1. Recently kubernetesetc..
RancherOSさん
Recently kubernetes etc..
Introducing AKS (managed Kubernetes) and Azure Container Registry improvementsby Microsoft Azure 2017.10.24
Azure Container Service (AKS)
Kubernetes環境を管理し、コンテナ
オーケストレーションの専門知識不要
で、コンテナ化されたアプリケーショ
ンを迅速かつ容易に展開および管理で
きます。
実行しているアプリケーションインス
タンス料金のみで、マネージドサービ
スとして提供されているkubernetesは
無料で提供されます。
Recently kubernetes etc..
Docker Platform and Moby Project add Kubernetes by docker blog 2017.10.17
DockerCon17 EUで、次のDockerのバージョンからオーケストレータとしてSwarmとKubernetesをサポートすると発表!!
まずは、Docker Enterprise Editionから!!
Recently kubernetes etc..
次バージョンのDocker for Win/Macでは、ローカルにKubernetes環境も自動構築。DockerConEurope 2017 by Publickey 2017.10.18
インストールすると自動的にDocker環境とシングルクラスタによるKubernetesの開発環境がローカルに提供されます!!
Recently kubernetes etc..
コンテナオーケストレーションで「Kubernetes」が優勢by ZDNet Japan 2017.6.5
マイクロソフト、アプリを自動的にDockerコンテナ化してKubernetesへデプロイしてくれる「Draft」をオープンソースで公開
by Publickey 2017.6.5
CoreOSがKubernetes-as-a-Service/etcd-as-a-Serviceなど発表。どのクラウドでもオープンなコンテナプラットフォームを実現
by Publickey 2017.6.7
SUSE CaaS Platformが正式リリース。Kubernetes、SLE MicroOS、Saltを統合したコンテナプラットフォーム
by Publickey 2017.6.21
Recently kubernetes etc..
AWSがCNCFのプラチナ会員に--「Kubernetes」を正式サポート by ZDNet.com 2017.8.10
??
Recently kubernetes etc..
GitHub Goes All in on Kubernetesby THENEWSTACK 2017.8.16
SRE(Site Reliability Engineering)の事例としても興味深い!!
Recently kubernetes etc..
Introducing Pivotal Container Service (PKS), The Simple Way to Bring Kubernetes to Enterprise Customersby Pivotal 2017.8.28
企業レベルのKubernetesを簡単に導入及び運用、そしてコンテナベースのワークロードに移行して VMware vSphereとGoogle Cloud Platform(GCP)上でも稼働。
Recently kubernetes etc..
Mesosphere DC/OSがKubernetesをサポートすると発表。コンテナオーケストレーションの事実上の標準へ勢いを増すKubernetesby Publickey 2017.9.7
• 100%純粋なkubernetesのオフィ
シャルディストリビューション
• パブリッククラウドのように簡単に
kubernetesを実行
• DC/OSクラスタ上で本番品質の
kubernetes運用が可能
特徴
Recently kubernetes etc..
あらゆるところでkubernetesを採用する動向があり、
今後も増えていく傾向が見込めます。
具体的にどれほどのものがあるのか、以下の観点に分
けて整理したいと思います。
Distribution
PaaS
Managed
Installation/Operations
Distribution
19
Kubernetes as a Mesos framework
Spectrum Conductor
コアコンポーネントを強化して、独自機能等を追加し、kubernetesを補完したコンテナ管理プラットフォーム。
PaaS
11
Baasil.ioTsuru
Kuberneteや拡張したディストリビューション上に構築されたハイレベルな開発ワークフロー環境。
Managed
21KCluster
Kubernetes as a Service
Installation/Operations
15
Clocker
kopsbootkube
kubedam
K2kraken
任意のノード上(publicまたはprivate含む)にkubernetesを自動構築するためのメカニズム/スクリプト/ツール。
Clocker kops
bootkube
kubedam
K2kraken
KCluster
Baasil.ioTsuruKubernetes as a Mesos framework
Spectrum Conductor
Total
66※2017年6月調べ
Investigating of Kubernetes Platform
開発元、プロダクト/プロジェクト名、github、websiteのURL一覧をQiitaに掲載していますので、ご参考になれば幸いです。
https://qiita.com/cyberblack28/items/e4836b4ff06156f69588
2. Rancher 2.0 Technical Preview
Rancher君
Cupertino,Calif. – September 26,2017 – Rancher Labs
Announced the availability of the technical preview of Rancher 2.0
What’s new in Rancher 2.0 ?
Rancher 1.xBuilt on Docker
Rancher 2.0Built on Kubernetes
What’s new in Rancher 2.0 ?
• Cattle now runs on kubernetes
• Redsigned UI
• Rancher UX and catalogs on kubernetes
• Import existing kubernetes clusters
• RBAC and shared hosts between environments*
• Centralized logging and monitoring*
• Integrated CI/CD*
*Coming soon (Q4 2017)
What’s new in Rancher 2.0 ?
Rancher 2.0は、Kubernetes上に構築された
完全なコンテナ管理プラットフォームです。
Import existing kubernetes clusters
Container Engine
Other Kubernetes Clusters
GKE、Azure Container Service、IBM Bluemix
Other kubernetes cluster をインポートして管理
MultiContainers “k8s”
Let’s import GKE Kubernetes Clusters
1. GKE kubernetes clustersを構築して、Guestbookをデプロイ
2. Rancher2.0 Serverを構築
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
1.GKE kubernetes clustersを構築して、Guestbookをデプロイ
1. Google Cloud Platformに申し込む (https://cloud.google.com/?hl=ja)
2. Guestbookのチュートリアルを実施(https://cloud.google.com/container-engine/docs/tutorials/guestbook?hl=ja)
a.K8S Clusterの構築
b.Guestbookのデプロイ
12ヶ月$300 の無料クレジットで、
あらゆる GCP プロダクトをお試し可能。
2.Rancher2.0 Serverの構築
1. Compute Engineから「VMインスタンス」を選択します。
2. 「インスタンスを作成」をクリックします。
2.Rancher2.0 Serverの構築
3. 以下の内容でインスタンスを作成します。任意の名前を入力します。ここでは「rancher-server」とします。
ゾーンは、「asia-northeast1-c」とします。
ブートディスクは、「Ubuntu 16.04 LTS」、ディスクサイズは「100GB」とします。
「HTTPトラフィックを許可する」と「HTTPSトラフィックを許可する」にチェックを入れます。
「作成」をクリックします。
2.Rancher2.0 Serverの構築
4. 作成したインスタンスにSSH接続します。
「ブラウザウィンドウで開く」を選択します。
2.Rancher2.0 Serverの構築
5. rootのパスワードを設定します。
$ sudo passwd root
2.Rancher2.0 Serverの構築
6. Dockerをインストールします。
$ curl https://releases.rancher.com/install-docker/1.12.6.sh | sh
2.Rancher2.0 Serverの構築
7. Rancher2.0 Serverをインストールします。
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:preview
2.Rancher2.0 Serverの構築
8. ブラウザでRancher2.0 Serverの管理画面にアクセスします。
http://インスタンスの外部IP:8080/
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
1. Welcome to Rancher! の「Got It」をクリックします。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
2. Use existing Kubernetesの「Select」ボタンをクリックします。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
3. 「Save」ボタンをクリックします。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
4. 表示されているkubectlコマンドをコピーして、GKE K8Sクラスタで実行します。
a.kubectlコマンドをコピーします。c.「Close」ボタンをクリックします。
b.Google Cloud SDK Shellでコピーしたkubectlコマンドを実行します。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
5. GKEのK8S Clusterがインポートできていることを確認します。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
6. 上部メニューの「Containers」を選択すると、クラスタ上のコンテナーを確認できます。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
7. 上部メニューの「Advanced」を選択して、「Launch Dashboard」をクリックするとkubernetes dashboardが表示されます。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
8. Rancher Server側からもkubernetes dashboardを起動できます。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
9. 「Launch kubectl」をクリックするとkubectl shellを起動できます。
3. Rancher2.0 ServerにGKE kubernetes clustersをインポート
Rancher 2.0 Architecture
RancherController
Netes-agent MySQL
EmbeddedK8S Master
AuthProxy
RancherAgent
GKEK8S Master
kubectlDocker
Daemon
RancherAgent
kubectlDocker
Daemon
Rancher Server
Rancher Host
GKE Host
kubectl
K8s API
Rancher
UICLIAPI
Let’s import Bluemix & AKS Kubernetes Clusters
1. Rancher2.0 ServerにBluemix kubernetes clustersをインポート
2. Rancher2.0 ServerにAKS kubernetes clustersをインポート
AzureContainerService
1.Bluemixにログインして、クラスタの作成
「コンテナーでのアプリのデプロイ」をクリックします。
「Lite plan」を選択して、「クラスターの作成」ボタンをクリックします。
Let’s import Bluemix Kubernetes Clusters
「準備完了」であることを確認します。
2.Bluemix CLI と kubernetes CLIをダウンロードしてインストールします。
Bluemix CLI(Mac,Linux,Windows)をダウンロードしてインストールします。今回はWindows版を利用します。
https://clis.ng.bluemix.net/ui/home.html
Let’s import Bluemix Kubernetes Clusters
上記からkubernetes.exeをダウンロードします。
https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe
C:\Program Files\IBM\Bluemix\bin
kubernetes.exeを上記フォルダに移動します。
Let’s import Bluemix Kubernetes Clusters
3.Bluemix CLIから以下のコマンドを実行します。
>bx plugin install container-service -r Bluemix
>bx login -a https://api.au-syd.bluemix.netEmail >Password >アカウントを選択します (または Enter キーを押してスキップします):1.アカウント名's Account (aa1a87213f3f04723ea30ef1451088ae)数値を入力してください> 1ターゲットのアカウントアカウント名's Account (aa1a87213f3f04723ea30ef1451088ae)
ターゲットのリソース・グループ Default
API エンドポイント: https://api.au-syd.bluemix.net (API バージョン: 2.75.0)地域: au-sydユーザー: Email addressアカウント: アカウント名's Account (aa1a87213f3f04723ea30ef1451088ae)リソース・グループ: Default組織:スペース:
Tip: If you are managing Cloud Foundry applications and services- Use 'bx target --cf' to target Cloud Foundry org/space interactively, or use 'bx target -o ORG -s SPACE' to target the org/space.- Use 'bx cf' if you want to run the Cloud Foundry CLI with current Bluemix CLI context.
自分の Bluemix アカウントにログインします。
Let’s import Bluemix Kubernetes Clusters
>bx cs initUsing default API endpoint: https://ap-south.containers.bluemix.netOK
IBM Bluemix Container Service のプラグインを初期化します。
> bx cs cluster-config myclusterOKmycluster の構成は正常にダウンロードされました。 環境変数をエクスポートして Kubernetes の使用を開始してください。
SET KUBECONFIG=C:\Users\y.ichikawa\.bluemix\plugins\container-service\clusters\mycluster\kube-config-mel01-mycluster.yml
ターミナル・コンテキストをクラスターに設定します。
>SET KUBECONFIG=C:\Users\y.ichikawa\.bluemix\plugins\container-service\clusters\mycluster\kube-config-mel01-mycluster.yml
Let’s import Bluemix Kubernetes Clusters
>kubectl get nodesNAME STATUS AGE VERSION10.118.243.175 Ready 1h v1.7.4-1+1540c973d4ff9d
Kubectlコマンドを実行します。
>kubectl proxyStarting to serve on 127.0.0.1:8001
Kubernetes Dashboardも起動できます。
Let’s import Bluemix Kubernetes Clusters
4.Use existing Kubernetesの「Select」ボタンをクリックします。
Let’s import Bluemix Kubernetes Clusters
5.表示されているkubectlコマンドをコピーして、Bluemix K8Sクラスタで実行します。
a.kubectlコマンドをコピーします。c.「Close」ボタンをクリックします。
b.Bluemix CLIでコピーしたkubectlコマンドを実行します。
Let’s import Bluemix Kubernetes Clusters
6. BluemixのK8S Clusterがインポートできていることを確認します。
Let’s import Bluemix Kubernetes Clusters
1.Microsoft Azureにログインし、Cloud Shellを起動します。
a.「Cloud Shell」のアイコンをクリックします。
b.「Bash(Linux)」をクリックします。
Let’s import AKS Kubernetes Clusters
c.「Create storage」ボタンをクリックします。
Let’s import AKS Kubernetes Clusters
2.Cloud Shellで以下のコマンドを実行します。
Let’s import AKS Kubernetes Clusters
$ az provider register -n Microsoft.ContainerService
$ az group create --name myResourceGroup --location westus2
Let’s import AKS Kubernetes Clusters
$ az aks create --resource-group myResourceGroup --name myK8sCluster --agent-count 1 --generate-ssh-keys
$ az aks install-cli
Let’s import AKS Kubernetes Clusters
$ az aks get-credentials --resource-group=myResourceGroup --name=myK8sCluster
$ kubectl get nodes
Let’s import AKS Kubernetes Clusters
3.Use existing Kubernetesの「Select」ボタンをクリックします。
Let’s import AKS Kubernetes Clusters
4.表示されているkubectlコマンドをコピーして、AKS K8Sクラスタで実行します。
a.kubectlコマンドをコピーします。c.「Close」ボタンをクリックします。
b.Cloud Shellでコピーしたkubectlコマンドを実行します。
Let’s import AKS Kubernetes Clusters
5. AKSのK8S Clusterがインポートできていることを確認します。
Get Started with Rancher 2.0
Step1 : Prepare a Linux Host
OS Ubuntu 16.04 (kernel 3.1.0 +) or RHEL/CentOS7.3
Mem 2GB +
Disk 80GB +
Docker Docker v1.12.6Docker v1.13.1Docker v17.03-ceDocker v17.06-ce
Step2 : Start the server
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:preview
Step3 : Browser Access
http://hostIP:8080
Q & A
Q:1.6系のサポートってどうなるの?A:2018年内は行う。
Q:Cattleって、結局どうなったの?A:オーケストレーターの位置づけから、オーケストレーターを管理するための部品という位置づけになる??
Q:SwarmとMesosは完全になくなったの?A:カタログからデプロイできる方向になる予定
Q:Windows Containerサポートはどうなるの?A:無くすつもりはないが、Docker社とMicrosoftの動向を見ながら検討
Q:これまでのカタログは全て稼働するの?A:動かせるようにするのが最終ゴール!もう少し待ってね!
Document of Rancher 2.0
・Rancher Labshttps://rancher.com/announcing-rancher-2-0/
・Rancher Labs Japanhttps://prtimes.jp/main/html/rd/p/000000003.000027827.html
Press Release
Rancher 2.0 Special Sitehttps://rancher.com/rancher2-0/
DEEP DIVE AND DEMO
https://www.youtube.com/watch?v=cATqiXBZ8MY&feature=youtu.be
TECHNICAL ARCHITECTURE
https://cdn2.hubspot.net/hubfs/468859/Whitepapers/Rancher%202.0%20Technical%20Architecture%20-%20Sept%202017.pdf
Document of Rancher 2.0
・Rancher 2.0をGKEクラスタにデプロイして,そのGKEクラスタ自身を管理するhttps://qiita.com/AkihiroSuda/items/011d0f10ac4ece8061a3
・Rancher 2.0 と戯れてみるhttps://qiita.com/FoxBoxsnet/items/88b35e52fa075077fccb
・Rancher 2.0 Tech Previewを触るhttps://qiita.com/RyoMa_0923/items/dc63f59243d79651e8b9
・MySQL ReplicationのStackを作る(Rancher 2.0 Tech Preview版)https://qiita.com/RyoMa_0923/items/132bee03b531effc2907
・Rancher 2.0 Technical PreviewでGKE Kubernetes Clusterをインポートしてみるhttps://qiita.com/cyberblack28/items/bc01122a634150335b6f
・Rancher 2.0 Technical PreviewでBluemix Kubernetes Clusterをインポートしてみるhttps://qiita.com/cyberblack28/items/ed8a9fa4dba25012f80b
・Rancher 2.0 Technical PreviewでGKE Kubernetes Clusterをインポートしてみるhttps://qiita.com/cyberblack28/items/f6656a46c08d982ac460
Qiita
Rancher Labs Sessions at kubeCon
Building Helm Charts From the Ground Up: An introduction to Kubernetes [I]
– Amy Chen 12/7 11:55am – 12:30am
Using Kubernetes API from Go [B]
– Alena Prokharchyk 12/7 4:35pm – 5:10pm
Webhooks for Automated Updates [B]
– Rajashree Mandaogane 12/8 11:55am – 12:30am
Rancher Meetup Tokyo #11
日時:2017年11月15日(水) 19:00(18:30から入場可)~21:00
会場:エビススバルビル「EBiS303」カンファレンススペースA
住所:東京都渋谷区恵比寿1-20-8 エビススバルビル5階
登録:https://rancherjp.connpass.com/event/68806/
Thank you for yourattention !!