
kubernetes-card.png
Kubernetes 安裝部署
1.環(huán)境準(zhǔn)備
1.1 部署機(jī)器準(zhǔn)備
| 機(jī)器IP | 主機(jī)名 | 角色 | 系統(tǒng)版本 | 備注 |
|---|---|---|---|---|
| 192.168.3.120 | kube-master | master | CentOS 7.4.1708 | 內(nèi)存2G |
| 192.168.3.122 | kube-node01 | node | CentOS 7.4.1708 | 內(nèi)存2G |
| 192.168.3.123 | kube-node02 | node | CentOS 7.4.1708 | 內(nèi)存2G |
1.2 基礎(chǔ)配置安裝(每臺(tái)機(jī)器都需執(zhí)行)
1.2.1 配置節(jié)點(diǎn)信息
-
修改對(duì)應(yīng)節(jié)點(diǎn)主機(jī)hostname
hostnamectl set-hostname kube-master -
配置DNS
cat <<EOF >>/etc/hosts 192.168.3.120 kube-master 192.168.3.123 kube-node01 192.168.3.122 kube-node02 EOF
1.2.2 配置國(guó)內(nèi)yum源
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update
1.2.3 關(guān)閉防火墻、selinux和swap
-
1 關(guān)閉防火墻
systemctl stop firewalld & systemctl disable firewalld -
2 關(guān)閉selinux
setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config -
3 關(guān)閉swap
swapoff -a yes | cp /etc/fstab /etc/fstab_bak cat /etc/fstab_bak |grep -v swap > /etc/fstab echo vm.swappiness=0 >>/etc/sysctl.conf sysctl -p -
4 設(shè)置路由
yum install -y bridge-utils.x86_64 cat << EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 重新加載所有配置文件
1.2.4 安裝docker
-
配置docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache -
安裝對(duì)應(yīng)版本docker
本次安裝筆者選用:V18.09.9 yum -y install docker-ce-18.09.9 -
安裝版本查看如圖所示
docker_version.jpg -
啟動(dòng)docker服務(wù)并設(shè)置服務(wù)開(kāi)機(jī)自啟動(dòng)
systemctl start docker & systemctl enable docker -
修改docker cgroup驅(qū)動(dòng),與k8s一致
# 修改docker cgroup驅(qū)動(dòng):native.cgroupdriver=systemd cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] } EOF # 重啟使配置生效 systemctl restart docker
1.2.4 k8s組件
-
配置k8s yum源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF #更新yum yum makecache -
master節(jié)點(diǎn)安裝kubelet kubeadm kubectl
#指定版本安裝V1-.17.3 yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3 --disableexcludes=kubernetes -
安裝結(jié)果如圖所示
k8sversion.jpg -
設(shè)置開(kāi)機(jī)自啟動(dòng)kubelet
systemctl enable --now kubelet
2.部署集群
2.1 master節(jié)點(diǎn)安裝
2.1.1 master節(jié)點(diǎn)k8s集群初始化
-
安裝相應(yīng)版本的k8s:V1.17.3
kubeadm init --kubernetes-version=1.17.3 --apiserver-advertise-address=192.168.3.120 --image-repository registry.aliyuncs.com/google_containers --service-cidr=192.1.0.0/16 --pod-network-cidr=192.244.0.0/16 -
安裝結(jié)果如圖所示:
1584073519(1).jpg -
記錄安裝終端末尾顯示的內(nèi)容,此內(nèi)容需要在其它節(jié)點(diǎn)加入k8s集群時(shí)執(zhí)行。
kubeadm join 192.168.3.120:6443 --token 76d8po.jgo5pniao8pomjwc \ --discovery-token-ca-cert-hash sha256:69f401a7aabcc841b5dd857a66b753a6df4133f280bd7560903f2433144a99ec -
配置kubectl工具
#此文件用來(lái)連接集群 mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config -
設(shè)置master節(jié)點(diǎn)為工作節(jié)點(diǎn),可調(diào)度
kubectl taint nodes --all node-role.kubernetes.io/master- -
master節(jié)點(diǎn)部署flannel網(wǎng)絡(luò)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 查看節(jié)點(diǎn)狀態(tài)
2.1.2 node節(jié)點(diǎn)加入
-
執(zhí)行加入集群命令
kubeadm join 192.168.3.120:6443 --token 76d8po.jgo5pniao8pomjwc \ --discovery-token-ca-cert-hash sha256:69f401a7aabcc841b5dd857a66b753a6df4133f280bd7560903f2433144a99ec -
執(zhí)行結(jié)果如圖所示
node_join.jpg
3.集群狀態(tài)查看
3.1 集群節(jié)點(diǎn)狀態(tài)如圖所示

1584081461(1).jpg
博客著作權(quán)歸本作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。



