首页 > 其他分享 >k8s1.26.3部署

k8s1.26.3部署

时间:2023-06-20 11:25:06浏览次数:40  
标签:kubernetes k8s1.26 部署 containerd -- dashboard kubeadm k8s

1.设置hostname

hostnamectl set-hostname k8s-master // master节点
hostnamectl set-hostname k8s-node1 // node1节点
hostnamectl set-hostname k8s-node2 // node2节点

2.设置hosts

后续可以使用别名直接访问别的节点

cat >> /etc/hosts << EOF
192.168.100.40 k8s-master
192.168.100.41 k8s-node1
192.168.100.42 k8s-node2
EOF

3.禁用swap

以前的版本swap可能会影响性能,当前版本未知

sudo swapoff -a
sudo sed -i '/swap/ s/^\(.*\)$/#\1/g' /etc/fstab

4.修改内核参数

-- 启用内核模块
sudo tee /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
-- 启用内核模块
sudo modprobe overlay
sudo modprobe br_netfilter

4.sysctl配置

sudo tee /etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

5.重新加载 sysctl

如果提示找不到sysctl 执行
lsmod |grep conntrack
modprobe ip_conntrack
在执行
sysctl -p

6.安装基础软件

sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

7.添加docker源

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

8.安装containerd

sudo apt update 
sudo apt install -y containerd.io

9.配置 containerd 用systemdcgroup启动.

-- 生成默认的containerd配置
containerd config default > /etc/containerd/config.toml
-- 修改containerd的配置 Cgroup配置为Systemd
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
修改
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"

10.重启containerd使之生效

sudo systemctl restart containerd
sudo systemctl enable containerd

11.设置crictl

-- 生成crictl配置 主要是启用containerd所需要的修改
cat > /etc/crictl.yaml << EOF
runtime-endpoint: unix:///var/run/containerd/containerd.sock
image-endpoint: unix:///var/run/containerd/containerd.sock
timeout: 10
debug: false
EOF

12.添加Kubernetes 阿里巴巴源

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
-- 这个源使用的系统代号是xenial,但不影响使用
sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"

13.安装k8s命令行工具

-- 查看当前最新版本 决定安装哪个版本
apt-cache madison kubeadm|head
-- 当前最新版本是1.26.3
apt install -y kubelet=1.26.3-00 kubeadm=1.26.3-00 kubectl=1.26.3-00

14.查看kubeadm启动k8s所需镜像的信息

-- 注意修改版本号
kubeadm config images list \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.26.3

15.使用阿里镜像站下载所需的镜像

-- 注意修改版本号
kubeadm config images pull \
--kubernetes-version=v1.26.3 \
--image-repository registry.aliyuncs.com/google_containers

16.查看已下载镜像

crictl images

17.生成kubeadm默认配置 (master节点执行)

kubeadm config print init-defaults > kubeadm.yaml

18.参考配置文件(master节点执行)

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
- system:bootstrappers:kubeadm:default-node-token
token: abcdef.0123456789abcdef
ttl: 24h0m0s
usages:
- signing
- authentication
kind: InitConfiguration
localAPIEndpoint:
##修改masterip
advertiseAddress: 192.168.100.40
bindPort: 6443
nodeRegistration:
criSocket: unix:///var/run/containerd/containerd.sock
imagePullPolicy: IfNotPresent
##修改主机名
name: k8s-master
taints: null
---
apiServer:
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
local:
  dataDir: /var/lib/etcd
### 国内镜像
imageRepository: registry.aliyuncs.com/google_containers  
kind: ClusterConfiguration
kubernetesVersion: 1.26.3
networking:
dnsDomain: cluster.local
serviceSubnet: 10.96.0.0/12
## 添加ip段
podSubnet: 10.244.0.0/16
scheduler: {}

19.初始化master(master节点执行)

kubeadm init --config=kubeadm.yaml --upload-certs | tee kubeadm-init.log

20.重置matser(master节点执行)

如果上一步因为配置出错 可以重置初始化 防止重复init因为资源重复报错

Kubeadm reset

21.本地化配置(master节点执行)

-- 生成一个用户配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

22.Node节点配置

-- 查看containerd的images相关配置
scp /etc/containerd/config.toml [email protected]:/etc/containerd/config.toml
scp /etc/containerd/config.toml [email protected]:/etc/containerd/config.toml
systemctl daemon-reload && systemctl restart containerd

23.Node节点初始化(node节点执行)

-- master节点执行  生成一个在node节点执行用于初始化node节点的k8s服务的命令
kubeadm token create --print-join-command
-- 将生成的命令在node1 和node2 执行 这个命令是有时效的 过期了在master重新生成
kubeadm join 192.168.100.40:6443 --token 53sidx.h2k9bfmfribezd50 --discovery-token-ca-cert-hash sha256:c839ac722c960a8da2796a94a3c97920c5a7b0433cf03dc672af863c2c6176f7

24.安装CNI (master节点执行)

-- 当前最新版本为3.25.0
curl https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml -o calico.yaml
kubectl apply -f calico.yaml

安装 dashboard

下载:

curl https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml  -o dashboard.yaml
修改token 时长
  args:
      - --auto-generate-certificates
      - --namespace=kubernetes-dashboard
      - -token-ttl=43200
修改访问方式        
kind: Service
apiVersion: v1
metadata:
labels:
  k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
#spec:
# ports:
#   - port: 443
#     targetPort: 8443
spec:
type: NodePort # 改成NodePort
ports:
  - port: 443
    targetPort: 8443
    nodePort: 32000 # 指定nodePort端口
selector:
  k8s-app: kubernetes-dashboard
保存后安装    
kubectl apply -f dashboard.yaml    

创建管理员sa&&dashboard所需token

kubectl create serviceaccount kube-dashboard-admin-sa -n kube-system kubectl create clusterrolebinding kube-dashboard-admin-sa \ --clusterrole=cluster-admin --serviceaccount=kube-system:kube-dashboard-admin-sa
创建集群管理员登录dashboard所需token:
kubectl create token kube-dashboard-admin-sa -n kube-system --duration=87600h

安装监控

curl https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -o metrics-server.yaml
vim metrics-server.yaml
- args:
      - --cert-dir=/tmp
      - --secure-port=4443
      - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      - --kubelet-use-node-status-port
      - --kubelet-insecure-tls 添加这个
image换成国内阿里 registry.aliyuncs.com/google_containers/metrics-server:v0.6.3
kubectl apply -f metrics-server.yaml
 

 

标签:kubernetes,k8s1.26,部署,containerd,--,dashboard,kubeadm,k8s
From: https://www.cnblogs.com/wangbj-93/p/17493099.html

相关文章

  • 也说一说IDEA热部署Web项目最终解决方案,确实大大提高工作效率
    热部署就是正在运行状态的应用,修改了它的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个:1、在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;2、生产上运行的程序,可以在不停止运行的情况......
  • ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验
    本文期望通过本地化部署一个基于LLM模型的应用,能让大家对构建一个完整的应用有一个基本认知。包括基本的软硬环境依赖、底层的LLM模型、中间的基础框架及最上层的展示组件,最终能达到在本地零编码体验的目的。一、ChatGLM-6B模型介绍https://github.com/THUDM/ChatGLM-6B[Star......
  • 安装部署 Kubernetes 仪表板(Dashboard)
    简介Kubernetes仪表板(Dashboard)是基于网页的Kubernetes用户界面。你可以使用仪表板:展示了Kubernetes集群中的资源状态信息和所有报错信息。把容器应用部署到Kubernetes集群中。对容器应用排错。管理集群资源。获取运行在集群中的应用的概览信息。创建或者修改Kub......
  • 将 Vue 项目部署到 Nginx 上
    将Vue项目部署到Nginx上安装Nginx下载地址:nginx:download(1)因为我在Windows系统下安装Nginx,所以选择nginx/Windows-1.22.1。下载的资源是一个压缩包,解压后即可使用。(2)打开命令行提示符(cmd),切换到Nginx的根目录,启动Nginx服务器。cd/DD:/software/nginx-1.22.1......
  • Apache DolphinScheduler(海豚调度系统)介绍与环境部署
    目录一、概述二、ApacheDolphinScheduler与Azkaban对比三、DolphinScheduler架构设计四、环境部署1)环境信息2)安装JDK3)安装MySQL数据库1、部署docker2、部署docker-compose3、安装git3、开始部署4)安装注册中心Zookeeper5)下载dolphinscheduler安装包6)修改配置1、修改......
  • 银行麒麟系统离线部署clickhouse三节点集群
    在国产化环境下部署clickhouse集群,个人建议先查看cpu的内核信息,可能有的人会说,去银河麒麟的官网查看适配的版本信息,实践证明,官网的未必就是真的正确好比银河麒麟的官网是这样介绍的我在安装的过程中,就会报不支持的二进制文件的错误,所以这里不建议安装官网推荐的版本,毕竟是在国......
  • 记录 Windows 下 RabbitMQ 的部署
    1、软件下载安装前需要安装Erlang语言环境:https://www.erlang.org/downloadsRabbitMQ下载:https://www.rabbitmq.com/download.html2、运行安装包,一路下一步3、打开开始菜单,找到RabbitMQCommandPrompt(sbindir)运行......
  • docker部署MySQL8时出现的问题
    1.docker启动MySQL时参数设置的密码进入容器后无法登录1.1启动命令dockerrun--namemysql-d-p3306:3306--restartunless-stopped-v/mydata/mysql/log:/var/log/mysql-v/mydata/mysql/data:/var/lib/mysql-v/mydata/mysql/conf:/etc/mysql-v/var/lib/mysql-fi......
  • 记录 Windows 下绿色版 PostgreSQL 部署使用
    使用官方的安装包,可能会在最后的步骤遇到各种有关服务运行的问题,绿色版就非常简单了,记录一下绿色版的下载部署。1、下载地址:https://www.enterprisedb.com/download-postgresql-binaries2、将文件解压到想放置的目录3、进入pgsql\bin目录,打开命令提示符执行以下命令::初......
  • nginx前端页面通过docker部署过程中的相关问题
    1、nginx.conf的ip地址对应服务器的ip 2、数据卷的路径需要与配置文件对应nginx.conf创建数据卷与容器的语句dockerrun--name=nginx01-vhtml:/usr/share/nginx/html-p8080:80-dnginx3、nginx.conf配置文件的存放位置dockercpnginx.confngin......