热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

k8s集群环境搭建

k8s centos离线安装k8s k8s基本概念 1、安装前准备工作 # 1、服务器时间同步 timedatectl set-timezone Asia/Shanghai # 2、关闭防火墙、安
k8s

centos离线安装k8s

k8s基本概念

1、安装前准备工作

# 1、服务器时间同步
timedatectl set-timezone Asia/Shanghai
# 2、关闭防火墙、安全性【测试环境使用】
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
# 3、修改主机名
hostnamectl set-hostname master &&bash  # master节点
hostnamectl set-hostname node1 &&bash   # node节点
# 4、修改hosts文件, 添加master和node的本地域名【master和所有node配成一样】
vim /etc/hosts
# 5、免密交互【仅master上】  
ssh-keygen      # 生成公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master
ssh root@node1  # 测试连接
# 6、关闭交换内存swap
swapoff -a                        # 临时关闭
sed -i '12s/^//#//g' /etc/fstab # 永久关闭
# 7、网桥设置
echo -e "net.bridge.bridge-nf-call-ip6tables = 1nnet.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.d/k8s.conf
sysctl --system   # 使用生效

2、部署docker(至少两台,一个master,一个node)

# 解压安装docker
tar -zxvf docker-ce-18.09.tar.gz
cd docker && yum localinstall *.rpm -y          # yum安装相关依赖
# 启动docker
systemctl start docker
systemctl enable docker #开机启动
docker version
# 配置阿里云docker镜像加速站
vim /etc/docker/daemon.json # 新增
{
"registry-mirrors": ["https://fskvstob.mirror.aliyuncs.com/"]
}
systemctl daemon-reload     # 重新加载

3、部署K8s集群(至少两台,一个master,一个node)

# 1、解压安装k8s
tar -zxvf kube114-rpm.tar.gz
cd kube114-rpm && yum localinstall *.rpm -y # yum解决依赖
# 2、导入k8s相关的镜像
docker load -i k8s-114-images.tar.gz
docker load -i flannel-dashboard.tar.gz
# 3、查看k8s镜像
docker images # 共9个k8s相关的镜像

4、master节点初始化

# 1、配置pod网络
kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16
# ******************复制输出,后面node节点加入集群的时候需要使用************************
# 如果遇到 net-ipv4的报错。解决方法:
echo "1" >> /proc/sys/net/ipv4/ip_forward

# 2、查看节点
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get node                  # 查看本节点的状态,此时为《未准备好》
kubectl get pod --all-namespaces # 查看pod的命名空间
# 3、配置kubeconfig变量
echo "export KUBECOnFIG=/etc/kubernetes/admin.conf" >> /etc/profile
source /etc/profile
echo $KUBECONFIG                  # /etc/kubernetes/admin.conf
# 4、部署flannel网络
kubectl create -f kube-flannel.yml
kubectl get node
# 5、【切换到node节点】使用kubeadm join加入node节点
systemctl enable kubelet # 添加开机启动k8s
kubeadm join 192.168.0.110:6443 --token *** --discovery-token-ca-cert-hash sha256:***

5、验证搭建是否成功

kubectl get node   # 查看k8s集群上的节点
# 【master上】部署k8s UI界面(dashboard)
kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
kubectl -n kube-system get svc
# 查看dashboard的安装节点
kubectl get pods --all-namespaces -o wide
# 网页验证
http://dashboard_node_ip:32000

k8s基本命令使用

# 
kubectl get pods --all-namespaces -o wide
# 
kubectl get services --all-namespaces

推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • PatchODAX8: ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 加密、解密、揭秘
    谈PHP中信息加密技术同样是一道面试答错的问题,面试官问我非对称加密算法中有哪些经典的算法?当时我愣了一下,因为我把非对称加密与单项散列加 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 原文链接:Python:获取“3年前的今天”的日期时间Python:getdatetimefor3yearsagotoday在Python中,如何获取3年前的今天的datetime ... [详细]
  • hadoop1.2.1文档中这样写:Nowcheckthatyoucansshtothelocalhostwithoutapassphrase:$sshlocalhostIfyou ... [详细]
author-avatar
亲个小亲爱剖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有