使用docker 部署k8s集群

目录

一、环境准备:

二、master节点修改hosts, 配置主机可达

三、将桥接的IPv4流量传递到iptables的链

四、配置 daemon.json,设置cgroup的管理方式为systemd及配置阿里云镜像加速

五、添加yum源

六、安装 kubeadm,kubelet 和 kubectl

七、master部署k8s

八、将kubeadm join 复制到两个node节点执行

九、在master的节点上执行kubectl get nodes 可查看到各节点状态

十、部署CNI网络插件

十一、安装一个nginx进行测试


一、环境准备:

工具:VMware Workstation Pro 16.1

系统: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节点修改hosts, 配置主机可达

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,设置cgroup的管理方式为systemd及配置阿里云镜像加速

找到 “容器镜像服务”–>“镜像加速器” 菜单,阿里云需要注册登录才能看到加速链接,每个注册的账号生成的加速链接不一样,可以用网上公开的,也可以用自己的,我这里用的是自己
阿里云登录 – 欢迎登录阿里云,安全稳定的云计算服务平台

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节点的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

注意:执行以上命令后屏幕上显示的 :kubeadm join 192.168.57.190:6443 –token xmckhc.106c3ij9zet3ht1s \

–discovery-token-ca-cert-hash sha256:6236e6759e6fe0260900f0276468917fd66c3d0f9a1e3ec35fdfbfc83e645452

八、将kubeadm join 复制到两个node节点执行

九、在master的节点上执行kubectl get nodes 可查看到各节点状态

使用docker 部署k8s集群插图

十、部署CNI网络插件

先下载kube-flannel.yml

会被墙,然后各种下载失败,我在网上找了各种方法来安装这个插件,也有直接编辑这个文件的,也有从百度云上下载传到宿主机上的,修改/etc/hosts文件 增加节点 199.232.68.133 raw.githubusercontent.com

根据资源清单创建flannel

kubectl create -f kube-flannel.yml kubectl apply -f kube-flannel.yml

(通过journalctl -f -u kubelet 查看kubelet日志发现报错)

  • 查看状态
kubectl get pod -n kube-system kubectl get node kubectl get pod -A

要全都ready 1/1 status状态为running的,可能我笔记本电脑配置低,过了好久才全部启动

使用docker 部署k8s集群插图1

十一、安装一个nginx进行测试

kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --port=80 --type=NodePort kubectl get pod,svc

看一下映射的端口为31226

使用docker 部署k8s集群插图2

在master和node节点执行如下命令,看是否启动成功,一开始我master节点一直失败,第二天就好了,可能需要重启

curl http://192.168.57.190:31226/

curl http://192.168.57.191:31226/

curl http://192.168.57.192:31226/

使用docker 部署k8s集群插图3

原文链接:https://blog.csdn.net/qq_41787597/article/details/131661684?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836883916800184138762%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836883916800184138762&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-2-131661684-null-null.nonecase&utm_term=docker%E9%83%A8%E7%BD%B2

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享