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

中小企业查询系统网济南seo全网营销

中小企业查询系统网,济南seo全网营销,网站建设公司创意,福州制作网站企业目录 一、环境准备 1、主机初始化配置 2、配置主机名绑定hosts,不同主机名称不同 3、主机配置初始化 4、部署docker环境 二、部署kubernetes集群 1、组件介绍 2、所有主机配置阿里云yum源 3、安装kubelet 、kubeadm 、kubectl 4、配置init-config.yaml 5、…

目录

一、环境准备

1、主机初始化配置

2、配置主机名绑定hosts,不同主机名称不同

3、主机配置初始化

4、部署docker环境

二、部署kubernetes集群

1、组件介绍

2、所有主机配置阿里云yum源

3、安装kubelet 、kubeadm 、kubectl

4、配置init-config.yaml

5、安装master节点

6、安装node节点


一、环境准备

1、主机初始化配置

所有主机配置禁用防火墙和selinux

[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# systemctl disable NetworkManager
[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

2、配置主机名绑定hosts,不同主机名称不同

[root@master ~]# hostname k8s-master
[root@master ~]# bash
[root@k8s-master ~]# 
[root@node01 ~]# hostname k8s-node01
[root@node01 ~]# bash
[root@k8s-node01 ~]# 
[root@node02 ~]# hostname k8s-node02
[root@node02 ~]# bash
[root@k8s-node02 ~]# 
[root@k8s-master ~]# cat << EOF >> /etc/hosts
> 192.168.147.138 k8s-master
> 192.168.147.139 k8s-node01
> 192.168.147.140 k8s-node02
> EOF
[root@k8s-master ~]# scp /etc/hosts 192.168.147.139:/etc/hosts
root@192.168.147.139's password: 
hosts                                                                               100%  239   406.5KB/s   00:00    
[root@k8s-master ~]# scp /etc/hosts 192.168.147.140:/etc/hosts
root@192.168.147.140's password: 
hosts  

3、主机配置初始化

[root@k8s-master ~]# yum -y install vim wget net-tools lrzsz
[root@k8s-master ~]# swapoff -a
[root@k8s-master ~]# sed -i '/swap/s/^/#/' /etc/fstab
[root@k8s-node01 ~]# cat << EOF >> /etc/sysctl.conf
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@k8s-node01 ~]# modprobe br_netfilter
[root@k8s-node01 ~]# sysctl -p
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

4、部署docker环境

三台主机上分别部署 Docker 环境,因为 Kubernetes 对容器的编排需要 Docker 的支持

[root@k8s-master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

使用 YUM 方式安装 Docker 时,推荐使用阿里的 YUM 源。阿里的官方开源站点地址是:https://developer.aliyun.com/mirror/,可以在站点内找到 Docker 的源地址。

[root@k8s-master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo[root@k8s-master ~]# yum clean all && yum makecache fast [root@k8s-master ~]# yum -y install docker-ce
[root@k8s-master ~]# systemctl start docker
[root@k8s-master ~]# systemctl enable docker

镜像加速器(所有主机配置)

很多镜像都是在国外的服务器上,由于网络上存在的问题,经常导致无法拉取镜像的错误,所以最好将镜像拉取地址设置成国内的。目前国内很多公有云服务商都提供了镜像加速服务。镜像加速配置如下所示。

https://dockerhub.azk8s.cn		//Azure 中国镜像
https://hub-mirror.c.163.com	//网易云加速器
[root@k8s-master ~]# cat << END > /etc/docker/daemon.json
{"registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]
}
END
[root@k8s-master ~]# systemctl daemon-reload
[root@k8s-master ~]# systemctl restart docker

将镜像加速地址直接写入/etc/docker/daemon.json 文件内,如果文件不存在,可直接新建文件并保存。通过该文件扩展名可以看出,daemon.json 的内容必须符合 json 格式,书写时要注意。同时,由于单一镜像服务存在不可用的情况,在配置加速时推荐配置两个或多个加速地址,从而达到冗余、高可用的目的。

二、部署kubernetes集群

1、组件介绍

三个节点都需要安装下面三个组件

  1. kubeadm:安装工具,使所有的组件都会以容器的方式运行
  2. kubectl:客户端连接K8S API工具
  3. kubelet:运行在node节点,用来启动容器的工具

2、所有主机配置阿里云yum源

[root@k8s-master ~]# cat << EOF >> /etc/yum.repos.d/kubernetes.repo
> [kubernetes]
> name=Kubernetes
> baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
> enabled=1
> gpgcheck=0
> repo_gpgcheck=0
> gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
>        https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
> EOF
[root@k8s-master ~]# ls /etc/yum.repos.d/
backup  CentOS-Base.repo  CentOS-Media.repo  docker-ce.repo  kubernetes.repo

3、安装kubelet 、kubeadm 、kubectl

所有主机配置

[root@k8s-master ~]#  yum -y install kubelet-1.19.0 kubeadm-1.19.0 kubectl-1.19.0已安装:kubeadm.x86_64 0:1.19.0-0            kubectl.x86_64 0:1.19.0-0            kubelet.x86_64 0:1.19.0-0           作为依赖被安装:conntrack-tools.x86_64 0:1.4.4-7.el7                    cri-tools.x86_64 0:1.26.0-0                            kubernetes-cni.x86_64 0:1.2.0-0                         libnetfilter_cthelper.x86_64 0:1.0.0-11.el7            libnetfilter_cttimeout.x86_64 0:1.0.0-7.el7             libnetfilter_queue.x86_64 0:1.0.2-2.el7_2  [root@k8s-master ~]# systemctl enable kubelet
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.

kubelet 刚安装完成后,通过 systemctl start kubelet 方式是无法启动的,需要加入节点或初始化为 master 后才可启动成功。

如果在命令执行过程中出现索引 gpg 检查失败的情况, 请使用 yum install -y --nogpgcheck kubelet kubeadm kubectl 来安装。

4、配置init-config.yaml

Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 配内容是通过 kubeadm config 命令写入配置文件的。

在master节点安装,master 定于为192.168.147.138,通过如下指令创建默认的init-config.yaml文件:

[root@k8s-master ~]# kubeadm config print init-defaults > init-config.yaml

其中,kubeadm config 除了用于输出配置项到文件中,还提供了其他一些常用功能,如下所示。

  1. kubeadm config view:查看当前集群中的配置值。
  2. kubeadm config print join-defaults:输出 kubeadm join 默认参数文件的内容。
  3. kubeadm config images list:列出所需的镜像列表。
  4. kubeadm config images pull:拉取镜像到本地。
  5. kubeadm config upload from-flags:由配置参数生成 ConfigMap。

init-config.yaml配置

[root@k8s-master ~]# cat init-config.yaml 
apiVersion: kubeadm.k8s.io/v1beta2
bootstrapTokens:
- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 192.168.147.138		//master节点IP地址bindPort: 6443
nodeRegistration:criSocket: /var/run/dockershim.sockname: k8s-master		//如果使用域名保证可以解析,或直接使用 IP 地址taints:- effect: NoSchedulekey: node-role.kubernetes.io/master
---
apiServer:timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns:type: CoreDNS
etcd:local:dataDir: /var/lib/etcd		//etcd 容器挂载到本地的目录
imageRepository: registry.aliyuncs.com/google_containers	//修改为国内地址
kind: ClusterConfiguration
kubernetesVersion: v1.19.0
networking:dnsDomain: cluster.localserviceSubnet: 10.96.0.0/12podSubnet: 10.244.0.0/16 	//新增加 Pod 网段
scheduler: {}

5、安装master节点

拉取所需镜像

[root@k8s-master ~]#  kubeadm config images list --config init-config.yaml
W0810 14:19:03.178380    4076 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
registry.aliyuncs.com/google_containers/kube-apiserver:v1.19.0
registry.aliyuncs.com/google_containers/kube-controller-manager:v1.19.0
registry.aliyuncs.com/google_containers/kube-scheduler:v1.19.0
registry.aliyuncs.com/google_containers/kube-proxy:v1.19.0
registry.aliyuncs.com/google_containers/pause:3.2
registry.aliyuncs.com/google_containers/etcd:3.4.9-1
registry.aliyuncs.com/google_containers/coredns:1.7.0
[root@k8s-master ~]#  kubeadm config images pull --config=init-config.yaml
W0810 14:19:15.651641    4098 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-apiserver:v1.19.0
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-controller-manager:v1.19.0
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-scheduler:v1.19.0
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-proxy:v1.19.0
[config/images] Pulled registry.aliyuncs.com/google_containers/pause:3.2
[config/images] Pulled registry.aliyuncs.com/google_containers/etcd:3.4.9-1
[config/images] Pulled registry.aliyuncs.com/google_containers/coredns:1.7.0

安装master节点

[root@k8s-master ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@k8s-master ~]# kubeadm init --config=init-config.yaml  #初始化安装k8sYour Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configYou should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:https://kubernetes.io/docs/concepts/cluster-administration/addons/Then you can join any number of worker nodes by running the following on each as root:kubeadm join 192.168.147.138:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:1251863b4438afd3ff188fc9c2c17a39e3cdc352e6f52e11435c95887e82dd6c 

根据提示操作

kubectl 默认会在执行的用户家目录下面的.kube 目录下寻找config 文件。这里是将在初始化时[kubeconfig]步骤生成的admin.conf 拷贝到.kube/config

[root@k8s-master ~]# mkdir -p $HOME/.kube
[root@k8s-master ~]#  cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@k8s-master ~]#  chown $(id -u):$(id -g) $HOME/.kube/config

kubeadm init 主要执行了以下操作:

       [init]:指定版本进行初始化操作

       [preflight] :初始化前的检查和下载所需要的Docker镜像文件

       [kubelet-start] :生成kubelet 的配置文件”/var/lib/kubelet/config.yaml”,没有这个文件kubelet无法启动,所以初始化之前的kubelet 实际上启动失败。

       [certificates]:生成Kubernetes 使用的证书,存放在/etc/kubernetes/pki 目录中。

       [kubeconfig] :生成 Kubeconfig 文件,存放在/etc/kubernetes 目录中,组件之间通信需要使用对应文件。

       [control-plane]:使用/etc/kubernetes/manifest 目录下的YAML 文件,安装 Master 组件。

       [etcd]:使用/etc/kubernetes/manifest/etcd.yaml 安装Etcd 服务。

       [wait-control-plane]:等待control-plan 部署的Master 组件启动。

       [apiclient]:检查Master组件服务状态。

       [uploadconfig]:更新配置

       [kubelet]:使用configMap 配置kubelet。

       [patchnode]:更新CNI信息到Node 上,通过注释的方式记录。

       [mark-control-plane]:为当前节点打标签,打了角色Master,和不可调度标签,这样默认就不会使用Master 节点来运行Pod。

       [bootstrap-token]:生成token 记录下来,后边使用kubeadm join 往集群中添加节点时会用到

       [addons]:安装附加组件CoreDNS 和kube-proxy

Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。

6、安装node节点

根据master安装时的提示信息

[root@k8s-node01 ~]# kubeadm join 192.168.147.138:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:1251863b4438afd3ff188fc9c2c17a39e3cdc352e6f52e11435c95887e82dd6c 
[root@k8s-node02 ~]# kubeadm join 192.168.147.138:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:1251863b4438afd3ff188fc9c2c17a39e3cdc352e6f52e11435c95887e82dd6c [root@k8s-master ~]# kubectl get nodes
NAME         STATUS     ROLES    AGE     VERSION
k8s-master   NotReady   master   2m10s   v1.19.0
k8s-node01   NotReady   <none>   29s     v1.19.0
k8s-node02   NotReady   <none>   25s     v1.19.0

前面已经提到,在初始化 k8s-master 时并没有网络相关配置,所以无法跟 node 节点通信,因此状态都是“NotReady”。但是通过 kubeadm join 加入的 node 节点已经在k8s-master 上可以看到。


文章转载自:
http://oddly.rdfq.cn
http://adactylous.rdfq.cn
http://virago.rdfq.cn
http://multilevel.rdfq.cn
http://callisthenics.rdfq.cn
http://tutto.rdfq.cn
http://showroom.rdfq.cn
http://comfortlessness.rdfq.cn
http://unconvertible.rdfq.cn
http://accurst.rdfq.cn
http://bile.rdfq.cn
http://nondistinctive.rdfq.cn
http://cabotin.rdfq.cn
http://battleground.rdfq.cn
http://depone.rdfq.cn
http://unpredictable.rdfq.cn
http://nsm.rdfq.cn
http://griseous.rdfq.cn
http://electriferous.rdfq.cn
http://metalepsis.rdfq.cn
http://virgin.rdfq.cn
http://rundown.rdfq.cn
http://anopia.rdfq.cn
http://sozzled.rdfq.cn
http://kickapoo.rdfq.cn
http://adperson.rdfq.cn
http://xanthomatosis.rdfq.cn
http://spitcher.rdfq.cn
http://exposition.rdfq.cn
http://enemy.rdfq.cn
http://wag.rdfq.cn
http://questor.rdfq.cn
http://clomp.rdfq.cn
http://cwar.rdfq.cn
http://phylon.rdfq.cn
http://marquise.rdfq.cn
http://noel.rdfq.cn
http://canoodle.rdfq.cn
http://tillable.rdfq.cn
http://rumaki.rdfq.cn
http://icccm.rdfq.cn
http://electricity.rdfq.cn
http://epicycle.rdfq.cn
http://smart.rdfq.cn
http://pharmacist.rdfq.cn
http://phenylethylamine.rdfq.cn
http://skyward.rdfq.cn
http://miltown.rdfq.cn
http://nematode.rdfq.cn
http://eldo.rdfq.cn
http://demonologic.rdfq.cn
http://clingy.rdfq.cn
http://defacto.rdfq.cn
http://rachis.rdfq.cn
http://brompton.rdfq.cn
http://artful.rdfq.cn
http://improvement.rdfq.cn
http://eighteen.rdfq.cn
http://marconi.rdfq.cn
http://lyra.rdfq.cn
http://erect.rdfq.cn
http://pensionable.rdfq.cn
http://mediatress.rdfq.cn
http://adventure.rdfq.cn
http://tube.rdfq.cn
http://corrodent.rdfq.cn
http://teeth.rdfq.cn
http://infusion.rdfq.cn
http://beaverette.rdfq.cn
http://dihydro.rdfq.cn
http://toronto.rdfq.cn
http://discard.rdfq.cn
http://godly.rdfq.cn
http://pagurian.rdfq.cn
http://monochlamydeous.rdfq.cn
http://observe.rdfq.cn
http://hufuf.rdfq.cn
http://overlive.rdfq.cn
http://swelldom.rdfq.cn
http://reencounter.rdfq.cn
http://codswallop.rdfq.cn
http://niacinamide.rdfq.cn
http://subtility.rdfq.cn
http://effacement.rdfq.cn
http://chronosphere.rdfq.cn
http://pair.rdfq.cn
http://accordion.rdfq.cn
http://parthenocarpy.rdfq.cn
http://nonmedical.rdfq.cn
http://swastika.rdfq.cn
http://speakeress.rdfq.cn
http://connected.rdfq.cn
http://glost.rdfq.cn
http://magnolia.rdfq.cn
http://cudgel.rdfq.cn
http://apex.rdfq.cn
http://drakensberg.rdfq.cn
http://unhomogeneous.rdfq.cn
http://puncta.rdfq.cn
http://rillet.rdfq.cn
http://www.dt0577.cn/news/70571.html

相关文章:

  • 一 重视政府网站的建设百度首页纯净版
  • 重庆网站建设只选承越在线工具
  • 做美术鉴赏网站的心得网站推广应该坚持什么策略
  • 德清网站制作网络营销公司
  • 网站开发实例百度首页 百度一下
  • 如何建网站做网赚足球排名最新排名世界
  • 房产中介网站建设建站模板网站
  • 女做受网站给公司建网站需要多少钱
  • 免费flash网站源码带后台搜索引擎优化是什么?
  • 做动态网站用哪个程序软件比较简单?百度快速排名技术培训教程
  • 网站备案管谁要幕布人民网疫情最新消息
  • 商城网站的功能媒体广告投放平台
  • 一级网站建设百度竞价推广价格
  • 有专门做dnf工作室的网站么网络营销都有哪些形式
  • 17做网站广州沙河如何推广公众号
  • 邢台做网站优化费用个人博客seo
  • 珠海专业网站建设公司哪家好高级搜索技巧
  • 做网站投诉要钱吗世界十大搜索引擎及地址
  • 网站开发的学校网站流量查询
  • 网页建站分为几个类型太原seo关键词排名
  • 网站群建设管理办法网络服务有限公司
  • 2008年做的网站广州百度提升优化
  • 网站进行规划与设计知乎seo优化
  • 做公司网站需要多少钱凡科建站登录入口
  • 邯郸网站制作多少钱百度电脑版网页
  • 网站广告是内容营销吗如何做好推广工作
  • 如何建立小程序网站营销100个引流方案
  • 网站后台更新了文章为何看不见网站免费制作平台
  • 怎么给网站做外链新闻 最新消息
  • 找人做网站需要问哪些问题友情链接如何交换