操作环境为VMware 虚拟机

部署前最好 yum update 更新一下系统的服务(时间较长)

#1、能访问外网#2、关闭防火墙;
systemctl stop firewalld && systemctl disable firewalld#3、关闭SELinux;
setenforce 0#4、关闭Swap交换分区;
swapoff -a#5、master与node之间ssh免密登录;#设置hostname
hostnamectl set-hostname m1#配置hosts文件
192.168.18.136 m1
192.168.18.137 n1
192.168.18.138 n2#在本机(主节点)自动以rsa算法生成公私钥对
ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" #配置公钥到其他节点,输入对方密码即可完成免密访问
ssh-copy-id n1
ssh-copy-id n2#6、同步NTP时间;(这里只是简单同步公网时间,没有搭建自己的ntp服务器)
timedatectl set-timezone Asia/Shanghai (这里是设置亚洲上海上海)
systemctl restart chronyd#7、配置kubernetes源
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/rpm-package-key.gpghttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF##############     以上步骤每台服务器都需要操作   ################8、master上yum安装etcd kubernetes-master
#安装kubernetes时也可以不用区分master或node,直接使用 yum -y install kubernetes 会同时安装master和node包
yum -y install etcd kubernetes-master  #这个不会安装docker#9、修改etcd配置文件
vim  /etc/etcd/etcd.confETCD_NAME=myetcd
ETCD_DATA_DIR="/var/lib/etcd/etcd3"ETCD_LISTEN_PEER_URLS="http://192.168.20.73:2380"ETCD_LISTEN_CLIENT_URLS="http://127.0.0.1:2379,http://192.168.20.73:2379"ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.20.73:2380"ETCD_INITIAL_CLUSTER="myetcd=http://192.168.20.73:2380"ETCD_INITIAL_CLUSTER_STATE="new"ETCD_INITIAL_CLUSTER_TOKEN="etcd-test"ETCD_ADVERTISE_CLIENT_URLS="http://192.168.20.73:2379"#10、启动服务
systemctl start etcd
systemcet enable etcd # 检查etcd cluster状态
etcdctl cluster-health#11、生成密钥,k8s大部分访问都需要证书认证:
openssl genrsa -out /etc/kubernetes/serviceaccount.key 2048#12、配置master服务#kube-apiserver配置文件
[root@master ~]# cat /etc/kubernetes/config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.20.73:8080"[root@master ~]# cat /etc/kubernetes/apiserver
## kubernetes system config
KUBE_API_ADDRESS="--address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet-port=10250"
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.20.73:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_API_ARGS="--service_account_key_file=/etc/kubernetes/serviceaccount.key"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
KUBE_API_ARGS=""#controller-manager配置文件
[root@master ~]# cat /etc/kubernetes/controller-manager
KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/etc/kubernetes/serviceaccount.key"#scheduler配置文件
[root@master ~]# cat /etc/kubernetes/scheduler
KUBE_SCHEDULER_ARGS=""#在etcd服务上首先需要添加网络,即在master上
[root@master ~]# etcdctl set /k8s/network/config '{"Network": "10.255.0.0/16"}'
{"Network": "10.255.0.0/16"}
[root@master ~]# etcdctl get /k8s/network/config
{"Network": "10.255.0.0/16"}#此配置是将数据写入到etcd数据目录中的,不会生成实际目录#13、配置node节点#配置node1节点,网络控件采用flannel方式
#yum 安装kubernetes-node 和 flannel
yum -y install kubernetes-node flannel#安装成功后,修改配置文件
[root@node1 ~]# grep -v '^#' /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://192.168.20.73:2379"
FLANNEL_ETCD_PREFIX="/k8s/network"
FLANNEL_OPTIONS="--iface=ens192"
# 网卡信息用ip a命令获取#配置node1
[root@node1 ~]# ls /etc/kubernetes/
config  kubelet  proxy[root@node1 ~]# cat /etc/kubernetes/config
# kubernetes system config
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.20.73:8080"[root@node1 ~]# cat /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=192.168.20.74"
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=192.168.20.74"
KUBELET_API_SERVER="--api-servers=http://192.168.20.73:8080"
#KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=192.168.200.10/source/pause-amd64:3.1"
KUBELET_ARGS=""[root@node1 ~]# cat /etc/kubernetes/proxy
KUBE_PROXY_ARGS="0.0.0.0"##备注 kubelet配置文件,默认image下载方式是外网下载,可以修改为自己的harbor地址#14、按顺序启动master 并加入开机启动
systemctl enable kube-apiserver&& systemctl start kube-apiserver
systemctl enable kube-controller-manager&& systemctl start kube-controller-manager
systemctl enable kube-scheduler&& systemctl start kube-scheduler#启动node上的服务
systemctl enable docker && systemctl start docker
systemctl enable flanneld && systemctl start flanneld
systemctl enable kubelet && systemctl start kubelet
systemctl enable kube-proxy && systemctl start kube-proxy

附:

systemctl set-default multi-user.target  //设置成命令模式

systemctl set-default graphical.target  //设置成图形模式

参考资料:

https://blog.csdn.net/xtss999/article/details/105061136

https://www.cnblogs.com/fuhai0815/p/9687183.html

https://www.cnblogs.com/heian99/p/12182018.html

centos7 部署k8s集群相关推荐

  1. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 文章目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 k ...

  2. kubeadm部署K8S集群并使用containerd做容器运行时

    kubeadm部署K8S集群并使用containerd做容器运行时(内容全部实战验证有任何问题欢迎留言咨询讨论) 前言 去年12月份,当Kubernetes社区宣布1.20版本之后会逐步弃用docke ...

  3. kubeadm部署k8s集群

    1.准备环境 虚拟机操作系统: Centos7 角色                IP Master        192.168.150.140 Node1        192.168.150. ...

  4. RKE安装部署K8S集群、Rancher

    服务器准备:三台虚拟机(master:1,node:2:这里选用的阿里云ECS) OS hostname 内网IP Centos7 joker-master-1 172.27.31.149 Cento ...

  5. 通过阿里云ecs部署k8s集群

    通过阿里云ecs部署k8s集群 1. 搭建环境 2. 安装步骤 禁用Selinux Restart Docker 此处仅有两台服务器,一台master节点,一台node节点,后期可按照步骤继续增加no ...

  6. 【02】Kubernets:使用 kubeadm 部署 K8S 集群

    写在前面的话 通过上一节,知道了 K8S 有 Master / Node 组成,但是具体怎么个组成法,就是这一节具体谈的内容.概念性的东西我们会尽量以实验的形式将其复现. 部署 K8S 集群 互联网常 ...

  7. 【运维开发】Mac OS(10.13.6)使用 vagrant+VirtualBox +centos7搭建k8s集群

    Mac OS(10.13.6)使用 vagrant+VirtualBox +centos7搭建k8s集群步骤 环境准备工作 下载VirtualBox 地址:https://www.virtualbox ...

  8. 如何通过rancher部署k8s集群

    目录 1 安装前准备 2 安装rancher 3 配置Rancher 4 创建k8s集群 最近的工作中需要使用到K8S,而面临的第一个问题就是如何部署一个K8S集群环境.现有多种部署方式,如:kube ...

  9. linux上部署K8S集群

    部署K8S集群 服务器硬件要求:三台虚拟机服务器,操作系统都为centos: ​ 硬盘最低配置:内存2GB,CPU2核,硬盘30GB. 准备环境 master 192.168.200.110 node ...

最新文章

  1. Block相关内容梳理
  2. cmw500综合测试仪使用_综合布线中手持式测试仪
  3. .NET Core 1.0 CentOS7 尝试
  4. 建模元件有哪些在MapleSim中
  5. 什么是算法,什么是数据结构
  6. 遥远的救世主:电视剧《天道》
  7. JavaScript的7个位运算符
  8. 在Centos7上配置docker运行DotNetCore项目
  9. WIncc7.4入门
  10. 微信小程序中集成有赞UI自定义Tabbar组件
  11. FOI对象中显示labels --Oracle Map
  12. cpp-http 库的使用
  13. 互联网时代成功创业故事
  14. 不可不知的10款3dMax展UV插件
  15. 【WORD技巧合集】
  16. 2022危险化学品经营单位安全管理人员考试题库模拟考试平台操作
  17. 腾讯+字节+阿里面经真题汇总,总结到位
  18. Python爬虫实践(入门篇)——抓取《天使降临到我身边》图片
  19. 无聊到能吓死一湾人的鬼畜代码
  20. 苹果挺进“可折叠”手机赛道,柔性屏将迎来大发展

热门文章

  1. 考试2020-11-01
  2. C++中的const变量和引用
  3. WCH USB转多串口芯片相关型号
  4. PTP授时服务器(NTP网络时间服务器)技术方案应用
  5. 〖产品思维训练白宝书 - 核心竞争力篇⑮〗- 产品经理核心竞争力解读之如何将〖会学习〗做的更好
  6. 远远超过了醉酒的尺度
  7. Https VS Http 性能比拼以及开机启动
  8. 【深入解析品牌战略】品牌战略建设不可或缺的六要素
  9. 前端使用自定义图标作为鼠标光标
  10. linux permission deny