安装要求,准备环境

#系统centos7.6
#硬件:2个CPU,2G内存
#可以访问外网,禁用swap
#提前安装docker环境

准备三台服务器

  1. 初始化系统环境,以下命令三台服务器全部执行

1.1 关闭防火墙

systemctl stop   firewalld
systemctl disable   firewalld

1.2 关闭selinux和关闭swap

sed  -i 's/enforcing/disabled'  /etc/selinux/config
setenforce 0
swapoff -a  #临时关闭,永久关闭需要写入fatab

1.3 修改主机名,并写入三台服务器的host中

hostnamectl  set-hostname K8S-master     102
hostnamectl  set-hostname K8S-node01     103
hostnamectl  set-hostname K8S-mast02      104
cat  >>  /etc/hosts  << EOF
192.168.106.102     K8S-master
192.168.106.103     K8S-node01
192.168.106.104     K8S-mast02

1.4 将桥接的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   #配置生效

1.5 同步时间

ntpdate  time.windows.com
#如果时区不对执行下面命令,然后在同步
cp  /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime

1.6 配置阿里源,下载相应的软件包

cat <<EOF > /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
EOF
yum  install -y   kubelet-1.18.0  kubeadm-1.18.0  kubectl-1.18.0
#kubectl-1.18.0命令行管理工具,kubeadm-1.18.0是引导K8S集群,kubelet-1.18.0管理容器
systemctl  enable  kubelet

2.0部署kubernetes Master节点(master节点上执行)

kubeadm init  \
--apiserver-advertise-address=192.168.106.102 \                      #指定master监听的地址
--image-repository registry.aliyuncs.com/google_containers  \   #指定下载源
--kubernetes-version v1.18.0 \                    #指定kubernetes版本
--service-cidr=10.96.0.0/12                        #设置集群内部的网络
--pod-network-cidr=10.244.0.0/16               #设置pod的网络


以下命令是加入master的命令需要复制出来

kubeadm join 192.168.106.102:6443 --token 7w0oxu.drdkjuzirow3dvj7 \--discovery-token-ca-cert-hash sha256:e30452be8217affa2f11229e45cb2ed9dfa4424c82d5f354d9813ce789f58fdb`
```bash
mkdir -p $HOME/.kube
cp -i  /etc/kubernetes/admin.conf  $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
 kubectl get node   #查看版本

kubectl  get pods -n kube-system  #查看所有组件


2.1 安装Pod网络插件

 wget http://120.78.77.38/file/kube-flannel.yaml #下载镜像,国外源,我已经下载到本地kubectl apply  -f  kube-flannel.yaml #原始镜像有问题改成如下图所示的镜像名称


启动镜像,启动完查看镜像,会增加一个flannel镜像。支持多主机容器网络通信的

docker pull lizhenliang/flannel:v0.11.0-amd64  #建议先下载镜像
kubectl apply  -f  kube-flannel.yaml
kubectl  get   pods  -n  kube-system


如图所示说明K8Spod正常启动
如果之前的环境配置有问题,执行下面命令清理K8S环境

kubectl log  kube-flannel-ds-sjs4p -n   kube-system     -f  启动有问题查看日志详细信息`
`kubectl delete -f kube-flannel.yaml #删除pod`
```bash
kubeadm reset -f
modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd
  1. k8s-node节点加入master节点(两台主机分别执行)
kubeadm join 192.168.106.102:6443 --token 7w0oxu.drdkjuzirow3dvj7 \--discovery-token-ca-cert-hash sha256:e30452be8217affa2f11229e45cb2ed9dfa4424c82d5f354d9813ce789f58fdb

 kubectl get nodes     #master节点运行


至此K8S集群部署完成

4. master节点安装管理页面dashboard

wget   http://120.78.77.38/file/kubernetes-dashboard.yaml
kubectl apply -f  kubernetes-dashboard.yamlkubectl get  pods  -n  k![在这里插入图片描述](https://img-blog.csdnimg.cn/20210127165502444.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)
ubernetes-dashboard#下图位置需要修改

kubectl get pod -n kubernetes-dashboard  -o wide  #查看pod在哪个节点

https://192.168.106.104:30001    #需要用火狐浏览器打开访问
#创建token
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/{pirnt $1}')

创建完成将token复制到页面token后进入web管理页面,可以看到如图所示的页面三个节点

https://192.168.106.104:30001/#/node?namespace=default

参考链接 :

K8S实战之环境部署1.18(一)
https://mp.weixin.qq.com/s/0SNTScXXxzQmKYVHEmui2g

K8S实战之环境部署1.18(一)相关推荐

  1. k8s安装sqlite3_kubernetes环境部署单节点redis数据库的方法

    kubernetes部署redis数据库(单节点) redis简介 Redis 是我们常用的非关系型数据库,在项目开发.测试.部署到生成环境时,经常需要部署一套 Redis 来对数据进行缓存.这里介绍 ...

  2. k8s实战之手动部署PHP项目和Java项目

    微信公众号:运维开发故事,作者:double冬 对k8s刚入门的朋友而言,光搭建k8s集群是不够的,我们需要更多的理论加实战,才能更好的掌握k8s的好处,当我们成功部署一个k8s集群之后,我们需要在实 ...

  3. K8S实战基础篇:一文带你深入了解K8S实战部署SpringBoot项目

    K8S实战基础篇:一文带你深入了解K8S实战部署SpringBoot项目 1.前言 2.简介 2.1.为什么写这篇文章 2.2.需求描述 2.3.需求分析 3. 部署实战 3.1 环境准备 3.2 i ...

  4. k8s ubuntu cni_K8S环境快速部署Kafka(K8S外部可访问)-WEB资讯专栏-DMOZ中文网站分类目录...

    欢迎访问我的GitHub内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等:如何快速部署借助Helm,只需少量操作 欢迎访问我的GitHub 内容: ...

  5. K8S实战之部署java应用

    kubernetes基本概念 Pod: 1.最小的部署单元, 2.一组容器的集合 3.一个pod中的容器共享网络命名空间 4.生命周期是短暂的 Controllers: 1.Deployment:部署 ...

  6. K8S实战:Centos7上集群部署

    K8S实战:Centos7上集群部署 更多技术类博文,请关注微信公众号:运维之美. 集群架构 k8s集群的架构 master节点:etcd,api-server,scheduler,controlle ...

  7. k8s实战之部署Prometheus+Grafana可视化监控告警平台

    写在前面 之前部署web网站的时候,架构图中有一环节是监控部分,并且搭建一套有效的监控平台对于运维来说非常之重要,只有这样才能更有效率的保证我们的服务器和服务的稳定运行,常见的开源监控软件有好几种,如 ...

  8. 【云原生】Hadoop HA on k8s 环境部署

    文章目录 一.概述 二.开始部署 1)添加 journalNode 编排 1.控制器Statefulset 2.service 2)修改配置 1.修改values.yaml 2.修改hadoop/te ...

  9. 【云原生】Prometheus+Grafana on K8s 环境部署

    文章目录 一.概述 二.使用 Helm 安装 Prometheus 1)配置源 2)下载 prometheus 包 3)修改镜像 4)安装 prometheus 5)访问web 6)配置https并更 ...

最新文章

  1. python详细安装教程3.7.0-Python 3.7.0安装教程(附安装包) | 我爱分享网
  2. JBPM流程部署校验之java利用XSD校验XML
  3. Python IDLE启动报错
  4. wxHtml 示例:wxHtmlEasyPrinting 测试
  5. MongoDB身份验证
  6. 【转】学习Entity Framework 中的Code First
  7. 用来做 favicon 的站点
  8. java http 流_java 模拟http请求,通过流(stream)的方式,发送json数据和文件
  9. Web前端性能优化,应该怎么做?
  10. JAVA零碎要点015---java BigDecimal常见操作_加减乘除操作_比较_取几位小数四舍五入_随时更新
  11. 如何在Mac系统中修改设备名称
  12. 一个简单的姓名生成器
  13. 深度学习(三)theano入门学习
  14. 大牛教你如何利用积分商城API接口对接积分商城平台
  15. Asis CTF 2016 b00ks
  16. python模拟登录钉钉,Python—实现钉钉后台开发,
  17. 孟:解密获取网站访客QQ号码的方法及原理
  18. 如何理解容器,容器化的由来?它有何优缺点?
  19. 为什么char+char为int类型 C/C++类型提升
  20. 【.Net开发】之WPF入门介绍

热门文章

  1. 零基础入门语义分割——Task2 数据扩增
  2. 新手福音,机器学习工具Sklearn 中文文档 0.19版(最新)
  3. java怎么给文档加水印_Java 如何给Word文档添加多行文字水印
  4. DisSent: Learning Sentence Representations from Explicit Discourse Relations
  5. stanford sentiment treebank 数据集
  6. 十八年开发经验分享(四)问题解决篇(下)
  7. OSChina 周日乱弹 ——可以囤硬盘了
  8. PLSQL Developer报“动态执行表不可访问,本会话的自动统计被禁止”的解决方案...
  9. syntax error: unrecognized tag:
  10. JSP内置 对象(下)