LoginSignup
5
8

More than 5 years have passed since last update.

CentOS7でKubernetesをall-in-one構成で動かす

Posted at

参考記事:https://qiita.com/sheepland/items/d63bfe24c8e363132f7a

Kubernetesのインストール

ホストネームを変える

# sudo hostnamectl set-hostname 'k8s-master'
# echo "10.26.5.22 k8s-master" >> /etc/hosts

簡単のためSELinux、Firewallを止める(本番環境ではやらないでください)

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# systemctl stop firewalld && systemctl disable firewalld

Dockerのインストール

# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum makecache fast
# yum remove docker docker-common docker-selinux docker-engine
# yum install docker-ce
# systemctl restart docker && systemctl enable docker

Kubernetesのリポジトリを登録

# cat <<EOF > /etc/yum.repos.d/hoge.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$(uname -m)
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

Kubeadm(Kubernetesをいい感じに入れてくれるやつ)のインストール

# yum install kubeadm
# systemctl restart kubelet && systemctl enable kubelet

Master Nodeの作成

# swapoff -a
# kubeadm init

kubeadm initが成功すると次に行う作業が表示されるので行う。
なお、同時に表示されるkubeadm join --token ~~はall-in-one構成では現状必要ない。

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

ネットワークの作成

# export kubever=$(kubectl version | base64 | tr -d '\n')
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
serviceaccount "weave-net" created
clusterrole "weave-net" created
clusterrolebinding "weave-net" created
daemonset "weave-net" created

以下のようになれば成功

# kubectl get nodes
NAME       STATUS    ROLES     AGE       VERSION
kubetest   Ready     master    1h        v1.11.1

KubernetesのMaster NodeをWorker Nodeと兼任させる

ここまででKubernetesのMaster Nodeの設定は終了しているはず。
しかし、KubernetesのMaster NodeはDefaultではWorker Nodeとしては動作しない。
以下のコマンドを打つことで、Worker Nodeとして動作するようになる。
参考:https://mbook-x86.hatenablog.com/entry/2018/04/29/024210

# kubectl taint nodes --all node-role.kubernetes.io/master-
5
8
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
5
8