服务器要求(三台都要操作)

  • 一台master两台node
  • 能连外网
  • 关闭防火墙
  • 关闭selinux
  • 设置主机名,域名解析
  • 关闭swap(记得关完之后重启)
swapoff -a //临时关闭
vim /etc/fstab //把swap分区挂载部分注释掉
  • 将桥接的ipv4流量传递到iptables上,修改linux内核参数,添加网桥过滤和地址转发功能
[root@master ~]# cat /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1 [root@master ~]# sysctl -p
[root@master ~]# modprobe br_netfilter
[root@master ~]#lsmod |grep br_netfil
  • 时间同步
  • 安装docker-ce(拉取阿里云docker镜像源)
wget  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 配置docker默认
[root@master docker]# cat daemon.json
{
"registry-mirrors": ["https://n5jclonh.mirror.aliyuncs.com"],
"insecure-registries": ["10.104.43.33:8858"], //配置私有仓库 此处ip地址为master节点的ip
"exec-opts": ["native.cgroupdriver=systemd"] //docker在默认情况下使用cgroupdiver为cgroupfs,而kubernetes推荐使用systemd来代替cgroupfs,所以需要修改配置文件
}
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
- 安装kubeadm、kubelet、kubectl
- 配置yum源
```
[root@master yum.repos.d] # cat k8s.repo
[kubernetes]
name=kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.pg
//yum仓库的配置文件一定要顶格写
```
- 安装kubelet kubeadm kubectl
```
yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6
```
- 设置kubelet开机启动
```
systemctl enable kubelet
```
  • 初始化master
[root@master ~]# kubeadm init --apiserver-advertise-address=10.104.43.33(master的ip) --image-repository registry.aliyuncs.com/google_containers(指定镜像仓库) --kubernetes-version v1.23.6 (指定版本)--service-cidr=10.96.0.0/12 (划分服务网段)--pod-network-cidr=10.244.0.0/16(划分pod网段)

- 显示successfully 说明格式化成功
- 执行第二个红色方框内的三条命令
- 最后一个方框是node节点加入的密钥
- 如果,初始化的时候清屏不好找,那么可以使用命令查看token,如果没有过期,那么就可以直接使用,如果过期了,那么需要重新获取token'kubeadm token create'
[root@master docker]# kubeadm  token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
2manw0.vf01yr2xtk0iz80i 23h 2024-05-07T10:35:40Z authentication,signing The default bootstrap token generated by 'kubeadm init'. system:bootstrappers:kubeadm:default-node-token
[root@master docker]#
  • 加入master节点
kubeadm join 10.104.43.33:6443 --token 2manw0.vf01yr2xtk0iz80i \
--discovery-token-ca-cert-hash sha256:a88db866fe9a52f54b00855fa50d0424acf031f233c6159c803d799abb4be95f
//
  • master节点查看节点
[root@master docker]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master NotReady control-plane,master 37m v1.23.6
node1 NotReady <none> 2m16s v1.23.6
node2 NotReady <none> 12s v1.23.6
[root@master docker]# kubectl get no
NAME STATUS ROLES AGE VERSION
master NotReady control-plane,master 41m v1.23.6
node1 NotReady <none> 6m54s v1.23.6
node2 NotReady <none> 4m50s v1.23.6
[root@master docker]#
//get nodes == get no
  • 部署CNI网络插件
  • 获取组件状态
[root@master docker]# kubectl  get componentstatus
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-0 Healthy {"health":"true","reason":""}
[root@master docker]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy {"health":"true","reason":""}
[root@master docker]#
  • 查看指定pod的状态
[root@master docker]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-6d8c4cb4d-z8lxv 0/1 //没有下载成功 Pending 0 46m
coredns-6d8c4cb4d-z8wl2 0/1 //没有下载成功 Pending 0 46m
etcd-master 1/1 Running 0 46m
kube-apiserver-master 1/1 Running 0 46m
kube-controller-manager-master 1/1 Running 0 46m
kube-proxy-4rw59 1/1 Running 0 9m19s
kube-proxy-5p8ct 1/1 Running 0 46m
kube-proxy-6hdfp 1/1 Running 0 11m
kube-scheduler-master 1/1 Running 0 46m

notready的状态,是因为缺少网络插件,所以需要安装网络插件

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
[root@master k8s]# kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-6d8c4cb4d-z8lxv 1/1 Running 0 75m
coredns-6d8c4cb4d-z8wl2 1/1 Running 0 75m
etcd-master 1/1 Running 0 75m
kube-apiserver-master 1/1 Running 0 75m
kube-controller-manager-master 1/1 Running 0 75m
kube-proxy-4rw59 1/1 Running 0 38m
kube-proxy-5p8ct 1/1 Running 0 75m
kube-proxy-6hdfp 1/1 Running 0 40m
kube-scheduler-master 1/1 Running 0 75m
[root@master k8s]#

例子

[root@master k8s]#  kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
[root@master k8s]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-85b98978db-pmrwh 1/1 Running 0 14s
[root@master k8s]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 78m
[root@master k8s]# kubectl get pods,svc
NAME READY STATUS RESTARTS AGE
pod/nginx-85b98978db-pmrwh 1/1 Running 0 29s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 78m
[root@master k8s]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed
[root@master k8s]# kubectl get pods,svc
NAME READY STATUS RESTARTS AGE
pod/nginx-85b98978db-pmrwh 1/1 Running 0 2m12s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 80m
service/nginx NodePort 10.105.223.172 <none> 80:30663/TCP 6s
[root@master k8s]# curl http://localhost:30663
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p> <p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@master k8s]#

k8s——搭建集群环境的更多相关文章

  1. Hadoop化繁为简-从安装Linux到搭建集群环境

    简介与环境准备 hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce.近年,随着大数据.云计算.物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必 ...

  2. Hadoop化繁为简(一)-从安装Linux到搭建集群环境

    简介与环境准备 hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce.近年,随着大数据.云计算.物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必 ...

  3. k8S 搭建集群

    k8S 搭建集群1:修改主机名称hostnamectl --static set-hostname masterhostnamectl --static set-hostname node1hostn ...

  4. druid 搭建集群环境

    下载druid 下载地址 http://static.druid.io/artifacts/releases/druid-services-0.6.145-bin.tar.gz 解压 tar -zxv ...

  5. 基于redis 3.x搭建集群环境

    由于我团队开发的在线坐席系统,即将面对线上每周3000W的下行投放客户,产品的咨询量可能会很大,基于前期,200W的投放时,前10分钟,大概800问题量,平均一个客户大概8个问题,也就是说每分钟10个 ...

  6. linux下安装 zookeeper-3.4.9并搭建集群环境

    本文主要记录作者在实践过程中实现在centos7环境下安装zookeeper并搭建集群的详细步骤,关于zookeeper本文将不做详细介绍,安装步骤详情如下: 前提准备:3台linux服务器(因为zo ...

  7. Kubernetes--用kubeadm搭建集群环境

    架构 k8s的组件架构图 OCI (Open Container Initiative) 开放容器标准.是一个轻量级,开放的治理结构(项目),在 Linux 基金会的支持下成立,致力于围绕容器格式和运 ...

  8. 记录nginx 搭建集群环境踏过的坑

    因为生产环境做了负载均衡,为了尽可能跟线上环境一致,所以想在本地也搭集群,这样测试更靠谱.首先就想到nginx 这货,搭个简单的web 服务器实在太简单了. nginx 这玩意11年简单玩过,那是版本 ...

  9. Arcgis Server 10.4.1 搭建集群环境

    1.准备工作 Arcgis Server 10.4.1  以及许可一枚 共享存储(通过UNC路径访问,如"\\server1\arcgisserver\") 服务器两台(虚拟机也可 ...

  10. hadoop问题锦集(一)-搭建集群环境时的常见问题

    1.没有主机的路由 1.namenode与datanode之间ping不通了 2.防火墙得关闭: ufw status ufw disabled 2. ssh localhost ssh:connec ...

随机推荐

  1. vue3 快速入门系列 —— 组件通信

    vue3 快速入门系列 - 组件通信 组件通信在开发中非常重要,通信就是你给我一点东西,我给你一点东西. 本篇将分析 vue3 中组件间的通信方式. Tip:下文提到的绝大多数通信方式在 vue2 中 ...

  2. 07cj031,07CJ03-1图集免费下载

    简介 07CJ03-1轻钢龙骨石膏板隔墙.吊顶图集是中国建筑标准设计研究院组织编写的一部针对轻钢龙骨.石膏板材料用于非承重隔墙.室内吊顶装修的装修.建造参考资料,为用户提供专业的建造参考 下载 有需要 ...

  3. Java实现学生投票系统

    "感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 代码 im ...

  4. 力扣394(java)-字符串解码(中等)

    题目: 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正整数 ...

  5. 云原生消息队列Pulsar浅析

    简介: 云原生消息队列Pulsar浅析 一.前言 Pulsar是一个多租户,高性能的服务间消息解决方案.最初由Yahoo开发,现在由Apache Software Foundation负责.Pulsa ...

  6. 最佳实践|Spring Boot 应用如何快速接入 Prometheus 监控

    ​简介:SpringBoot 微服务的开发.发布与部署只占其生命周期的一小部分,应用和系统运维才是重中之重.而运维过程中,监控工作更是占据重要位置.那么,为了对系统的状态进行持续地观测,面向Sprin ...

  7. 【全观测系列】Elasticsearch应用性能监控最佳实践

    ​简介:本文介绍了应用性能监控的应用价值以及解决方案等. 1.什么是全观测? 要了解全观测,我们先看看传统运维存在哪些问题. 数据孤岛,分散在不同部门,分析排查故障困难: 多个厂商的多种工具,无法自动 ...

  8. Serverless 工程实践 | 细数 Serverless 的配套服务

    ​简介: 上文说到云计算的十余年发展让整个互联网行业发生了翻天覆地的变化,Serverless 作为云计算的产物,或者说是云计算在某个时代的表现,被很多人认为是真正意义上的云计算,关于"Se ...

  9. DelegateCommand-最简单的合令调用。

    View代码 <StackPanel> <Button Content="方法一" Command="{Binding AddCommand}" ...

  10. SAP集成技术(六)技术、标准和协议

    本文链接:https://www.cnblogs.com/hhelibeb/p/17849837.html 内容摘录自<SAP Interface Management Guide>. W ...