目錄
一、環(huán)境準(zhǔn)備:
二、master節(jié)點(diǎn)修改hosts, 配置主機(jī)可達(dá)
三、將橋接的IPv4流量傳遞到iptables的鏈
四、配置 daemon.json,設(shè)置cgroup的管理方式為systemd及配置阿里云鏡像加速
五、添加yum源
六、安裝 kubeadm,kubelet 和 kubectl
七、master部署k8s
八、將kubeadm join 復(fù)制到兩個(gè)node節(jié)點(diǎn)執(zhí)行
九、在master的節(jié)點(diǎn)上執(zhí)行kubectl get nodes 可查看到各節(jié)點(diǎn)狀態(tài)
十、部署CNI網(wǎng)絡(luò)插件
十一、安裝一個(gè)nginx進(jìn)行測試
一、環(huán)境準(zhǔn)備:
工具:VMware Workstation Pro 16.1
系統(tǒng):CentOS-7-x86_64-DVD-2009?
固定ip:192.168.57.190(master),192.168.57.191(node1),192.168.57.192(node2)
Docker(18.09.9-3.el7)版本不要太高
docker安裝部署請參考我的上一篇文章:http://t.csdn.cn/GUmR1
降級命令:
yum downgrade --setopt=obsoletes=0 -y docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7 containerd.io
二、master節(jié)點(diǎn)修改hosts, 配置主機(jī)可達(dá)
cat >> /etc/hosts << EOF
192.168.57.190?k8smaster1
192.168.57.191?k8snode1
192.168.57.192?k8snode2
EOF
三、將橋接的IPv4流量傳遞到iptables的鏈
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
四、配置 daemon.json,設(shè)置cgroup的管理方式為systemd及配置阿里云鏡像加速
找到 “容器鏡像服務(wù)”–>“鏡像加速器” 菜單,阿里云需要注冊登錄才能看到加速鏈接,每個(gè)注冊的賬號生成的加速鏈接不一樣,可以用網(wǎng)上公開的,也可以用自己的,我這里用的是自己
阿里云登錄 - 歡迎登錄阿里云,安全穩(wěn)定的云計(jì)算服務(wù)平臺
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://98pf6xb4.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
??}
}
EOF
systemctl daemon-reload?&& systemctl restart docker
五、添加yum源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
六、安裝 kubeadm,kubelet 和 kubectl
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet
七、master部署k8s
注意修改成master節(jié)點(diǎn)的ip
kubeadm init --apiserver-advertise-address=192.168.57.190?--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
注意:執(zhí)行以上命令后屏幕上顯示的 :kubeadm join 192.168.57.190:6443 --token xmckhc.106c3ij9zet3ht1s \
--discovery-token-ca-cert-hash sha256:6236e6759e6fe0260900f0276468917fd66c3d0f9a1e3ec35fdfbfc83e645452
八、將kubeadm join 復(fù)制到兩個(gè)node節(jié)點(diǎn)執(zhí)行
九、在master的節(jié)點(diǎn)上執(zhí)行kubectl get nodes 可查看到各節(jié)點(diǎn)狀態(tài)
十、部署CNI網(wǎng)絡(luò)插件
先下載kube-flannel.yml
會被墻,然后各種下載失敗,我在網(wǎng)上找了各種方法來安裝這個(gè)插件,也有直接編輯這個(gè)文件的,也有從百度云上下載傳到宿主機(jī)上的,修改/etc/hosts文件 增加節(jié)點(diǎn) 199.232.68.133 raw.githubusercontent.com
根據(jù)資源清單創(chuàng)建flannel
kubectl create -f kube-flannel.yml
kubectl apply -f kube-flannel.yml
(通過journalctl -f -u kubelet?查看kubelet日志發(fā)現(xiàn)報(bào)錯)
- 查看狀態(tài)
kubectl get pod -n kube-system
kubectl get node
kubectl get pod -A
要全都ready 1/1 status狀態(tài)為running的,可能我筆記本電腦配置低,過了好久才全部啟動
十一、安裝一個(gè)nginx進(jìn)行測試
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
看一下映射的端口為31226
?在master和node節(jié)點(diǎn)執(zhí)行如下命令,看是否啟動成功,一開始我master節(jié)點(diǎn)一直失敗,第二天就好了,可能需要重啟
curl http://192.168.57.190:31226/
curl http://192.168.57.191:31226/
curl http://192.168.57.192:31226/文章來源:http://www.zghlxwxcb.cn/news/detail-664302.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-664302.html
到了這里,關(guān)于使用docker 部署k8s集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!