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

网站名称要求终身免费vps

网站名称要求,终身免费vps,建设部继续教育网站,软件定制解决方案一、准备工作(所有节点) 在开始部署之前,我们需要对所有节点进行以下准备工作。 1.1、关闭防火墙 # 关闭防火墙 systemctl stop firewalld# 禁止防火墙开机自启 systemctl disable firewalld1.2、 关闭 SELinux # 永久关闭 SELinux sed -…

一、准备工作(所有节点)

在开始部署之前,我们需要对所有节点进行以下准备工作。

1.1、关闭防火墙

# 关闭防火墙
systemctl stop firewalld# 禁止防火墙开机自启
systemctl disable firewalld

1.2、 关闭 SELinux

# 永久关闭 SELinux
sed -i 's/enforcing/disabled/' /etc/selinux/config# 重启系统使更改生效
reboot# 临时关闭 SELinux
setenforce 0

1.3、关闭 Swap 分区

# 永久关闭 Swap 分区
sed -ri 's/.*swap.*/#&/' /etc/fstab# 重启系统
reboot# 临时关闭 Swap 分区
swapoff -a

在搭建 Kubernetes 集群之前关闭防火墙、SELinux(Security-Enhanced Linux)以及禁用 swap 分区通常有以下原因:

1. 防火墙:- Kubernetes 集群中的各个节点需要通过一系列网络端口进行通信,包括 API 服务器、kubelet、etcd 等。关闭防火墙可以避免阻碍节点之间的网络通信,确保集群的正常运行。- 在生产环境中,建议使用网络策略(Network Policies)来限制 Pod 之间和 Pod 与外部的网络通信,而不是完全关闭防火墙。2. SELinux:- SELinux 是一个 Linux 内核的安全模块,用于强化系统的安全性。但是,它有时会与 Kubernetes 组件和容器运行时产生冲突,导致权限问题和功能受限。- 关闭 SELinux 可以简化 Kubernetes 集群的配置和维护,避免潜在的权限问题。3. 禁用 Swap 分区:- Kubernetes 对内存的管理和调度依赖于 Linux 内核的内存管理机制。Swap 分区的存在可能导致内存调度行为不稳定,从而影响容器的性能和稳定性。- Kubernetes 官方建议在所有集群节点上禁用 swap 分区,以确保容器可以充分利用主机的物理内存,并避免因为交换空间导致的性能问题。

虽然关闭防火墙、SELinux 和禁用 swap 分区可以简化 Kubernetes 的搭建和维护,但同时也会降低系统的安全性。在生产环境中,建议根据安全策略来适当配置防火墙规则,并针对 SELinux 进行合适的配置,以确保系统安全性和 Kubernetes 的正常运行。

1.4、 设置主机名

# 设置主机名(以 node1 为例)
hostnamectl set-hostname node1# 或者直接修改 /etc/hostname 文件,内容为:
node1

生成ssh,并且同步到其他节点

[root@master ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:I8nt/Be5ue9Rq2/u/zYvYCSgAQEHR15sYvwpIcFkqwE root@master
The key's randomart image is:
+---[RSA 2048]----+
|Eo***+.          |
|..o==.+ .        |
|. .o.= + .       |
| o  ..+o  . .    |
|.    .+ S  o .  .|
|       + .  =  ..|
|        o  . =.. |
|         .  + o+.|
|          ...=B*O|
+----[SHA256]-----+
[root@master ~]# ssh-copy-id root@node1
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@node1's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@node1'"
and check to make sure that only the key(s) you wanted were added.

在每个节点上添加 hosts 文件的配置:

cat >> /etc/hosts << EOF
192.168.88.160 master
192.168.88.161 node1
EOF

1.5、 内核参数

cat /etc/sysctl.d/k8s.conf 
net.bridge.bridge-nf-call-ip6tables = 1  # 启用对ipv6流量的桥接网络数据包的iptables的过滤功能,走iptables的规则
net.bridge.bridge-nf-call-iptables = 1  # 对ipv4的iptables的过滤功能
net.ipv4.ip_forward = 1    # 启动对ipv4数据包的转发功能;pod想要访问外网或者访问另外一个Pod,这个功能必须打开,否则系统只会管自己,不会帮别人转发数据包,就是只会管理发给自己的数据包的请求,不是自己的请求不会管
modprobe br_netfilter  # 加载linux内核模块sysctl -p /etc/sysctl.d/k8s.conf   # 加载指定配置文件的参数值,立即生效

二、安装docker

2.1、配置源

[root@master ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.m.daocloud.io","https://p5lmkba8.mirror.aliyuncs.com","https://registry.docker-cn.com",	"https://docker.1ms.run", "https://docker.xuanyuan.me"],"exec-opts": ["native.cgroupdriver=systemd"],   # 驱动设置为systemd,有一个重要的点就是kubelet使用的是systemd驱动,docker使用的cgroupfs驱动,有冲突,这里解决一下"storage-driver": "overlay2"  # docker高版本需要配置这个
}

2.2、安装docker

yum -y install  yum-utilsyum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum -y install docker-cesystemctl enable docker --now

三、安装K8s

3.1、配置K8s源:

[root@master ~]# cat /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

3.2、安装k8s

# 指定版本
[root@master ~]# yum -y install kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0# 列出所安装需要的核心镜像
[root@master ~]# kubeadm config images list
I1117 14:17:57.019109    2908 version.go:255] remote version is much newer: v1.31.2; falling back to: stable-1.23
k8s.gcr.io/kube-apiserver:v1.23.17   # 但是这些镜像国内访问不了,使用阿里云上面的镜像即可
k8s.gcr.io/kube-controller-manager:v1.23.17
k8s.gcr.io/kube-scheduler:v1.23.17
k8s.gcr.io/kube-proxy:v1.23.17
k8s.gcr.io/pause:3.6
k8s.gcr.io/etcd:3.5.1-0
k8s.gcr.io/coredns/coredns:v1.8.6

设置开机自启

# 开机自启,等会后面会自己启动的
[root@master ~]# systemctl enable kubelet
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.

启动docker、containerd、kubelet

systemctl restart docker
systemctl restart containerd
systemctl restart kubelet# 启动后通过status查看是否异常
问题:failed to load Kubelet config file /var/lib/kubelet/config.yaml
解决:原因是没有还需要执行kubeadm init,这个步骤稍后会执行

3.3、修改kubeadm-flags.env文件

注释:–network-plugin=cni

[root@master ~]#  cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS="--pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6"
# KUBELET_KUBEADM_ARGS="--network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6"[root@master ~]#  systemctl restart kubelet

3.4、初始化k8s【只有master节点需要执行这个!!!!!!!!!!!!

只需要修改apiserver-advertise-address

kubeadm init --apiserver-advertise-address=192.168.88.160 --kubernetes-version=v1.23.0 --service-cidr=10.96.0.0/16 --pod-network-cidr=10.244.0.0/16 --image-repository=registry.aliyuncs.com/google_containers# --apiserver-advertise-address # 控制节点的ip地址
# --kubernetes-version=v1.23.0 # k8s的版本
# --service-cidr   # 指定使用的网络地址,dns和svc的范围,会从这个里面进行分配
# --pod-network-cid  # 指定pod分配的地址范围
# --image-repository # 指定拉取控制平面组件的镜像仓库# 主要就是安装和配置api server,controller manager,scheduler等组件

如果初始化失败,可以使用 sudo kubeadm reset -f 进行重置

其他相关命令介绍:

# 获取node join的令牌,用于node节点接入
kubeadm token create --print-join-command

3.5、配置kubectl 访问权限【master节点】

root用户添加全局变量!!!!!!

# export KUBECONFIG=/etc/kubernetes/admin.conf

非root用户执行下面的命令:

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

3.6、添加到环境变量

master节点:

ls /etc/kubernetes  # 查看是否有/etc/kubernetes/admin.conf文件echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profilesource ~/.bash_profile

其他节点:将主节点(master)中的“/etc/kubernetes/admin.conf”文件拷贝到从节点(node)相同目录下,再执行上面的操作。

四、安装calico网络插件

wget  https://docs.projectcalico.org/v3.21/manifests/calico.yaml# 修改里面的配置,否则会警告,当然也可以不修改
policy/v1beta1 改成policy/v1 # 因为高版本的k8s逐步的启用这个api了‘kubectl apply -f calico.yaml

五、检查

[root@master ~]# kubectl get nodes
NAME     STATUS   ROLES                  AGE     VERSION
master   Ready    control-plane,master   3h49m   v1.23.0
node1    Ready    <none>                 85m     v1.23.0

六、安装kubernetes-dashboard

https://blog.csdn.net/Stephen_Daa/article/details/129737078

命令参考:

# 先获得dashboard的secret对象的名字
kubectl get secret -n kube-system|grep admin|awk '{print $1}'# 获取token
kubectl describe secret dashboard-admin-token-9lwnc -n kube-system|awk '/^token/ {print $2}'

参考:
https://blog.csdn.net/m0_73950916/article/details/143834840
https://blog.csdn.net/Lentr0py/article/details/141127252
https://stark.blog.csdn.net/article/details/128444657
https://blog.csdn.net/m0_59029800/article/details/134267672

http://www.yayakq.cn/news/964282/

相关文章:

  • 南京建设信息网站网站制作实验报告
  • 深圳建站科技有限公司烟台元和网络科技有限公司
  • 开源门户网站cms网站平台都有哪些
  • 谷歌搜索关键字网站百度seo正规优化
  • 响应式网站怎么做品牌推广的渠道有哪些
  • 站长工具箱网站建设 问卷调查
  • 网站未备案怎么访问软件公司门户网站模板
  • 阳谷网站开发创建微信公众号平台
  • 手机网站客户端制作网站开发项目的方案书
  • 房产网站栏目建设制作视频剪辑
  • dedecms网站二次开发0元首充的手游平台
  • 人才招聘网站模板wordpress 模板 html5
  • 建设项目公示对网站有什么要求wordpress自定义文章排列顺序
  • 网站开发是前端还是展厅设计与施工
  • 在线解压网站教你如何创建自己的网站
  • wap网站报价新增网站和新增接入
  • 第二课强登陆网站新型智库建设的意见品牌商城网站项目
  • 城乡建设管理局网站有哪些做淘宝素材的网站
  • 长安建网站公司网站建设文字设计
  • 德阳市做网站网站建设口号
  • 免费行情网站大全珠海网站建设
  • 扬州专业外贸网站建设推广世界十大电商平台
  • 酒店网站策划e龙岩官网下载电脑版
  • 如何做简洁网站三站合一的网站怎么做教程
  • 网站要钱怎么网站商城运营模式
  • 便宜的广州网站建设服务重庆住建网站
  • 建设网站花都拱墅抖音seo搜索排名推广
  • 怎么建立企业网站平台山东建设厅网站是什么
  • 网站建设平台简介常州钟楼区邹区建设局网站
  • 企业免费网站推广公司湖南北山建设集团网站