当前位置: 首页 > news >正文

英文建站平台积分兑换商城网站建设

英文建站平台,积分兑换商城网站建设,山西做网站的企业,网站服务器的维护方法前言 官方文档#xff1a;Kubernetes 文档 | Kubernetes 系统配置 CentOS 7.9#xff08;2 核 2 G#xff09; 本文为 k8s 入门指南专栏#xff0c;将会使用 kubeadm 搭建单节点 k8s 集群#xff0c;详细讲解环境搭建部署的细节#xff0c;专栏后面章节会以实战代码介绍…前言 官方文档Kubernetes 文档 | Kubernetes 系统配置 CentOS 7.92 核 2 G 本文为 k8s 入门指南专栏将会使用 kubeadm 搭建单节点 k8s 集群详细讲解环境搭建部署的细节专栏后面章节会以实战代码介绍相关概念带您快速入门 k8s 搭建方式 k8s 集群搭建有三种方式目前主流的搭建 k8s 集群的方式有 kubeadm、minikube二进制包 kubeadm 是一个工具用于快速搭建 kubernetes 集群目前应该是比较方便和推荐的简单易用kubeadm 是 Kubernetes 1.4 开始新增的特性kubeadm init 以及 kubeadm join 这两个命令可以快速创建 kubernetes 集群 minikube 一般用于本地开发、测试和学习不能用于生产环境是一个工具minikube 快速搭建一个运行在本地的单节点的 Kubernetes 二进制包 在官网下载相关的组件的二进制包上面的两个是工具可以快速搭建集群也就是相当于用程序脚本帮我们装好了集群前两者属于自动部署简化部署操作自动部署屏蔽了很多细节使得对各个模块感知很少遇到问题很难排查如果手动安装对 kubernetes 理解也会更全面。目前生产环境的主流搭建方式已在生产环境验证kubeadm 也可以搭建生产环境不过 kubeadm 应该还没有被大规模在生产环境验证 本次我们作为演示的是 kubeadm 环境准备 官方文档安装 kubeadm | Kubernetes 注如果是使用的云服务器下面的 swap、selinux 和防火墙都是默认关闭的无需进行对应操作 安装 Docker 官方文档Install Docker Engine on CentOS | Docker Docs 安装脚本如下 #!/bin/bashset -e sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl start docker sudo systemctl enable docker sudo docker run hello-world配置如下 cat /etc/docker/daemon.json EOF {exec-opts: [native.cgroupdriversystemd],log-driver: json-file,log-opts: {max-size: 100m},storage-driver: overlay2 } EOFsudo systemctl enable docker sudo systemctl daemon-reload sudo systemctl restart docker如果在国内可以配置镜像加速 阿里云镜像加速地址容器镜像服务镜像构建镜像授权_镜像托管-阿里云 (aliyun.com) 然后复制上面地址 # 更换镜像为阿里云 vim /etc/docker/daemon.json # 添加如下内容 {registry-mirrors: [https://b9pmyelo.mirror.aliyuncs.com] }systemctl restart docker docker info禁用 SELinux 将 SELinux 设置为  permissive  模式 # 将 SELinux 设置为 permissive 模式相当于将其禁用 sudo setenforce 0 sudo sed -i s/^SELINUXenforcing$/SELINUXpermissive/ /etc/selinux/config关闭 Swap Kubernetes 1.8 开始要求关闭系统的 Swap。如果不关闭默认配置下 kubelet 将无法启动。可以通过 kubelet 的启动参数--fail-swap-onfalse更改这个限制。我们这里简单起见直接关闭系统的 Swap 修改/etc/fstab文件注释掉SWAP的自动挂载使用free -m确认 swap 已经关闭。 swappiness参数调整修改/etc/sysctl.d/k8s.conf 添加下面一行 vm.swappiness0执行 sysctl -p /etc/sysctl.d/k8s.conf 使修改生效 关闭防火墙 如果各个主机启用了防火墙需要开放 Kubernetes 各个组件所需要的端口 sudo systemctl stop firewalld sudo systemctl disable firewalld查看是否安装成功 kubeadm version kubectl version --client kubelet --version其他 设置允许 iptables 检查桥接流量 cat /etc/modules-load.d/k8s.conf EOF br_netfilter EOFcat /etc/sysctl.d/k8s.conf EOF net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 EOFsudo sysctl --system安装相关插件 yum -y install socat conntrack-tools集群搭建 安装 kubeadm 官方文档安装 kubeadm | Kubernetes kubeadm用来初始化集群的指令。 kubelet在集群中的每个节点上用来启动 Pod 和容器等。 kubectl用来与集群通信的命令行工具。 kubeadm 不能帮你安装或者管理 kubelet 或 kubectl所以你需要确保它们与通过 kubeadm 安装的控制平面的版本相匹配。如果不这样做则存在发生版本偏差的风险可能会导致一些预料之外的错误和问题。然而控制平面与 kubelet 之间可以存在一个次要版本的偏差但 kubelet 的版本不可以超过 API 服务器的版本。例如1.7.0 版本的 kubelet 可以完全兼容 1.8.0 版本的 API 服务器反之则不可以。 执行如下脚本安装 kubeadm国内线路 cat /etc/yum.repos.d/kubernetes.repo EOF [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled1 gpgcheck0 repo_gpgcheck0 gpgkeyhttps://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.20.2 kubeadm-1.20.2 kubectl-1.20.2 --disableexcludeskubernetes systemctl enable --now kubelet安装 kubectl curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.20.2/bin/linux/amd64/kubectl chmod x kubectl sudo mv kubectl /usr/local/bin/拉取镜像 执行 kubeadm config images pull 拉取镜像但是很大可能因为网络原因连接失败可以使用如下阿里云命令版本 v1.21 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.1 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.1 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.1 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.1 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 docker pull coredns/coredns:1.7.0在 k8s 安装时会默认在镜像中获取 k8s.gcr.io 前缀的镜像所以我们需要将上文下载好的镜像更改名称 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.1 k8s.gcr.io/kube-apiserver:v1.21.1 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.1 k8s.gcr.io/kube-proxy:v1.21.1 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.1 k8s.gcr.io/kube-controller-manager:v1.21.1 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.1 k8s.gcr.io/kube-scheduler:v1.21.1 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2 docker tag coredns/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0注后面 kubeadm init初始集群的时候可能报错显示镜像版本不对应自行更改上面的版本即可重新 docker pull 和 docker tag 即可群体替换版本即可1.21.1 - 1.20.15我这里就是偶尔需要用 1.21.1 版本偶尔需要用 1.20.15 版本所以我索性给这两个版本镜像都拉取到本地 修改主机映射 vim /etc/hosts初始化服务 在初始化集群之前需要先重启下 kubelet systemctl restart kubelet kubeadm init --apiserver-advertise-address172.25.234.148 --pod-network-cidr10.244.0.0/16 --kubernetes-versionv1.21.1 # 或 kubeadm init解释下命令 kubeadm init: 这是命令的主体部分它告诉 kubeadm 初始化一个新的 Kubernetes 控制平面。--apiserver-advertise-address192.168.44.15: 这个选项指定 Kubernetes API Server 监听的网络地址。在这里它设置为 192.168.44.15。--pod-network-cidr10.244.0.0/16: 这个选项指定用于 Pod 网络的 CIDR 地址范围。这是容器之间通信的地址范围。在这里它设置为 10.244.0.0/16。--kubernetes-versionv1.21.1: 这个选项指定要安装的 Kubernetes 版本这里设置为 v1.21.1。 如果出现问题需要自行查看日志然后搜索解决因为可能的出现错误太多这里没法一一列出 可以尝试重新启动 kubelet systemctl restart kubelet 然后重置集群kubeadm reset然后再次尝试初始化 注意这里我使用的是 kubeadm init 初始化集群 下面解释成功日志输出要使非 root 用户可以运行 kubectl请运行以下命令它们也是 kubeadm init 输出的一部分 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config如果是 root 用户可以运行如下 export KUBECONFIG/etc/kubernetes/admin.conf我们可以运行 kubectl apply -f [podnetwork].yaml 部署 Pod 网络 然后如果多集群部署并且多服务器之间内网是连通的话可以使用如下命令添加工作节点 kubeadm join 172.25.234.148:6443 --token ls55pz.ed4wq51xex0ho1hh \--discovery-token-ca-cert-hash sha256:a082bb7e27b8c26625edeb8198e49967bd4dd4493b3b532c750a9f98f912f801然后我们可以安装 FlannelFlannel 通过给每台宿主机分配一个子网的方式为容器提供虚拟网络它基于 Linux TUN/TAP使用 UDP 封装 IP 包来创建 overlay 网络并借助 etcd 维护网络的分配情况 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml最后验证节点如果为 Ready 则 master 节点已经注册到了 k8s kubectl get nodes如果是 NotReady可以执行以下语句判断服务器状态 kubectl get nodes -o yaml然后查看 kubelet 日志 journalctl -f -u kubelet.service 部分日志显示错误networkPlugin cni failed to set up pod vim /etc/yum.repos.d/kubernetes.repogpgcheck0 repo_gpgcheck0 # 上面两项修改如下 gpgcheck1 repo_gpgcheck1# 然后执行如下 yum clean all yum install kubernetes-cni -y最后可以看到节点添加成功 总结 至此单节点环境部署已经结束博主刚刚接触学习 k8s希望和大家分享学习中的经验教训如果文中有错误纰漏还望各位指出 后面专栏大概还会有一到两个章节以实战 demo 代码学习 PodDeploymentService 等概念 除此之外的话我自己也尝试过 windowsWSL2搭建 minikube k8s 环境不是很理想哪怕是对于学习目的也并不推荐。然后其实相较于 CentOS 其实官方更推荐使用 Ubuntu 官方社区长期维护也比较稳定 参考链接 通过 kubeadm 搭建单节点 k8s 环境 | yanyx’s blog用 Kubeadm 搭建一个 k8s 1.7.5 的单节点集群使用 kubeadm 搭建 kubernetes 单机 master - 阿里云开发者社区guangzhengli/k8s-tutorials: k8s tutorials | k8s 教程 本文由博客一文多发平台 OpenWrite 发布
http://www.hkea.cn/news/14368298/

相关文章:

  • 天猫商务网站建设目的php制作wap网站开发
  • 海南网站建设案例做头像网站
  • 福州什么推广网站好网站的制作建站人
  • 汉中微信网站建设服务医疗行业网站策划
  • 设计网站大全下载长沙医院网站建设
  • 域名备案查询网站备案信息电脑网页版微信
  • 网站支持ipv6做哪些改造网站建设方案规划书
  • 装修的网站都有哪些做塑胶原料用什么网站好
  • 网站建站网站网站建设及报价格方案
  • 做告状网站网站开发信息
  • 做网站的费属于什么费用移动界面设计案例
  • 合肥最好的网站建设公司哪家好wordpress修改站标在哪个文件
  • 郑州做网站比较专业的机构wordpress 云虚拟主机
  • 网站优化新闻桂林漓江风景区
  • 企业可以做哪些网站c2c代表性企业网站
  • 制作英文网站费用泰安信息平台体温
  • 如何建网站要什么条件忒低网站长怎么做
  • 浙江英文网站建设88个seo网站优化基础知识点
  • 上海网站seo招聘机构网站建设
  • 汽车销售服务东莞网站建设网站做301打不开
  • 招商局网站建设管理总结陶艺品网站模板
  • 辽阳专业网站开发公司游戏网站模板源码
  • 在哪个网站上做苗木生意好些永久免费白嫖云服务器
  • 国外网站怎么注册浙江新中环建设有限公司 网站
  • 1有免费建网站选择宁波seo优化公司
  • 房地产市场信息管理平台seo培训学校排名
  • 上海 建网站wordpress主题界面
  • 瑞安外贸网站建设企业服务包括哪些方面
  • 说说网站建设百度收录减少问题温州快速建站公司
  • 网站建设实录音乐网站流量分析方法