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

网站建设和网站设计织梦律师网站模版

网站建设和网站设计,织梦律师网站模版,通用模板做的网站不收录,网站客户评价Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署#xff08;一#xff09;主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署#xff08;二#xff09;ETCD集群部署 Kubernetes高可用集群二进制部署#xff08;三#xff09;部署…Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署一主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署二ETCD集群部署 Kubernetes高可用集群二进制部署三部署api-server Kubernetes高可用集群二进制部署四部署kubectl和kube-controller-manager、kube-scheduler Kubernetes高可用集群二进制部署五kubelet、kube-proxy、Calico、CoreDNS Kubernetes高可用集群二进制部署六Kubernetes集群节点添加 1. 部署 Kubernetes 集群方式 1kubeadm Kubeadm 是一个 K8s 部署工具提供 kubeadm init 和 kubeadm join用于快速部署 Kubernetes 集群。 官方地址https://kubernetes.io/zh-cn/docs/reference/setup-tools/kubeadm/ 2二进制包 从 github 下载发行版的二进制包手动部署每个组件组成 Kubernetes 集群。 Kubeadm 虽然降低了部署门槛但屏蔽了很多细节遇到问题很难排查。如果想更容易可控推荐使用二进制包部署 Kubernetes 集群虽然手动部署麻烦点期间可以学习很多工作原理也利于后期维护。 2、kubeadm 部署方式介绍 kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具这个工具能通过两条指令完成一个 kubernetes 集群的部署 1、创建一个 Master 节点 kubeadm init 2 将 Node 节点加入到当前集群中 $ kubeadm join Master 节点的 IP 和端口 3、安装要求 在开始之前部署 Kubernetes 集群机器需要满足以下几个条件 一台或多台机器本次采用操作系统 CentOS7.x-86_x64硬件配置2GB 或更多 RAM2 个 CPU 或更多 CPU硬盘 30GB 或更多集群中所有机器之间网络互通可以访问外网需要拉取镜像禁止 swap 分区 4、最终目标 1 在所有节点上安装 Docker 和 kubeadm 2部署 Kubernetes Master 3部署容器网络插件 4部署 Kubernetes Node将节点加入 Kubernetes 集群中 5部署 Dashboard Web 页面可视化查看 Kubernetes 资源 5、准备环境 角色IPmaster192.168.254.129node1192.168.254.130node2192.168.254.131 6、系统初始化 6.1 关闭防火墙 $ systemctl stop firewalld $ systemctl disable firewalld6.2 关闭 selinux selinux 叫做“安全增强型 LinuxSecurity-Enhanced Linux”简称 SELinux它是 Linux 的一个安全子系统 $ sed -i s/enforcing/disabled/ /etc/selinux/config # 永久 $ setenforce 0 # 临时6.3 关闭 swap swap是磁盘上的一个区域可以是一个分区也可以是一个文件或者是它们的组合简单点说当系统物理内存不够时Linux会将内存中不常访问的数据保存到swap上这样系统就有更多的物理内存为各个进程服务而当系统需要访问swap上存储的内容时再将swap上的数据加载到内存中这就是我们常说的swap out和swap in。 $ swapoff -a # 临时 $ vim /etc/fstab # 永久6.4 主机名 $ hostnamectl set-hostname hostname $ hostname6.5 在 master 添加 hosts $ cat /etc/hosts EOF 192.168.254.129 master 192.168.254.130 node1 192.168.254.131 node2 EOF6.6 将桥接的 IPv4 流量传递到 iptables 的链 $ cat /etc/sysctl.d/k8s.conf EOF net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 EOF $ sysctl --system # 生效6.7 时间同步 $ yum install ntpdate -y $ ntpdate time.windows.com7、所有节点安装 Docker/kubeadm/kubelet Kubernetes 默认 CRI容器运行时为 Docker因此先安装 Docker。 1安装 Docker $ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo $ yum -y install docker-ce-18.06.1.ce-3.el7 $ systemctl enable docker systemctl start docker $ docker --version2添加阿里云 YUM 软件源 设置仓库地址 $ cat /etc/docker/daemon.json EOF { registry-mirrors: [https://b9pmyelo.mirror.aliyuncs.com] } EOFdocker info添加 yum 源 $ 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 EOF3安装 kubeadmkubelet 和 kubectl 由于版本更新频繁安装时可以指定版本号部署 $ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 $ systemctl enable kubelet8、部署 Kubernetes Master 在Master执行 $ kubeadm init \--apiserver-advertise-address192.168.254.129 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.18.0 \--service-cidr10.96.0.0/12 \--pod-network-cidr10.244.0.0/16由于默认拉取镜像地址 k8s.gcr.io 国内无法访问这里指定阿里云镜像仓库地址。 使用kubectl工具 $ 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 nodes将上边两个命令记录下来。 9、安装 Pod 网络插件CNI 在Master执行 $ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml $ kubectl get pods -n kube-system如果 Pod 镜像下载失败可以改这个镜像地址. 也可以在本地新建一个kube-flannel.yml文件找到对应的内容复制进去 例如 --- kind: Namespace apiVersion: v1 metadata:name: kube-flannellabels:k8s-app: flannelpod-security.kubernetes.io/enforce: privileged --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:labels:k8s-app: flannelname: flannel rules: - apiGroups:- resources:- podsverbs:- get - apiGroups:- resources:- nodesverbs:- get- list- watch - apiGroups:- resources:- nodes/statusverbs:- patch - apiGroups:- networking.k8s.ioresources:- clustercidrsverbs:- list- watch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:labels:k8s-app: flannelname: flannel roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: flannel subjects: - kind: ServiceAccountname: flannelnamespace: kube-flannel --- apiVersion: v1 kind: ServiceAccount metadata:labels:k8s-app: flannelname: flannelnamespace: kube-flannel --- kind: ConfigMap apiVersion: v1 metadata:name: kube-flannel-cfgnamespace: kube-flannellabels:tier: nodek8s-app: flannelapp: flannel data:cni-conf.json: |{name: cbr0,cniVersion: 0.3.1,plugins: [{type: flannel,delegate: {hairpinMode: true,isDefaultGateway: true}},{type: portmap,capabilities: {portMappings: true}}]}net-conf.json: |{Network: 10.244.0.0/16,Backend: {Type: vxlan}} --- apiVersion: apps/v1 kind: DaemonSet metadata:name: kube-flannel-dsnamespace: kube-flannellabels:tier: nodeapp: flannelk8s-app: flannel spec:selector:matchLabels:app: flanneltemplate:metadata:labels:tier: nodeapp: flannelspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linuxhostNetwork: truepriorityClassName: system-node-criticaltolerations:- operator: Existseffect: NoScheduleserviceAccountName: flannelinitContainers:- name: install-cni-pluginimage: docker.io/flannel/flannel-cni-plugin:v1.1.2#image: docker.io/rancher/mirrored-flannelcni-flannel-cni-plugin:v1.1.2command:- cpargs:- -f- /flannel- /opt/cni/bin/flannelvolumeMounts:- name: cni-pluginmountPath: /opt/cni/bin- name: install-cniimage: docker.io/flannel/flannel:v0.22.0#image: docker.io/rancher/mirrored-flannelcni-flannel:v0.22.0command:- cpargs:- -f- /etc/kube-flannel/cni-conf.json- /etc/cni/net.d/10-flannel.conflistvolumeMounts:- name: cnimountPath: /etc/cni/net.d- name: flannel-cfgmountPath: /etc/kube-flannel/containers:- name: kube-flannelimage: docker.io/flannel/flannel:v0.22.0#image: docker.io/rancher/mirrored-flannelcni-flannel:v0.22.0command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgrresources:requests:cpu: 100mmemory: 50MisecurityContext:privileged: falsecapabilities:add: [NET_ADMIN, NET_RAW]env:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespace- name: EVENT_QUEUE_DEPTHvalue: 5000volumeMounts:- name: runmountPath: /run/flannel- name: flannel-cfgmountPath: /etc/kube-flannel/- name: xtables-lockmountPath: /run/xtables.lockvolumes:- name: runhostPath:path: /run/flannel- name: cni-pluginhostPath:path: /opt/cni/bin- name: cnihostPath:path: /etc/cni/net.d- name: flannel-cfgconfigMap:name: kube-flannel-cfg- name: xtables-lockhostPath:path: /run/xtables.locktype: FileOrCreate执行完成后需要等待安装一会儿如果发现coredns-xxxxxxxx一直处于pending状态 说明有问题网上通过找的资料是需要安装一个网络插件本次选择的是Calico 具体命令: $ curl https://docs.projectcalico.org/manifests/calico.yaml -O $ kubectl apply -f calico.yaml执行以上命令默认安装最新版的calico,这里要注意calico要和自己的k8s版本一致查看calico支持的k8s对应版本可以在calico官网查看https://projectcalico.docs.tigera.io/archive/v3.20/getting-started/kubernetes/requirements 本次使用的是calico版本为3.14 https://docs.tigera.io/archive/v3.14/getting-started/kubernetes/requirements 执行安装命令为 curl https://docs.projectcalico.org/v3.14/manifests/calico.yaml -O最后查看状态 10、加入 Kubernetes Node 1在 192.168.254.130/131从节点执行 向集群添加新节点执行在 kubeadm init 输出的 kubeadm join 命令 $ kubeadm join 192.168.254.129:6443 --token ywral2.l485zun39nplhef6 \--discovery-token-ca-cert-hash sha256:dd60f7314000709d4dc9b207f72c937ad9d39bec14824883c0fc4742a190d1e8 默认token有效期为24小时当过期之后该token就不可用了。这时就需要重新创建token操作如下 kubeadm token create --print-join-command11、测试 kubernetes 集群 $ kubectl create deployment nginx --imagenginx $ kubectl expose deployment nginx --port80 --typeNodePort $ kubectl get pod,svc通过三个节点任何一个ip port都可以访问到nginx
http://www.huolong8.cn/news/275404/

相关文章:

  • 白云区网站开发公司电话福田区南山区龙岗区
  • 唐山的做网站的企业视频弹幕网站怎么做
  • 如何提高网站的访问速度网站挂到国外服务器地址
  • 做网站推广怎么跟客户沟通单位网站用途类型
  • 网站没有备案是假的吗建网站企业
  • 总结企业网站建设的流程网站留言板怎么做php
  • 网站优化策略分析论文怎样做一个网站首页
  • 想学做网站学什么教程企业门户网站开发代码
  • 学校网站页面设计菜篮网网站开发技术
  • 德国 网站建设台州网站建设方案服务
  • 如何知道自己网站主机高科技公司网站模板
  • 电信网站备案查询网站开发团队工作总结
  • 做网站去哪找客户搭建网站软件
  • 做360手机网站快速排名软件密云网站建设
  • 潍坊网站制作小程序网站开发的论文怎么写
  • 商务网站开发工具字节跳动公司简介
  • 长春做网站的公司哪家好百度网站怎么建设
  • 个人网站设计模板下载域名可以做网站名吗
  • 企业网站建设兴田德润地址58同城泰安
  • 赣州网站优化制作wordpress 无法html
  • 企业网站建设的层次做网站招商需要具备什么
  • 德州金航网站建设百度发广告怎么发
  • 家居企业网站建设效果一个后台可以做几个网站
  • 南昌高端网站开发费用表服装网都有哪些网站
  • 电子政务和网站建设自评东莞常平隐贤山庄门票多少
  • 制作app连接网站网站后缀co
  • 永春网站建设个人的网站
  • 长沙外贸企业网站建设wordpress页面生成
  • 网站制作视频课程南昌网站建设机构
  • 制作app需要网站吗外贸中间体做哪个网站好