千家信息网

Kubernetes搭建部署K8S1.13的详细过程

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"Kubernetes搭建部署K8S1.13的详细过程",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Kubernetes搭建部署K8
千家信息网最后更新 2026年11月03日Kubernetes搭建部署K8S1.13的详细过程

这篇文章主要讲解了"Kubernetes搭建部署K8S1.13的详细过程",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Kubernetes搭建部署K8S1.13的详细过程"吧!

首先我准备了3台CentOS 7 x64的虚拟机,分别对应的角色和IP地址如下:

KS8 10.20.30.63 master

Dcoker01 10.20.30.64 node01

Docker02 10.20.30.55 node02

每一台为了实验的顺利,我都关闭了防火墙和SELinux

Systemctl stop firewalld

Systemctl disable firewalld

Vi /etc/SELinux/config

并且安装了vim

yum install -y vim

以及关闭所有服务器的swap分区:

vim /etc/fstab

把swap这行删除掉后保存

重启虚拟机reboot

接下来需要对每一台添加Host记录,实现主机和IP对应关系,如果您有DNS解析,这一步可以忽略

vim /etc/hosts

接下来为每一台开启网络转发功能

vim /etc/sysctl.conf #插入以下内容

net.ipv4.ip_forward = 1

sysctl -p #生效

cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

使配置生效

sysctl --system

接下来再所有服务器上安装Docker,Kubeadm,kubelet

第一个先装docker

yum install -y docker

systemctl start docker

systemctl enable docker

第二个安装kubeadm,kubelet,kybectl

先更新下yum源

yum update -y

设置kubernetes YUM仓库

https://mirrors.aliyun.com/kubernetes/yum/repos/

vim /etc/yum.repos.d/kubernetes.repo

编辑内容如下:

[kubernetes]

name = Kubernetes

baseurl = https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled = 1

gpgcheck = 1

repo_gpgcheck = 1

gpgkey = https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

查看kubernetes可以安装的版本清单

yum list --showduplicates | grep 'kubeadm\|kubectl\|kubelet'

在这里安装1.13.3

yum install -y kubelet-1.13.3 kubeadm-1.13.3 kubectl-1.13.3 kubernetes-cni-0.6.0-0

所有服务器只设置kubelet开机启动

systemctl enable kubelet

接下来初始化Kubernetes Master(只在K8S服务器上执行)

kubeadm init \

--apiserver-advertise-address=10.20.30.63 \ #master监听的IP地址

--image-repository registry.aliyuncs.com/google_containers \ #指定一个仓库

--kubernetes-version v1.13.3 \ #指定版本

--service-cidr=10.30.0.0/16 \ #指定service网络IP地址段,负载均衡的虚拟IP

--pod-network-cidr=10.244.0.0/16 #指定pod网络,容器用到的IP地址,这个需要和后面用到的yml匹配一致,如下图

++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++

完成后注意执行结果的这段kubeadm join,这是其他节点加入需要的Token

kubeadm join 10.20.30.63:6443 --token mf9dfj.0zaovbosaselcsmq --discovery-token-ca-cert-hash sha256:e06a5190af0a754bed99053eeaac1f419c426b3b9c41d28c187baf08f6ebc19e

生成的证书保存在

然后配置 kubectl

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

可以先看看下载下来的镜像kube-apiserver,kue-controller-manager,kube-proxy,kube-scheduler都是1.13.3版本

Docker images

接下来安装Pod网络插件

++++++++++++++++++++++++

建议先执行这部避免出现下面的问题

docker pull quay.io/coreos/flannel:v0.11.0-amd64

+++++++++++++++++++++++

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

再检查下kubectl get pods -n kube-system

再检查下节点状态

kubectl get node

再检查下命名空间

kubectl get pods --all-namespaces或kubectl get pods --all-namespaces -o wide

接下来就是将Node节点加入到集群中

利用上面的这段在每一台node去执行(Docker01和Docker02)

kubeadm join 10.20.30.63:6443 --token mf9dfj.0zaovbosaselcsmq --discovery-token-ca-cert-hash sha256:e06a5190af0a754bed99053eeaac1f419c426b3b9c41d28c187baf08f6ebc19e

加入成功后可以在K8S(master)看到新Node加入

但需要多等下让他们2个节点准备好

其实在等待节点准备好的期间也就是节点也在拉取docker pull quay.io/coreos/flannel:v0.11.0-amd64

接下来测试下集群,创建一个Nginx的image

kubectl create deployment nginx --image=nginx

可以看到也是在拉取nginx的image到运行起来

接下来发布这个Nginx可以让外部访问

kubectl expose deployment nginx --port=80 --type=NodePort

可以通过kubectl get pods,svc -o wide查看更为详细的信息

通过访问任意一个Node都是可以打开http://10.20.30.6x:32109访问到

最后部署一个Dashboard实现仪表板的功能来监控K8S的运维

在K8S上线下载https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml文件

yum install -y wget

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

vim kubernetes-dashboard.yaml

把框柱的部分由我们无法访问的Google源改成阿里的源

改成如下:

registry.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1

接下来再修改Service部分

保存退出

然后应用kubectl apply -f kubernetes-dashboard.yaml

查看运行状态

kubectl get pods -n kube-system

查看访问端口kubectl get pods,svc -n kube-system

在外部通过https访问

在这里使用令牌登录,因此需要先创建SA并绑定默认cluster-admins管理员集群角色,在K8S执行

kubectl create serviceaccount dashboard-admin -n kube-system

kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

创建一个服务账户dashboard-admin隶属于K8S的最高权限cluster-admin组

创建的dashboard-admin账户在kubectl get secret -n kube-system下可用查看到

以后查看这个账户的令牌token也可以执行kubectl describe secret dashboard-admin-token-6j4ln -n kube-system再次获取

复制Token到令牌进行登录

登录成功,看到仪表板

到这里,搭建部署K8S就告一个段落了。

感谢各位的阅读,以上就是"Kubernetes搭建部署K8S1.13的详细过程"的内容了,经过本文的学习后,相信大家对Kubernetes搭建部署K8S1.13的详细过程这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

接下来 节点 服务 过程 内容 地址 服务器 网络 令牌 版本 账户 集群 准备 学习 检查 登录 成功 仓库 仪表 功能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 科技与互联网 厦门中拓互联网络科技有限公司 北京互联网科技公司 北京互联网科技有限公司 互联网金融 科技金融 互联网 科技创业 互联网科技公司电话 极限挑战互联网科技 一五八零互联网科技 成都仁贤领冠互联网科技有限公司 互联网之后的科技是什么 中国科技互联网公司收入 互联网科技教育视频 湖北码尼互联网科技有限公司电话 中国航天科技大学国际工业互联网 阿大互联网科技有限公司 青海科技产业互联网发展 科技大学互联网 信承诺互联网科技有限公司 互联网高科技 融势互联网科技 科技伦理 互联网公司 阿大互联网科技有限公司 洛阳共同富裕互联网科技有限公司 国大互联网教育科技有限公司薪资 互联网时代科技型公司的机会 银川新华互联网科技学校是国营吗 西安左小互联网科技有限公司 现代互联网科技公司
0