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

专门做网站公司百度云在线登录

专门做网站公司,百度云在线登录,智慧云建筑信息平台,js网页设计大作业源代码centos7.9安装k8s 1.3 k8s环境规划:初始化修改网卡配置两台服务器都执行 配置阿里yum源 安装containerd服务安装初始化k8s需要的软件包kubeadm初始化k8s集群 扩容k8s集群-添加第一个工作节点安装kubernetes网络组件-Calico测试在k8s创建pod是否可以正常访问网络和co…

centos7.9安装k8s 1.3

  • k8s环境规划:
    • 初始化
    • 修改网卡配置
    • 两台服务器都执行 配置阿里yum源
  • 安装containerd服务
  • 安装初始化k8s需要的软件包
    • kubeadm初始化k8s集群
  • 扩容k8s集群-添加第一个工作节点
  • 安装kubernetes网络组件-Calico
  • 测试在k8s创建pod是否可以正常访问网络和coredns

k8s环境规划:

物理机网段:192.168.40.0/24
podSubnet(pod网段) 10.244.0.0/16
serviceSubnet(service网段): 10.96.0.0/12
在这里插入图片描述

初始化

master执行修改主机名

hostnamectl set-hostname k8smaster1 && bash

node执行修改主机名

hostnamectl set-hostname k8snode1 && bash

关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

修改每台机器的/etc/hosts文件

192.168.40.120   k8smaster1  
192.168.40.121   k8snode1  

关闭交换分区swap,提升性能

swapoff -a
vim /etc/fstab
#/dev/mapper/centos-swap swap      swap    defaults        0 0

修改机器内核参数

modprobe br_netfilter
vim /etc/sysctl.d/k8s.conf 
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
#net.bridge.bridge-nf-call-ip6tables这个参数启用了 IPv6 的iptables netfilter hook,允许 Linux 内核在网络层面上进行 IPv6 数据包的过滤和处理。在 Kubernetes 中,这个参数通常需要启用,因为 Kubernetes 网络通常是基于 iptables 实现的,而且在一些网络插件中可能会使用到 IPv6。这个参数的启用确保了 Linux 内核在处理 IPv6 数据包时会经过 iptables 过滤,从而确保网络功能的正常运行。
#net.bridge.bridge-nf-call-iptables 这个参数启用了 IPv4 的iptables netfilter hook,类似于前一个参数,但是针对 IPv4 数据包。它允许 Linux 内核在网络层面上进行 IPv4 数据包的过滤和处理。在 Kubernetes 中,这个参数通常需要启用,因为 Kubernetes 网络通常是基于 iptables 实现的,而且在一些网络插件中可能会使用到 Ipv4。这个参数的启用确保了 Linux 内核在处理 Ipv4 数据包时会经过 iptables 过滤,从而确保网络功能的正常运行。
#net.ipv4.ip_forward  这个参数启用了 Linux 内核的 IP 转发功能,允许 Linux 主机将收到的数据包从一个网络接口转发到另一个网络接口。在 Kubernetes 中,Pod 可能会跨越多个节点进行通信。例如,当一个 Pod 需要访问另一个 Pod 或外部服务时,网络流量可能需要通过不同的节点进行路由。启用 IP 转发功能允许 Linux 主机将收到的数据包从一个网络接口转发到另一个网络接口,从而实现跨节点通信。

sysctl 将读取 /etc/sysctl.d/k8s.conf 文件中的参数,并将其应用到当前系统。

sysctl -p /etc/sysctl.d/k8s.conf

关闭firewalld防火墙

systemctl stop firewalld ; systemctl disable firewalld

如需开启防火墙

kube-apiserver端口是6443,etcd端口是23792380,kube-controller-manager端口是10257, kube-scheduler端口是10259,kubelet端口10250,Kube-proxy:默认使用动态分配的端口(TCP/UDP),通常在 102465535 之间。calico端口TCP 179,UDP4789,TCP5743,UDP4789,443

例如

firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --reload

配置时间同步

yum install ntpdate -y
ntpdate cn.pool.ntp.org
crontab -e
* *  * * * /usr/sbin/ntpdate   cn.pool.ntp.org
systemctl restart crond

修改网卡配置

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#UUID ifcfg-ens33.bak的,其他都修改
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=47ae7c92-d10d-4409-aa48-5891ff6fcf95
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.40.120
NETMASK=255.255.255.0
GATEWAY=192.168.40.2
DNS1=192.168.40.2
PREFIX=24
service network restart

两台服务器都执行 配置阿里yum源

vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

安装常用命令

yum install -y device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack telnet ipvsadm
yum install yum-utils -y

安装containerd服务

在 Kubernetes 中,当一个 Pod 被创建时,Kubernetes 会根据 Pod 中定义的容器信息,将它们交给容器运行时来创建和运行。

安装containerd

yum install containerd.io-1.6.22*  -y
cd /etc/containerd
rm -rf *

上传config.toml
修改config.toml配置文件里的harbor的ip地址,变成自己真实环境的harbor的ip
在这里插入图片描述

systemctl start containerd && systemctl enable containerd

安装初始化k8s需要的软件包

配置安装k8s组件需要的阿里云的repo源

cat >  /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/repodata/repomd.xml.key
EOF
yum clean all && yum makecache

每台都执行

yum install -y kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0
systemctl enable kubelet

kubeadm初始化k8s集群

kubeadm config print init-defaults > kubeadm.yaml

根据我们自己的需求修改配置,比如修改 imageRepository 的值,kube-proxy 的模式为 ipvs,需要注意的是由于我们使用的containerd作为运行时,所以在初始化节点的时候需要指定cgroupDriver为systemd

apiVersion: kubeadm.k8s.io/v1beta3
---
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 192.168.40.120 #控制节点的ipbindPort: 6443
nodeRegistration:criSocket: unix:///run/containerd/containerd.sock  #指定containerd容器运行时imagePullPolicy: IfNotPresentname:  xianchaomaster1 #控制节点主机名taints: null
---
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
# 指定阿里云镜像仓库地址,这样在安装k8s时,会自动从阿里云镜像仓库拉取镜像
kind: ClusterConfiguration
kubernetesVersion: 1.30.0 #k8s版本
networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16 #指定pod网段, 需要新增加这个serviceSubnet: 10.96.0.0/12 #指定Service网段
scheduler: {}
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

基于kubeadm.yaml初始化k8s集群

kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

显示如下,说明安装完成:
在这里插入图片描述

配置kubectl的配置文件config,相当于对kubectl进行授权,这样kubectl命令可以使用这个证书对k8s集群进行管理

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

扩容k8s集群-添加第一个工作节点

master执行

kubeadm token create --print-join-command
显示如下:
kubeadm join 192.168.40.180:6443 --token vulvta.9ns7da3saibv4pg1     --discovery-token-ca-cert-hash sha256:72a0896e27521244850b8f1c3b600087292c2d10f2565adb56381f1f4ba7057a

把k8snode1加入k8s集群

kubeadm join 192.168.40.180:6443 --token vulvta.9ns7da3saibv4pg1     --discovery-token-ca-cert-hash sha256:72a0896e27521244850b8f1c3b600087292c2d10f2565adb56381f1f4ba7057a --ignore-preflight-errors=SystemVerification

master执行

kubectl get nodes
NAME              STATUS     ROLES                   AGE   VERSION
xianchaomaster1     notReady     control-plane,master      49m   v1.30.0
xianchaonode1       notReady     <none>                    39s   v1.30.0

给node打标签

kubectl label nodes k8snode1 node-role.kubernetes.io/work=work
kubectl get nodes
kubectl get pods -n kube-system -owide

安装kubernetes网络组件-Calico

1)支持网络隔离和多租户场景;
2)为pod提供独立的IP地址;
3)支持跨主机的容器通信,pod可以通过IP地址直接互相访问;
4)提供网络安全策略,支持网络流量控制和访问授权,实现网络安全隔离。

把安装calico和calico.yaml需要的镜像calico.tar.gz传到k8smaster1和k8snode1节点,手动解压:

ctr -n=k8s.io images import calico.tar.gz

calico.yaml文件需要做如下修改

  • 在安装 Calico 网络插件时,指定 IP_AUTODETECTION_METHOD 环境变量是为了确保该插件能够在正确的网络接口上自动检测 Pod IP 地址。这个环境变量的值 “interface=ens33” 指定了 Calico 插件使用 ens33 接口来分配 IP 地址给 Kubernetes Pod,而不是使用默认的自动检测方式。
  • 通常情况下,Kubernetes Pod 中容器的 IP 地址是由容器运行时(如 Docker 或 CRI-O)自动分配的。但是,对于某些网络插件(如 Calico)来说,为了能够正确地配置网络,需要手动指定使用哪个网络接口来自动检测 Pod IP 地址。
  • 因此,在安装 Calico 网络插件时,需要通过 IP_AUTODETECTION_METHOD 环境变量来指定使用 ens33 接口来分配 IP 地址给 Kubernetes Pod。这样可以确保 Calico 插件能够正确地配置 Pod 网络。
  • 如果你网卡接口地址是eth0,那就改成value: “interface=eth0”
vim calico.yaml
- name: IP_AUTODETECTION_METHODvalue: "interface=ens33"
kubectl apply -f  calico.yaml
kubectl get node
kubectl get pods -n kube-system -owide

测试在k8s创建pod是否可以正常访问网络和coredns

把busybox-1-28.tar.gz上传到k8snode1节点,手动解压

ctr -n k8s.io images import busybox-1-28.tar.gz
kubectl run busybox --image docker.io/library/busybox:1.28  --image-pull-policy=IfNotPresent --restart=Never --rm -it busybox -- sh
ping www.baidu.com
nslookup kubernetes.default.svc.cluster.local

注意:busybox要用指定的1.28版本,不能用最新版本,最新版本,nslookup会解析不到dns和ip

http://www.ds6.com.cn/news/30130.html

相关文章:

  • 做哪种网站能赚到钱sem是什么职位
  • asp网站建设参考文献营销型网站有哪些
  • 做网站需要什么知识国际新闻最新消息美国
  • 网站开发毕业设计seo模拟点击工具
  • 集团做网站方案制作包含哪些方面安卓系统优化软件
  • 国外服务器商seo是指搜索引擎营销
  • wap网站后台模板网站投放广告费用
  • 网站路径问题二级域名查询入口
  • 贵阳做网站设计网络营销策划书
  • 辽宁网站建设推广哪家便宜网站友情链接购买
  • 专门做焦点图的网站百度广告联盟
  • 用php做注册网站的代码宁德市旅游景点大全
  • 批发网站有哪些和业务多一样的平台
  • 网站建设公司哪家专业怎么把平台推广出去
  • 全市做家装建材b2c网站青岛网络优化厂家
  • 2022年中国企业500强榜单seo每日一贴
  • 网站建设购销合同seo网站关键词优化
  • 网站开发功能模块出错全球网站访问量排名
  • 深圳住建网开封seo推广
  • 连连跨境电商网站开发新闻头条今天最新消息
  • 关于加强建设旅游网站 重庆旅游局网站点击量统计
  • wordpress汉化安装教程惠州seo排名外包
  • 深圳市官方网站厦门关键词排名优化
  • 哪个网站做相册好百度行发代理商
  • 兔宝宝全屋定制衣柜官网澳门seo关键词排名
  • 怎样说服公司做网站百度号码认证平台
  • 营销型网站大全优化大师怎么强力卸载
  • 餐厅网站建设方案营销策划书范文1000字
  • 网站建设都需要买什么东西西安霸屏推广
  • 岳塘区建设路街道网站如何免费开自己的网站