Ubuntu 使用Kubeadm 离线安装k8s

这篇具有很好参考价值的文章主要介绍了Ubuntu 使用Kubeadm 离线安装k8s。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

K8S离线部署的方案

离线包,自己可以跟着下面步骤自己下载。

https://download.csdn.net/download/u010952056/86748944

万字长文详解 PaaS toB 场景下 K8s 离线部署方案

Item

Language

离线部署支持情况

kops

Golang

不支持

kubespray

Ansible

支持,需自行构建安装包

kubeasz

Ansible

支持,需自行构建安装包

sealos

Golang

支持,需付费充值会员

RKE

Golang

不支持,需自行安装 docker

sealer

Golang

支持,源自 sealos

kubekey

Golang

部分支持,仅镜像可离线

机器最小配置 3G ,2核,过低安装不成功,磁盘空间>130G,练手在虚拟机

机器能联网  就装个  

apt-get install -y vim               //vim

apt-get install -y net-tools         //ifconfig

apt-get install -y openssh-server    //ssh 

自己机器的ip规划  仅参考             

192.168.1.xx1  master01

192.168.1.xx2  node01

系统ubuntu22.04    k8s v1.20.10   docker 19.03

1、环境初始化

这些设置每个机器都要设置

1.1、关闭swap

swapoff -a

sed -ri 's/.*swap.*/#&/' /etc/fstab

rm -f /swap.img

swapoff -a && sed -i '/swap/d' /etc/fstab

编辑下面的文件swap.img 这一行给注释掉,持久生效

vim /etc/fstab

# /swap.img //注释掉这行 如果有

1.2、关闭防火墙

systemctl disable ufw && systemctl stop ufw

# 关闭selinux # 永久
sed -i 's/enforcing/disabled/' /etc/selinux/config

1.3、开启ip转发

cat > /etc/sysctl.d/k8s.conf << EOF

net.ipv4.ip_forward=1

EOF

# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
EOF

sysctl --system // 生效

1.4、时间同步

这个是联网同步时间

yum install ntpdate -y
ntpdate time.windows.com

没网络的 使用date设置时间(需要集群的机器时间一致,)

date -s 'yyyy-mmm-ddd hh:mm:ss'

做完时间同步后,进行时间设置

证书问题,先将时间设置到95年之后,安装完集群后,再将时间改回来。

Date -s 'yyyy-mmm-dd'     //只改日起就行

设置时区

timedatectl set-timezone Asia/Shanghai

根据提示顺次输入Asia--> Chongqing的编号

修改时间为24小时

vim /etc/default/locale

增加一行

LC_TIME=en_DK.UTF-8

修改后,如果想使得系统日志的时间戳也立即生效

systemctl restart rsyslog

1.5、设置ssh root账号登陆

passwd root

设置root的密码

vim /etc/ssh/sshd_config

PermitRootLogin yes # 添加

sudo systemctl restart sshd.service

1.6、设置主机名修改hosts

//根据自己的master节点和node节点有几个决定

hostnamectl set-hostname master01

hostnamectl set-hostname master0n

hostnamectl set-hostname node01

hostnamectl set-hostname node01n

cat >> /etc/hosts << EOF

节点机器的IP 机器的名称 // 主机名和ip根据实际情况修改

EOF

举例:#结合自己的ip

cat >> /etc/hosts << EOF

172.16.106.38 master01

172.16.106.39 node01

172.16.106.50 node02

172.16.106.51 master02

EOF

上述设置操作完后, reboot 重启机器

a. 检查防火墙是否关闭 systemctl status ufw

b. 检查机器名称是否改变 hostnamectl

c. 查看hosts cat /etc/hosts

d. 检查时间 date

e. 查看ip ip addr

f. ssh root账号登陆 ssh@ip 回车 输入密码

找个有网络的机器下载资料   root账号下操作(为了方便)

2、docker 环境安装

这个需要网络下载资料,下载完后离线同样安装,离线省略下载步骤, 每个机器都安装

2.1、下载docker安装包

版本:19.03

安装包下载地址:

Index of linux/ubuntu/dists/bionic/pool/stable/amd64/

使用wget下载

wget -P /home/deploy/deb/docker/ https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce_19.03.13~3-0~ubuntu-bionic_amd64.deb

wget -P /home/deploy/deb/docker/ https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/containerd.io_1.3.7-1_amd64.deb

wget -P /home/deploy/deb/docker/ https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/docker-ce-cli_19.03.13~3-0~ubuntu-bionic_amd64.deb

下载后的文件,在/home/deploy/deb/docker

containerd.io_1.3.7-1_amd64.deb

docker-ce_19.03.13~3-0~ubuntu-bionic_amd64.deb

docker-ce-cli_19.03.13~3-0~ubuntu-bionic_amd64.deb

2.2、安装docker

cd /home/deploy/deb/docker 

dpkg -i ./*.deb

安装后默认cgroups驱动使用cgroupfs ,需要调整为systemd,编辑docker配置文件

vi /etc/docker/daemon.json

添加如下内容:

{

"exec-opts": ["native.cgroupdriver=systemd"]

}

重启docker,执行:

systemctl daemon-reload && sudo systemctl restart docker

2.3、下载k8s

机器没有安装curl命令就执行下面的命令

apt-get update //可以不执行

apt-get install curl -y

安装GPG证书

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

添加apt源

cat > /etc/apt/sources.list.d/kubernetes.list << ERIC

deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

ERIC

apt-get update

查看可安装版本

apt-cache madison kubeadm

一大堆版本 自己选择(我选择的1.20.10-00)

安装指定版本

VERSION=1.20.10-00

mkdir -p /home/deploy/deb/k8s/partial

apt-get autoclean

上面两条命令解决2: No such file or dire这个错误

将包下载到本地

apt-get install -y --download-only -o dir::cache::archives=/home/deploy/deb/k8s kubelet=$VERSION kubeadm=$VERSION kubectl=$VERSION

网速决定快慢。。。。。。

下载后在/home/deploy/deb/k8s这个路径下,这些文件用有

conntrack_1%3a1.4.5-2_amd64.deb

cri-tools_1.25.0-00_amd64.deb

ebtables_2.0.11-3build1_amd64.deb

kubeadm_1.20.10-00_amd64.deb

kubectl_1.20.10-00_amd64.deb

kubelet_1.20.10-00_amd64.deb

kubernetes-cni_1.1.1-00_amd64.deb

socat_1.7.3.3-2_amd64.deb

2.4、安装 k8s

cd /home/deploy/deb/k8s

dpkg -i ./*.deb

设置开机启动

systemctl enable kubelet && sudo systemctl start kubelet

2.5、查看k8s初始化需要的镜像

将自己电脑断网 执行下面命令,否则显示最新版的

kubeadm config images list --kubernetes-version=v1.20.10

打印结果如下 需要7个镜像

k8s.gcr.io/kube-apiserver:v1.20.10

k8s.gcr.io/kube-controller-manager:v1.20.10

k8s.gcr.io/kube-scheduler:v1.20.10

k8s.gcr.io/kube-proxy:v1.20.10

k8s.gcr.io/pause:3.2

k8s.gcr.io/etcd:3.4.13-0

k8s.gcr.io/coredns:1.7.0

开启自己的电脑网络

2.6、使用国内的镜像加速器下载这些镜像

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.10

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.10

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.10

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.10

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0

将pull下来的镜像 docker tag

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.10              k8s.gcr.io/kube-proxy:v1.20.10             

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.10 k8s.gcr.io/kube-controller-manager:v1.20.10

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.10          k8s.gcr.io/kube-apiserver:v1.20.10         

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.10          k8s.gcr.io/kube-scheduler:v1.20.10         

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0                    k8s.gcr.io/etcd:3.4.13-0                   

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0                    k8s.gcr.io/coredns:1.7.0                   

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2

查看tag后的7个镜像

docker images | grep k8s.

k8s.gcr.io/kube-proxy v1.20.10

k8s.gcr.io/kube-apiserver v1.20.10

k8s.gcr.io/kube-controller-manager v1.20.10

k8s.gcr.io/kube-scheduler v1.20.10

k8s.gcr.io/etcd 3.4.13-0

k8s.gcr.io/coredns 1.7.0

k8s.gcr.io/pause 3.2

网络插件flannel需要一个镜像 顺便下载下来,

为啥没用Calico,太难装了,自己可以试试

https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart

docker pull quay.io/coreos/flannel:v0.14.0

一共8个镜像

k8s.gcr.io/kube-proxy:v1.20.10

k8s.gcr.io/kube-apiserver:v1.20.10

k8s.gcr.io/kube-controller-manager:v1.20.10

k8s.gcr.io/kube-scheduler:v1.20.10

k8s.gcr.io/etcd:3.4.13-0

k8s.gcr.io/coredns:1.7.0

k8s.gcr.io/pause:3.2

quay.io/coreos/flannel:v0.14.0

镜像保存出来

cd /home/deploy/deb (下面命令是一行)

docker save -o k8simages.tar k8s.gcr.io/kube-proxy:v1.20.10 k8s.gcr.io/kube-apiserver:v1.20.10 k8s.gcr.io/kube-controller-manager:v1.20.10 k8s.gcr.io/kube-scheduler:v1.20.10 k8s.gcr.io/etcd:3.4.13-0 k8s.gcr.io/coredns:1.7.0 k8s.gcr.io/pause:3.2 quay.io/coreos/flannel:v0.14.0

2.7、找一个网络插件的配置文件

自学k8s-安装过程为下载flannel.ym配置文件 - iXiAo9 - 博客园

---
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: psp.flannel.unprivileged
  annotations:
    seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default
    seccomp.security.alpha.kubernetes.io/defaultProfileName: docker/default
    apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default
    apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default
spec:
  privileged: false
  volumes:
  - configMap
  - secret
  - emptyDir
  - hostPath
  allowedHostPaths:
  - pathPrefix: "/etc/cni/net.d"
  - pathPrefix: "/etc/kube-flannel"
  - pathPrefix: "/run/flannel"
  readOnlyRootFilesystem: false
  # Users and groups
  runAsUser:
    rule: RunAsAny
  supplementalGroups:
    rule: RunAsAny
  fsGroup:
    rule: RunAsAny
  # Privilege Escalation
  allowPrivilegeEscalation: false
  defaultAllowPrivilegeEscalation: false
  # Capabilities
  allowedCapabilities: ['NET_ADMIN', 'NET_RAW']
  defaultAddCapabilities: []
  requiredDropCapabilities: []
  # Host namespaces
  hostPID: false
  hostIPC: false
  hostNetwork: true
  hostPorts:
  - min: 0
    max: 65535
  # SELinux
  seLinux:
    # SELinux is unused in CaaSP
    rule: '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:
  - pods
  verbs:
  - get
- apiGroups:
  - ""
  resources:
  - nodes
  verbs:
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - nodes/status
  verbs:
  - patch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: flannel
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: flannel
subjects:
- kind: ServiceAccount
  name: flannel
  namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: flannel
  namespace: kube-system
---
kind: ConfigMap
apiVersion: v1
metadata:
  name: kube-flannel-cfg
  namespace: kube-system
  labels:
    tier: node
    app: 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-ds
  namespace: kube-system
  labels:
    tier: node
    app: flannel
spec:
  selector:
    matchLabels:
      app: flannel
  template:
    metadata:
      labels:
        tier: node
        app: flannel
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/os
                operator: In
                values:
                - linux
      hostNetwork: true
      priorityClassName: system-node-critical
      tolerations:
      - operator: Exists
        effect: NoSchedule
      serviceAccountName: flannel
      initContainers:
      - name: install-cni
        image: quay.io/coreos/flannel:v0.14.0
        command:
        - cp
        args:
        - -f
        - /etc/kube-flannel/cni-conf.json
        - /etc/cni/net.d/10-flannel.conflist
        volumeMounts:
        - name: cni
          mountPath: /etc/cni/net.d
        - name: flannel-cfg
          mountPath: /etc/kube-flannel/
      containers:
      - name: kube-flannel
        image: quay.io/coreos/flannel:v0.14.0
        command:
        - /opt/bin/flanneld
        args:
        - --ip-masq
        - --kube-subnet-mgr
        resources:
          requests:
            cpu: "100m"
            memory: "50Mi"
          limits:
            cpu: "100m"
            memory: "50Mi"
        securityContext:
          privileged: false
          capabilities:
            add: ["NET_ADMIN", "NET_RAW"]
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        volumeMounts:
        - name: run
          mountPath: /run/flannel
        - name: flannel-cfg
          mountPath: /etc/kube-flannel/
      volumes:
      - name: run
        hostPath:
          path: /run/flannel
      - name: cni
        hostPath:
          path: /etc/cni/net.d
      - name: flannel-cfg
        configMap:
          name: kube-flannel-cfg

将网页中的文本复制 保存为kube-flannel.yml 文件

到此文件下载基本完成,全部文件如下

a. docker/

containerd.io_1.3.7-1_amd64.deb

docker-ce_19.03.13~3-0~ubuntu-bionic_amd64.deb

docker-ce-cli_19.03.13~3-0~ubuntu-bionic_amd64.deb

b. k8s/

conntrack_1%3a1.4.5-2_amd64.deb

cri-tools_1.25.0-00_amd64.deb

ebtables_2.0.11-3build1_amd64.deb

kubeadm_1.20.10-00_amd64.deb

kubectl_1.20.10-00_amd64.deb

kubelet_1.20.10-00_amd64.deb

kubernetes-cni_1.1.1-00_amd64.deb

socat_1.7.3.3-2_amd64.deb

c. k8simages.tar

将/home/deploy/deb

deb这个文件夹拷贝到主节点和从节点。

3、离线安装

在自己的集群节点操作,下面三步每个机器都要操作

3.1、离线Docker安装

参照【2.2】

3.2、离线K8s安装

参照【2.4】

3.3、离线加载镜像文件

docker load < k8simages.tar

3.4、主节点初始化

kubeadm init --kubernetes-version=v1.20.10 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap

初始化成功信息 有颜色的需要再次执行

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You 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 172.16.245.133:6443 --token 9c11at.6ebo4g8lfcnqujwr \

    --discovery-token-ca-cert-hash sha256:382e46547d0242164825d6799895f8a263e896f409ab417a03ae1464b3e7f7fa

这个用你自己的 

3.5、主节点安装网络插件 Flannel

kubectl apply -f kube-flannel.yml

只在`master`节点执行即可,插件使用的是DaemonSet的控制器

3.6、查看主节点状态

kubectl get pod -n kube-system

3.7、加入worker节点

需要执行上面的红色的命令

在主节点上执行

kubectl label node 【node_name你自己的从节点机器名】 node-role.kubernetes.io/worker=worker

在主节点上查看节点状态

kubectl get nodes

注意:

kubectl命令需要使用kubernetes-admin来运行,需要admin.conf文件。

如果需要在子结点执行kubectl 命令,就把主节点的

$HOME/.kube/config   这个文件拷贝到子结点

子结点执行

chown $(id -u):$(id -g) $HOME/.kube/config

export KUBECONFIG=/etc/kubernetes/admin.conf

3.8、将时间改回来

查看证书时间

kubeadm alpha certs check-expiration

生成新的证书之前最好备份一下数据:

cp -rp /etc/kubernetes /etc/kubernetes.bak

cp -rp /var/lib/etcd /var/lib/etcd.bak

生成新的证书:

kubeadm alpha certs renew all

然后将之前设置的时间改到现在的互联网时间。(每个机器时间需要一样)

date -s 'yyyy-mmm-dd'     //只改日起就行

改完后再查看一次证书时间

kubeadm alpha certs check-expiration

至此基本安装完成后续使用测试

4、参考

4.1、证书到期问题

Kubernetes kubeadm 证书到期,更新证书_大漠知秋的博客-CSDN博客_kubelet 证书更新

Kubernetes v1.25 编译 kubeadm 修改证书有效期到 100 年 - sysin - 博客园

4.2、控制面板

https://kuboard.cn/install/maintain/certs.html

网络组件下载

自学k8s-安装过程为下载flannel.yml配置文件 - iXiAo9 - 博客园

4.3、安装参考链接

Ubuntu20.04 离线部署 k8s1.20.10 - 知乎

ubuntu20.04安装k8s_Professorboy的博客-CSDN博客

内网ubuntu环境下离线部署K8s - MadLife

https://baijiahao.baidu.com/s?id=1724382781225457375&wfr=spider&for=pc

calico网络组件(可选)

Quickstart for Calico on Kubernetes

ubuntu20.04安装k8s(1.18.4 & 1.22.0)_还在下雨吗的博客-CSDN博客_ubuntu20安装k8s

4.4、这个没成功

sealos安装集群

https://huaweicloud.csdn.net/63311fb4d3efff3090b52d55.html?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Eactivity-1-119522721-blog-124778122.pcrelevantt0_20220926_downloadratepraise_v1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Eactivity-1-119522721-blog-124778122.pcrelevantt0_20220926_downloadratepraise_v1&utm_relevant_index=2文章来源地址https://www.toymoban.com/news/detail-447621.html

到了这里,关于Ubuntu 使用Kubeadm 离线安装k8s的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 麒麟v10使用kubeadm安装k8s1.26

    苦于目前下载不到现成el8的kubelet/kubeadm/kubectl,就算有,以后如果在arm架构上安装,又要寻找新的包,通过摸索,找到了源码构建方法。无论是arm架构还是amd架构,都是可以使用该办法进行安装。 服务器IP 主机名 用途 部署说明 192.168.1.3 kmaster1 主节点1 kubelet/kubeadm/kubectl/cont

    2024年02月02日
    浏览(42)
  • Amazon Linux2使用kubeadm部署安装K8S集群

    在AWS上启动3台Amazon Linux2的服务器,服务器配置为2vcpu 和2GB内存 1. 修改主机名(可选步骤) 2.导入k8s的yum仓库密钥 3. 配置kubernetes源 4. 部署安装kubeadm、kubectl、docker,并且启动docker 5. 在master节点上执行初始化 具体初始化过程如下 [init] Using Kubernetes version: v1.27.1 [preflight] Runni

    2024年02月06日
    浏览(37)
  • k8s证书更新,kubeadm安装的K8S证书过期后无法使用后证书更新方法

    k8s安装一年后证书显示过期。证书未自动续期。 以下操作需到所有master节点操作 一般情况下,k8s创建的集群节点上的/usr/bin/文件夹下会存在kubeadm二进制文件,如果发现master节点上没有kubeadm,可以从官方下载对应的版本并且安装。

    2024年02月14日
    浏览(34)
  • k8s1.27.x 最新版本使用kubeadm 的containerd的方式安装

    一:k8s1.27.x 的概述 太平洋时间 2023 年 4 月 11 日,Kubernetes 1.27 正式发布。此版本距离上版本发布时隔 4 个月,是 2023 年的第一个版本。 新版本中 release 团队跟踪了 60 个 enhancements,比之前版本都要多得多。其中 13 个功能升级为稳定版,29 个已有功能进行优化升级为 Beta,另有

    2024年02月09日
    浏览(34)
  • K8S1.23.6版本详细安装教程以及错误解决方案(包括前置环境,使用部署工具kubeadm来引导集群)

    一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令。 每台机器 2 GB 或更多的 RAM(如果少于这个数字将会影响你应用的运行内存)。 CPU 2 核心及以上。 集群中的所有机器的网络彼此均能相互连接(公网和

    2024年03月14日
    浏览(31)
  • k8s、kubeadm安装

    环境准备 所有节点安装docker  所有节点安装kubeadm,kubelet和kubectl  部署K8S集群      部署 Dashboard  安装Harbor私有仓库(192.168.86.33)

    2024年02月06日
    浏览(31)
  • kubeadm 安装k8s

    目录 安装k8s 环境准备 所有节点,关闭防火墙规则,关闭selinux,关闭swap交换(必须关闭swap分区)  //修改主机名  //所有节点修改hosts文件  //调整内核参数 所有节点安装docker  所有节点安装kubeadm,kubelet和kubectl 定义kubernetes源 开机自启kubelet 部署K8S集群 查看初始化需要的镜

    2024年02月09日
    浏览(36)
  • 使用 Sealos 在离线环境中光速安装 K8s 集群

    作者:尹珉。Sealos 开源社区 Ambassador,云原生爱好者。 在当今快节奏的软件交付环境中,容器化交付已经成为许多企业选择的首选技术手段。在可以访问公网的环境下,容器化交付不仅能够提高软件开发和交付的效率,还能够帮助企业实现快速迭代和持续交付。 然而,在离

    2024年02月10日
    浏览(26)
  • Kubeadm安装K8s集群

    一、硬件环境 准备3台Linux服务器,此处用Vmware虚拟机。 主机名 CPU 内存 k8smaster 2核 4G k8snode1 2核 4G k8snode2 2核 4G 二、系统前置准备 配置三台主机的hosts文件 设置主机名 关闭selinux、禁用swap分区 ipv4流量转发 关闭防火墙 同步三台服务器的时间 三、环境安装 Docker 安装 Docker卸载

    2024年02月13日
    浏览(25)
  • kubeadm升级k8s版本1.28.2升级至1.28.4(Ubuntu操作系统下)

    1.官网升级说明 升级 kubeadm 集群 | Kubernetes 2. 版本说明 详细参考:版本偏差策略 | Kubernetes Kubernetes 版本以  x.y.z  表示,其中  x  是主要版本,  y  是次要版本, z  是补丁版本。 版本升级控制:         1. 最新版和最老版的 kube-apiserver 实例版本偏差最多为一个次要版本

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包