LoginSignup
1
1

More than 5 years have passed since last update.

Kubeadm + Helm 使ってGitLab CIを試したい ② ~クラスタを作るの巻~

Last updated at Posted at 2018-04-12

本当はAnsibleとか使ってプロビジョニングするのが良きなのでしょうが
そこまでまだ勉強できていませんということで,

愚直に,公式にそって入れていきます.
まず,Masterから.

早速暗雲

k8s公式のBefore you beginに,

  • 2 GB or more of RAM per machine (any less will leave little room for your apps)
  • 2 CPUs or more

とありますねぇ.まぁ.無視で.

まずDocker入れる

公式に従って,下記コマンドでインストール.
これバージョン古い気がするけどいいのかな.

# yum install -y docker

ちなみにインストールされたDockerのバージョンは1.13.1・・・古い...(´・ω・`)
そのせいかdocker daemonを起動できません.SELinuxがpermissiveにもかかわらず.
仕方ないですね.Disabledにしましょう.
やりかたはこちら参照.
でようやくdocker daemonを起動します.

# systemctl enable docker 
# systemctl start docker

ちなみに初期のrootパスワードはいじってなければvagrantです.

次にkubeadmとkubeletとkubectlをインストールします.

まずリポジトリ登録から.

# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

そして,インストールしてkubeletを起動します.

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet

CentOS入れてるので下記の処理もやります.

# cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# sysctl --system

次にkubeadmでセキュアなクラスターを作ります.

ここで,公式通りにやると暗雲立ち込めたあの子たちのせいでエラーが返ってきます.
kubeletちゃんと動いてないよsystemctl status kubeletで見ろよと言われるので見る.

するとswapはサポートされてないよを言われる.
ふと,GitLab入れるときとかメモリ足りるか不安になりつつ,
下記のようにswapを無効化してkubelet daemonを再起動します.

# swapoff -a
# systemctl restart kubelet

そして,まだいろいろエラー来るので,下記のようにして黙殺.(良いのかはわからない)

# kubeadm init --ignore-preflight-errors all

クラスターができたので,マスターノードの一般ユーザーから,ノードの管理(kubectl)ができるようにする.

ちなみに,kubeadm initするとセキュアなクラスターができます.それがkubeadmのポリシー.
なので,デフォルトでRBACがオンになっている.

まずはkubeadm initしたときに結果が出力されているので,その通りにやります.
出力結果はどこかにメモしておくのが吉かもしれない.

# exit
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

これで,kubeadm 使って,vagrantユーザーからクラスタの管理ができるようになりました.

こっからNode間のネットワークのためのツールを入れてようやくNodeをjoinさせられるけど
力尽きました.

また明日改めて書きます.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1