YOKOHEI.COM

YOKOHEI.COM

›Kubernetes the Hard Way

Kubernetes Basics

  • Kubernetes Basics
  • Commands
  • Static Pod
  • Drain & Uncordon
  • Cluster Upgrade
  • Backup & Restore
  • Certification
  • RBAC
  • CNI
  • CoreDNS
  • Ingress

Kubernetes the Hard Way

  • the Hard Way?
  • AWS Prerequisites
  • CA and TLS
  • Configuration Files
  • Data Encryption
  • Bootstrapping etcd
  • Bootstrapping Control Plane
  • Bootstrapping Worker Node
  • kubectl configuraton
  • Pod Network
  • RBAC for Kubelet
  • Coredns Add-On
  • Test
  • TLS Bootstrapping

Amazon EKS

  • EKS Introduction
  • Ingress with ALB
  • PersistentVolume with EBS
  • NetworkPolicy with Calico
  • Secret with KMS
  • EKS Hands-On

AWS インフラの準備

今回の設定

  • AWS 上に構築する
  • マスターノード 2 台の冗長構成
  • etcd は Stacked Topology
  • ワーカーノードも 2 台

参考資料

https://github.com/mmumshad/kubernetes-the-hard-way
https://github.com/kelseyhightower/kubernetes-the-hard-way

AWS リソースの準備

VPC とサブネットの作成

VPC は 192.168.0.0/16 で作成。サブネットはとりあえず 2 AZ で用意し 192.168.0.0/24 および 192.168.1.0/24 で作成。

ネットワーク周りの作成

IGW を紐付け、パブリックサブネットとする。
セキュリティグループについては、現時点では自分の手元からの SSH と、VPC 内の全トラフィックを許可。

インスタンスの準備

今回マスターもワーカーも 2 ノードずつなので AZ ごとに冗長構成とする。
AMI はとりあえずサンプルでも使ってた ubuntu にする。

また、サンプルの vagrant で用意していたものと同じだけの(カバーできるような)コンピューティングリソースを念のため利用する。

マスターノード
vCPU: 2
memory: 2048
-> t2.medium
AMI: Ubuntu Server 18.04 LTS ami-06358f49b5839867c (64 ビット x86)

ワーカーノード
vCPU: 2
memory: 512
-> t2.micro
AMI: Ubuntu Server 16.04 LTS ami-03ef731cc103c9f09 (64 ビット x86)
(Docker の都合から、ワーカーだけ 16.04 を使うことにした)

とりあえず、これで。
マスターノードに ssh キーを持たせ、マスターノードから ssh できるようにしておく。
また、ツールインストールのためパブリック IP (または NATGW) が必要。

ツールの準備

kubectl のインストール

$ wget https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/linux/amd64/kubectl
$ chmod +x kubectl
$ sudo mv kubectl /usr/local/bin/
$ kubectl version --client
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
← the Hard Way?CA and TLS →
▼ Codes ▼
LeetCodeGitHub
▼ Profile ▼
LinkedInFlickr
▼ Logo made with DesignEvo ▼
DesignEvo
Copyright © 2020 Kohei Yoshida