参考記事: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-