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

横峰县城乡建设网站平面设计工作室网站

横峰县城乡建设网站,平面设计工作室网站,做海报的软件,室内装修设计收费标准K8S Kubeadm案例实战 Kubeadm 是一个K8S部署工具#xff0c;它提供了kubeadm init 以及 kubeadm join 这两个命令来快速创建kubernetes集群。 Kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。它故意被设计为只关心启动集群#xff0c;而不是之前的节点准备工作…K8S Kubeadm案例实战 Kubeadm 是一个K8S部署工具它提供了kubeadm init 以及 kubeadm join 这两个命令来快速创建kubernetes集群。 Kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。它故意被设计为只关心启动集群而不是之前的节点准备工作。同样的诸如安装各种各样值得拥有的插件例如Kubernetes Dashboard、监控解决方案以及特定云提供商的插件这些都不在它负责的范围。 相反我们期望由一个基于 kubeadm 从更高层设计的更加合适的工具来做这些事情并且理想情况下使用 kubeadm 作为所有部署的基础将会使得创建一个符合期望的集群变得容易。 Kubeadm:用于初始化K8S Cluster的工具会用到Kubelet组件服务运行在Cluster所有节点上,负责调用Docker指令启动POD和容器。kubectl:kubectl是kubenetes命令行工具通过Kubectl可以部署和管理应用查看各种资源创建删除和更新组件。 在机器上手动安装 docker、kubeadm、kubelet、kubectl 几个二进制文件然后才能再容器化部署其他 Kubernetes 组件。主要通过kubeadm init初始化初始化K8S集群的流程如下 检查工作Preflight Checks检查Linux内核版本、Cgroups模块可用性、组件版本、端口占用情况、Docker等依赖情况生成对外提供服务的CA证书及对应的目录生成其他组件访问 kube-apiserver 所需的配置文件为Master组件生成应用容器的配置文件利用这些配置文件通过Kubernetes 中特殊的容器启动方法“Static Pod”Kubeadm init-Kubelet启动时自动加载固定目录的 Pod YAML 文件并启动-Docker引擎-启动kube-apiserver、kube-controller-manager、kube-scheduler 三个 Master 组件。同时还会生成 Etcd 的 Pod YAML 文件为集群生成一个Bootstrap token其他节点加入集群的机器和 Apiserver打交道需要获取相应的证书文件所以Bootstrap token需要扮演安全验证的角色安装默认插件例如Kube-proxy 和Core DNS分别提供集群的服务发现和 DNS 功能。 1安装Kubeadm工具 #安装Kubeadm yum install -y kubeadm-1.20.4 kubelet-1.20.4 kubectl-1.20.4 #启动kubelet服务 systemctl enable kubelet.service systemctl start kubelet.service2Kubeadm常见指令操作 kubeadm init 启动一个 Kubernetes 主节点 kubeadm join 启动一个 Kubernetes 工作节点并且将其加入到集群 kubeadm upgrade 更新一个 Kubernetes 集群到新版本 kubeadm config 如果使用 v1.7.x 或者更低版本的 kubeadm 初始化集群您需要对集群做一些配置以便使用 kubeadm upgrade 命令 kubeadm token 管理 kubeadm join 使用的令牌 kubeadm reset 还原 kubeadm init 或者 kubeadm join 对主机所做的任何更改 kubeadm version 打印 kubeadm 版本 kubeadm alpha 预览一组可用的新功能以便从社区搜集反馈K8S Master节点实战 1执行kubeadm init初始化安装Master相关软件 kubeadm init --control-plane-endpoint192.168.1.146:6443 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.20.4 --service-cidr10.10.0.0/16 --pod-network-cidr10.244.0.0/16 --upload-certs2根据如上指令操作执行成功如图所示 3根据如上图提示接下来需手工执行如下指令拷贝admin配置文件 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config4将node节点加入K8S集群在Node节点使用的参数和指令如下 kubeadm join 192.168.1.146:6443 --token ze0zfe.9zhew67l6gxsq7du \--discovery-token-ca-cert-hash sha256:ee5a3f9accf98c76a3a3da1f3c4540c14c9e9ce49a4070de4b832aa8cb3a8f31Node1节点加入集群 #启动Node1节点上docker引擎服务 systemctl start docker.service #将Node1节点加入K8S集群 kubeadm join 192.168.1.146:6443 --token ze0zfe.9zhew67l6gxsq7du \ --discovery-token-ca-cert-hash sha256:ee5a3f9accf98c76a3a3da1f3c4540c14c9e9ce49a4070de4b832aa8cb3a8f31 #执行kubeadm init时没有记录下加入集群的指令可以通过以下命令重新创建即可 kubeadm token create --print-join-command #登录K8S Master节点验证节点信息 kubectl get nodesK8S节点网络配置 Kubernetes整个集群所有服务器Master、Minions配置Flanneld操作方法和指令如下 参考https://github.com/containernetworking/cni 必须安装pod网络插件以便pod之间可以相互通信必须在任何应用程序之前部署网络CoreDNS不会在安装网络插件之前启动。 1安装Flanneld网络插件 Fanneld定义POD的网段为: 10.244.0.0/16POD容器的IP地址会自动分配10.244开头的网段IP。安装Flanneld网络插件指令如下 #下载Fanneld插件YML文件 yum install wget -y wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml #提前下载Flanneld组建所需镜像 for i in $(cat kube-flannel.yml |grep image|awk -F: {print $2:$3}|uniq );do docker pull $i ;done #应用YML文件 kubectl apply -f kube-flannel.yml #查看Flanneld网络组建是否部署成功 kubectl -n kube-system get pods|grep -aiE flannelKube-flannel.yaml配置文件代码如 --- apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata:name: psp.flannel.unprivilegedannotations:seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/defaultseccomp.security.alpha.kubernetes.io/defaultProfileName: docker/defaultapparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/defaultapparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default spec:privileged: falsevolumes:- configMap- secret- emptyDir- hostPathallowedHostPaths:- pathPrefix: /etc/cni/net.d- pathPrefix: /etc/kube-flannel- pathPrefix: /run/flannelreadOnlyRootFilesystem: false# Users and groupsrunAsUser:rule: RunAsAnysupplementalGroups:rule: RunAsAnyfsGroup:rule: RunAsAny# Privilege EscalationallowPrivilegeEscalation: falsedefaultAllowPrivilegeEscalation: false# CapabilitiesallowedCapabilities: [NET_ADMIN, NET_RAW]defaultAddCapabilities: []requiredDropCapabilities: []# Host namespaceshostPID: falsehostIPC: falsehostNetwork: truehostPorts:- min: 0max: 65535# SELinuxseLinux:# SELinux is unused in CaaSPrule: RunAsAny --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:name: flannel rules: - apiGroups: [extensions]resources: [podsecuritypolicies]verbs: [use]resourceNames: [psp.flannel.unprivileged] - apiGroups:- resources:- podsverbs:- get - apiGroups:- resources:- nodesverbs:- list- watch - apiGroups:- resources:- nodes/statusverbs:- patch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:name: flannel roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: flannel subjects: - kind: ServiceAccountname: flannelnamespace: kube-system --- apiVersion: v1 kind: ServiceAccount metadata:name: flannelnamespace: kube-system --- kind: ConfigMap apiVersion: v1 metadata:name: kube-flannel-cfgnamespace: kube-systemlabels:tier: nodeapp: 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-systemlabels:tier: nodeapp: 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-cniimage: quay.io/coreos/flannel:v0.13.1-rc2command:- 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: quay.io/coreos/flannel:v0.13.1-rc2command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgrresources:requests:cpu: 100mmemory: 50Milimits:cpu: 100mmemory: 50MisecurityContext:privileged: falsecapabilities:add: [NET_ADMIN, NET_RAW]env:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacevolumeMounts:- name: runmountPath: /run/flannel- name: flannel-cfgmountPath: /etc/kube-flannel/volumes:- name: runhostPath:path: /run/flannel- name: cnihostPath:path: /etc/cni/net.d- name: flannel-cfgconfigMap:name: kube-flannel-cfg2安装Calico网络插件 官方文档参考 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network https://docs.projectcalico.org/v3.10/getting-started/kubernetes/ 为使calico正常工作你需要传递–pod-network-cidr10.10.0.0/16到kubeadm init或更新calico.yml文件以与您的pod网络相匹配。 kubectl apply -f https://docs.projectcalico.org/v3.10/manifests/calico.yaml如果安装flannel网络插件必须通过kubeadm init配置–pod-network-cidr10.10.0.0/16参数。 验证网络插件 安装了pod网络后确认coredns以及其他pod全部运行正常查看master节点状态为Ready kubectl get nodes kubectl -n kube-system get pods 至此Kubernetes 的 Master 节点就部署完成了。如果只需要一个单节点的 Kubernetes现在你就可以使用了。
http://wiki.neutronadmin.com/news/324193/

相关文章:

  • 温州网站建设外包国际新闻用什么软件看看
  • 网站开发的形式有( )学网站开发有什么好处
  • 互联网网站建设月总结爱丫爱丫在线观看视频
  • 网站的速度前段 网站建设实例
  • tp网站开发wordpress淘宝优惠券
  • 东莞市建设工程网站制作百度移动网站
  • 自学网站建设wordpress文章管理模板下载
  • 深圳网站制作济南安康微平台
  • 织梦网站怎样做子域名数商云招聘
  • 如何利用网站模板做网站广州网页设计html
  • 网站关键字怎么修改校园网站建设方案模板下载
  • 湖南网站建设 尖端磐石网络wordpress编辑页面上方有白条
  • 自己做发小说网站网站开发 网页设计北京师范大学出版社
  • 12306网站哪个公司做的企业网站标题优化
  • 网站建设外包公司容易被客户投诉吗深圳有名的设计公司
  • 门户网站需要多大的服务器深圳商城网站建设公司
  • vip视频网站怎么做废旧物品手工制作图片
  • 凡科免费建站如何做市场营销推广
  • 南山区住房与建设局官方网站西双版纳 网站建设
  • 免费企业网站程序上传怎么做购物网站
  • 创联互动建设网站外包公司被辞退有补偿吗
  • 长宁做手机网站建设网站源代码上传都需要怎么做
  • 郑州高端做网站汉狮湛江搜索引擎网站推广
  • 萌宝宝投票网站怎么做360度网站模板
  • 天津建设企业网站做封面网站
  • 汉川市建设局网站做数据收集网站
  • 网站建设的美图互联网登录的网站名
  • 网站添加外链企业vi设计公司报价
  • 绍兴的网站建设公司ios应用程序开发
  • 网站建设公司制作网站wordpress 添加子菜单