Kubernetes集群部署方式以及pod的管理方式
文章目录
- 一、Kubernetes部署方式
- 1.基础环境配置
- 2.操作步骤
- 二、集群的创建以及对于node和pod的基础管理方式
- 1.node的加入方式
- 2.Kubernetes结合HarBor仓库进行对于镜像的部署
- 3.pod的管理
- 总结
一、Kubernetes部署方式
1.基础环境配置
操作环境基于docker进行操作部署,Kubernetes从1.24.0开始进行对docker的不兼容方式部署必须下载1.24.0之前的版本
节点 | 作用 |
---|---|
server1 | master节点进行对于Kubernetes主控操作 |
server2、server3 | seleve节点 |
2.操作步骤
1.Master节点请使用阿里云源的方式进行对于Kubernetes镜像的拉取,下载前请先部署好docker并且解决内核转发限制问题
2.Kubernetes全程需要关闭swap分区需要执行swapoff -a 命令并且在/etc/fstab 注释掉swap分区的永久挂载信息,并且关闭selinux以及firewalld或其他防火墙
3.Kubernetes控制节点需要2核2G的最低需求进行部署以及下载使其可以进行使用。
- 安装Kubernetes
yum install kubeadm-1.23.0 kubectl-1.23.0 kubelet-1.23.0 -y
vim /etc/sysctl.d/kubernetes.conf #放行IPv4以及IPv6内核转发策略
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
cat <<EOF | tee /etc/docker/daemon.json #如之前存在镜像加速器可以保留加速器使用,更改内容仅作为更改docker的配置docker守护程序,使其使用systemd控制cgroup。
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2"
}
EOF
systemctl enable --now docker
systemctl enable --now kubelet
Master于seleve
- Kubernetes镜像拉取
Kubernetes版本信息是由镜像的版本决定的,如果需要进行版本的回退或者版本的升级进行镜像的安装更改即可
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.0#--kubernetes-version指定版本信息--image-repository指定镜像来源这里指定的是国内的阿里云--pod-network-cidr这里是指定的集群通信IP所有集群统一的IP即flannel网络IP
kubaadm config print init-defaults #显示所有配置参数
kubeadm config image list --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.0#显示器版本下的所有所需的镜像,进行先一步查询
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers #初始化集群请注意初始化集群时请确保kubelet为开启状态并且firewalld、swap分区彻底关闭否则会导致报错无法开启
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml #下载flanel网络组件
如果发现报错The connection to the server localhost:8080 was refused - did you specify the right host or port?
解决方式如下
echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile
source ~/.bash_profile 即定义环境变量的方式
二、集群的创建以及对于node和pod的基础管理方式
1.node的加入方式
node是Kubernetes中其他节点的一个称呼对于其他非主控节点称之为node
kubeadm join 192.168.63.102:6443 --token utr5xb.7v1jqq2ct2o1pjeq --discovery-token-ca-cert-hash sha256:bd9205196bd1f232c4997e8809986f1d346046b54ca80bab227c2142eb8daaf#加入节点的方式即完成初始化后显示的命令即可
kubeadm token list #token的查看,但是token有效期为24小时
kubeadm create token #生成新的token使其可以进行重新加入集群
kubeadm delete node server2 #删除节点使其可以重新加入节点
2.Kubernetes结合HarBor仓库进行对于镜像的部署
- HarBor的加入
对于HarBor搭建不同的节点使其可以进行不同的仓库使其可以进行加快访问速度
vim /etc/docker/daemon.json
{"registry-mirrors" : ["https://8xe9adjz.mirror.aliyuncs.com"],"insecure-registries" : ["https://reg.westos.org"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]
}
systemctl daemon-reload
systemctl reload docker
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.63.102 server1
192.168.63.101 server2
192.168.63.104 server3
192.168.63.107 westos.org
192.168.63.108 reg.westos.org
将TLS证书部署到/etc/docker/certs.d/ 目录下方便读取其证书避免因证书造成报错。
3.pod的管理
kubectl run nginx --image=reg.westos.org/library/nginx:1.21.0#将镜像名称指定未私有仓库名称后即可从私有仓库下载镜像,即自主式
kubectl delete nginx #不带控制器不会重新拉去重建
kubectl create deployment http --image=reg.westos.org/library/httpd --replicas=2#deployment控制器调度资源的方式进行对于资源的调度--replicas=2指定副本数即有几个镜像泡在所有node上
kubectl delete deployments.apps http #对于带有控制器需要带控制器一同删除否则会带控制器一同重建
kubectl scale deployment nginx --replicas=3#添加带有控制器的副本数也可以减少副本数
kubectl get pod -n kube-system #查看各个node是否正常运行
deployment控制器自带rr均衡算法,将资源调度到不同的image上
也可以通过调度到不同的暴露出来的端口上进行对于其不同的后端进行访问方便负载或轮询调度
总结
Kubernetes集群部署方式以及pod的管理方式相关推荐
- kubernetes 集群部署
kubernetes 集群部署 环境 JiaoJiao_Centos7-1(152.112) 192.168.152.112 JiaoJiao_Centos7-2(152.113) 192.168.1 ...
- Kubernetes集群部署实录
空降助手 环境准备 服务器配置信息 部署版本信息 关闭防火墙 禁用SELinux 关闭swap 修改hostname 配置hosts文件 runtime安装(docker安装) 安装记录 kubead ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)
在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist.今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NE ...
- 基于Kubernetes集群部署完整示例——Guestbook
本文依赖环境:Centos7部署Kubernetes集群.基于Kubernetes集群部署skyDNS服务 该示例中,我们将创建一个redis-master.两个redis-slave.三个front ...
- CC00004.CloudKubernetes——|Kuberneteskubeadm部署.V03|——|kubernetes集群部署|
一.部署kubernetes Master ### --- 在10.10.10.11(master)执行[root@k8s-master ~]# kubeadm init \ > --apise ...
- kubernetes集群部署(四):部署heapster+influxdb
在上一篇<kubernetes集群部署(三):部署dashboard服务>中,我们部署了dashboard,但这个dashboard页面看上去好像少了点什么,没有cup和内存使用监控图表. ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三
在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...
- 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信
目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...
- 高可用 kubernetes 集群部署实践
前言 Kubernetes(k8s) 凭借着其优良的架构,灵活的扩展能力,丰富的应用编排模型,成为了容器编排领域的事实标准.越来越多的企业拥抱这一趋势,选择 k8s 作为容器化应用的基础设施,逐渐将自 ...
- Kubernetes集群部署篇( 一)
K8S集群部署有几种方式:kubeadm.minikube和二进制包.前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包部署,因为自动部署屏蔽了很多细节,使得对各个模块感知很少,非常 ...
最新文章
- 报错: eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.3.2...
- OpenCV 腐蚀和膨胀
- 为什么牛逼的程序员都不用 “ ! = null 做判空?
- .NET6之MiniAPI(二十九):UnitTest
- arcgis server for .NET学习转载5
- 打通钉钉+WebHook:日志服务告警升级
- 中文场景文字识别技术创新大赛,总奖池5.4万!
- Linux桌面上的小动物,前方高能!我的OriginOS桌面上,出现了一群小动物
- java来电报名字的软件_教你一招,手机来电话可以语音报出来电人的姓名和电话号码,收藏...
- 计算机软件质量保证计划示例
- ubuntu硬盘序列号怎么查询_Ubuntu16.04中查看硬盘的型号和读取速度
- vscode 程序员鼓励师_把软萌程序猿鼓励师装进VScode里?最强交互彩虹屁,GitHub2.5k星标,爱上写代码...
- Win10兼容性怎么设置详细的步骤
- 张桂梅PK清华副教授:不要站在高楼上,傲慢地指着大山
- 计算机毕业设计 python微信公众平台机器人
- typec耳机知识介绍
- linux鼠标箭头消失了,Ubuntu 16.04 鼠标光标消失的解决方法(右键可弹窗,可以点击)...
- 大工计算机学院实验室,计算机教学实验室
- abaqus Tie python脚本报错 原因令人震惊
- git add .添加文件时报错 error: ‘fileName/‘ does not have a commit checked out 解决方法