目录

部署Ubuntu22和k8s环境

环境准备

虚拟机安装ubantu

配置hosts

配置静态ip地址

配置国内阿里云的源

Master节点安装sealos软件

启用root和允许ssh远程连接

禁用firewalld和iptables

关闭交换分区

配置ipvs功能

配置时间同步

使用sealos部署k8s集群

增加K8s的master节点

增加K8s的node 节点

分配worker role

查看集群

删除 K8s 节点的node 节点

删除 master 节点

清理 K8s 集群

安装nerdctl

基本用法:

镜像换源:

安装Dashboard

创建账号

访问dashboard


部署Ubuntu22和k8s环境

环境准备

虚拟机安装ubantu

这里我们需要提供 5 个节点

创建全新的虚拟机:

这里使用的是Ubantu22.04

进入ubantu安装界面,基本上使用的默认设置

注意要打开SSH

等待安装

出现以下界面说明安装完成,按下Enter,开始部署

查看版本,Ubuntu 22.04系统,内核版本:5.15.0-118-generic,

配置hosts

在每个节点上添加 hosts 信息:

user1@k8s-master-1:~$ vim /etc/hosts

127.0.0.1 localhost
127.0.1.1 k8s-master-1

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.254.144 k8s-master-1
192.168.254.146 k8s-node-1
192.168.254.147 k8s-node-2

节点的 hostname 必须使用标准的 DNS 命名,另外千万别用默认 localhost 的 hostname,会导致各种错误出现的。在 Kubernetes 项目里,机器的名字以及一切存储在 Etcd 中的 API 对象,都必须使用标准的 DNS 命名(RFC 1123)。可以使用命令 hostnamectl set-hostname xxx 来修改 hostname。

以下是一些基本的安装要求:

● 每个集群节点应该有不同的主机名。主机名不要带下划线。

● 所有节点的时间需要同步。

需要在 K8s 集群的第一个 master 节点上运行 sealos run 命令,目前集群外的节点不支持集群安装。

● 建议使用干净的操作系统来创建集群。不要自己装 Docker!

● 支持大多数 Linux 发行版,例如:Ubuntu、CentOS、Rocky linux。

● 支持 Docker Hub 中的所有 Kubernetes 版本。

● 支持使用 Containerd 作为容器运行时。

● 在公有云上安装请使用私有 IP。

配置静态ip地址

首先我们需要在 master 节点下载 Sealos 命令行工具,我们可以通过运行命令来获取版本列表。为了防止所有的节点服务器ip地址出现变化,导致日后k8s集群重启出现异常,需要先给master和所有node节点配置好静态ip地址。

Ubuntu 22 server里配置静态ip地址

root@master-1:~# cat  /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'

network:

  ethernets:

    ens33:

      addresses: [192.168.254.144/24] #本台虚拟机的ip地址

      routes:

        - to: 0.0.0.0/0

          via: 192.168.254.2

          metric: 100

      dhcp4: false

      nameservers:

        addresses: [114.114.114.114, 192.168.1.1]

  version: 2

  renderer: networkd

root@master-1:~# netplan apply

其他的节点服务器都需要进行配置静态ip地址,具体ip地址可以提前规划好,这里不一一演示。

配置国内阿里云的源

第一步:备份原配置文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

第二步:编辑sources.list文件

打开/etc/apt/sources.list文件,并将原有的镜像源替换为阿里云的镜像地址:

sudo  vim  /etc/apt/sources.list

# 阿里云Debian稳定版源

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse



# 更新和安全更新

deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse



# 额外的软件包

deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse



# 安全更新

deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

第三步:更新索引并验证

完成替换后,保存文件并退出编辑器,然后执行以下命令以更新软件包列表并确保新的源能够正常工作:

sudo apt update

如果没有任何错误提示且更新过程顺利完成,则说明已经成功切换到了阿里云的软件源。后续安装或升级软件时会从阿里云的服务器下载所需的软件包。

安装Ubuntu系统的时候设置了一个普通用户user1密码设置为123456,

所有的节点都配置相同的用户和密码,用户名user1  设置123456作为密码。

后面都要启用root用户,并且设置密码为123456同时允许root用户ssh远程连接。

Sealos run命令在执行的过程中会使用root用户去执行。

Master节点安装sealos软件

使用包管理工具安装:

root@k8s-master-1:~# echo "deb [trusted=yes] https://apt.fury.io/labring/ /" | sudo tee /etc/apt/sources.list.d/labring.list

root@k8s-master-1:~#  sudo apt update

root@k8s-master-1:~#  sudo apt install sealos

root@k8s-master-1:~#  sealos version
SealosVersion:
  buildDate: "2024-07-11T10:14:51Z"
  compiler: gc
  gitCommit: 02327d53e
  gitVersion: 5.0.0
  goVersion: go1.20.14
  platform: linux/amd64

要使用 Sealos 安装 Kubernetes 集群非常简单,只需要在 master 节点上运行 sealos run 命令,然后指定一些参数即可。比如我们这里安装一个 v1.27.10 版本的集群(v1.28.x 版本暂时有问题),并使用 Cilium 网络插件,然后指定 master 和 node 节点的 IP 地址,最后指定 ssh 的密码即可。

启用root和允许ssh远程连接

需要在Ubuntu系统里运行root用户登录,所有的节点服务器都需要激活root用户,并且允许root用户ssh远程连接。

操作步骤:

修改ssh服务的配置运行root用户登录

sudo vim /etc/ssh/sshd_config

PermitRootLogin yes

刷新ssh服务

sudo service ssh restart

激活root用户,并且设置123456为root用户密码

sudo passwd root

New password:

Retype new password:

passwd: password updated successfully

禁用firewalld和iptables

安装K8S前关闭iptables和firewalld主要是为了避免防火墙规则与K8S网络组件间的通信冲突,确保网络通信无阻碍,并简化配置和调试过程。

ufw disable

关闭交换分区

Swap交换分区通常位于磁盘上,其访问速度远低于物理内存。当系统内存不足时,如果启用swap,容器运行所需的内存数据可能会被交换到swap分区,导致磁盘I/O负载增加,从而显著降低容器的运行性能。

频繁的磁盘I/O操作不仅会降低性能,还可能导致系统不稳定,特别是在高负载情况下,关闭swap可以避免因swap使用而引入的潜在稳定性问题。

Kubernetes官方文档和社区中的最佳实践通常建议关闭swap,以确保集群的稳定性和性能。

# 临时关闭
swapoff -a
# 永久关闭
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

配置ipvs功能

Kubernetes官方推荐使用IPVS作为负载均衡的实现方式之一。

IPVS在性能、灵活性和可扩展性方面都有明显优势,能够满足大规模集群和高并发场景下的需求。

# 安装ipset和ipvsadm
apt install -y ipvsadm ipset

cat > /etc/modules-load.d/ipvs.conf << EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF

# 重启
reboot

# 查看对应的模块是否加载成功
lsmod | grep -e ip_vs -e nf_conntrack

配置时间同步

# 安装服务
apt install -y chrony

# 启动chronyd服务
systemctl start chrony && systemctl enable chrony

使用sealos部署k8s集群

下面命令可以自动帮助安装k8s集群,123456是所有节点的root用户的密码,建议设置成相同的密码,下面的命令在master节点上运行。

sudo sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.10 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 \
     --masters 192.168.254.144 \
     --nodes 192.168.254.146,192.168.254.147 -p '123456'

Yes [y/yes], No [n/no]: y

部署一个包含 Kubernetes 1.27.10、Helm 3.9.4 和 Cilium 1.13.4 的集群,同时指定了一个 master 节点和两个 node 节点的 IP 地址,并设置了相同的密码 123456 用于这些节点。

这里需要等待一段时间等待部署。

查看部署k8s后的节点

root@k8s-master-1:~# kubectl get nodes
NAME           STATUS   ROLES           AGE     VERSION
k8s-master-1   Ready    control-plane   2m27s   v1.27.10
k8s-node-1     Ready    <none>          78s     v1.27.10
k8s-node-2     Ready    <none>          78s     v1.27.10

查看kube-system命名空间的pod

root@k8s-master-1:~# kubectl get pod -n kube-system
NAME                                   READY   STATUS    RESTARTS        AGE
cilium-b8dcz                           1/1     Running   0               50m
cilium-blp4p                           1/1     Running   0               50m
cilium-operator-86666d88cb-bhptr       1/1     Running   2 (4m43s ago)   50m
cilium-xjqkg                           1/1     Running   0               50m
coredns-5d78c9869d-kz68z               1/1     Running   0               51m
coredns-5d78c9869d-r7vxx               1/1     Running   0               51m
etcd-k8s-master-1                      1/1     Running   0               52m
kube-apiserver-k8s-master-1            1/1     Running   1 (4m18s ago)   52m
kube-controller-manager-k8s-master-1   1/1     Running   1 (51m ago)     52m
kube-proxy-9xf8l                       1/1     Running   0               51m
kube-proxy-j7hv2                       1/1     Running   0               51m
kube-proxy-rp86k                       1/1     Running   0               51m
kube-scheduler-k8s-master-1            1/1     Running   1 (51m ago)     52m
kube-sealos-lvscare-k8s-node-1         1/1     Running   0               2m55s
kube-sealos-lvscare-k8s-node-2         1/1     Running   0               2m55s

增加K8s的master节点

新加的节点同样进行环境准备的相关操作。

增加 K8s 节点和增加 node 节点,需要在新建的虚拟机里添加所有节点服务器的名字和对应的ip地址。

新增的k8s-master-2是Ubuntu22.04系统。

cat /etc/hosts

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.254.144 k8s-master-1

192.168.254.145 k8s-master-2
192.168.254.146 k8s-node-1
192.168.254.147 k8s-node-2

在k8s-master-2上启用root用户,允许root用户远程访问ssh服务,root用户密码设置为123456

sudo vim /etc/ssh/sshd_config

PermitRootLogin yes

sudo service ssh restart

sudo passwd root

New password:

Retype new password:

passwd: password updated successfully

在第1个master上进行操作,因为它安装了sealos软件。

切换到root用户进行。

k8s-master-2上的root用户密码需要和前面的master节点密码一样。

前面创建k8s集群的时候使用过密码123456作为所有节点的密码。

user1@k8s-master-1:~$ su - root

Password:

root@k8s-master-1:~# sealos add --masters 192.168.254.145

Yes [y/yes], No [n/no]: y

出现如图所示画面说明添加成功

增加K8s的node 节点

新加的节点同样进行环境准备的相关操作。

k8s-node-3节点的系统是Ubuntu22.04,在k8s-node-3上启用root用户,允许root用户远程访问ssh服务,将123456设置为root用户密码。

user1@k8s-node-3:~$ cat /etc/issue

Ubuntu 22.04.4 LTS \n \l

user1@k8s-node-3:~$ uname  -r

5.15.0-97-generic

修改ssh服务的配置文件,增加运行root用户登录

user1@k8s-node-3:~$ sudo vim /etc/ssh/sshd_config

PermitRootLogin yes

重启ssh服务

user1@k8s-node-3:~$ sudo service ssh restart

激活root用户,并且设置123456为root用户密码。

user1@k8s-node-3:~$ sudo passwd root

New password:

Retype new password:

passwd: password updated successfully

更新源,该版本默认使用的清华源

user1@k8s-node-3:~$ sudo apt update

Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]

Hit:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy InRelease

Hit:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates InRelease

Hit:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-backports InRelease

Fetched 110 kB in 2s (58.4 kB/s)  

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

2 packages can be upgraded. Run 'apt list --upgradable' to see them.

在master节点上执行下面的命令,192.168.254.148是k8s-node-3的ip地址,它的root用户的密码是123456并且运行ssh远程登录

root@k8s-master-1:~# sealos add --nodes 192.168.254.148

分配worker role

# 在master上执行
kubectl label node k8s-node-1 node-role.kubernetes.io/worker=worker
kubectl label node k8s-node-2 node-role.kubernetes.io/worker=worker

kubectl label node k8s-node-3 node-role.kubernetes.io/worker=worker

......

查看集群

查看节点

root@k8s-master-1:~# kubectl get nodes

查看命名空间

root@k8s-master-1:~# kubectl get ns

NAME              STATUS   AGE
default           Active   6m42s
kube-node-lease   Active   6m42s
kube-public       Active   6m42s
kube-system       Active   6m42s

查看所有的pod

root@k8s-master-1:~# kubectl get pod -A

NAMESPACE     NAME                                   READY   STATUS    RESTARTS        AGE
kube-system   cilium-6v9mh                           1/1     Running   1 (2m6s ago)    5m30s
kube-system   cilium-g6gms                           1/1     Running   1 (2m10s ago)   5m30s
kube-system   cilium-lfv47                           1/1     Running   1 (2m11s ago)   5m30s
kube-system   cilium-operator-86666d88cb-mvjln       1/1     Running   1 (2m6s ago)    5m30s
kube-system   cilium-vcmqj                           1/1     Running   1 (2m8s ago)    5m30s
kube-system   cilium-w4dbl                           1/1     Running   1 (2m6s ago)    5m30s
kube-system   coredns-5d78c9869d-5nfqb               1/1     Running   1 (2m11s ago)   6m40s
kube-system   coredns-5d78c9869d-gddw7               1/1     Running   1 (2m11s ago)   6m40s
kube-system   etcd-k8s-master-1                      1/1     Running   4 (2m11s ago)   6m53s
kube-system   etcd-k8s-master-2                      1/1     Running   1 (2m8s ago)    6m27s
kube-system   kube-apiserver-k8s-master-1            1/1     Running   5 (2m11s ago)   6m51s
kube-system   kube-apiserver-k8s-master-2            1/1     Running   5 (2m8s ago)    6m12s
kube-system   kube-controller-manager-k8s-master-1   1/1     Running   7 (2m11s ago)   6m52s
kube-system   kube-controller-manager-k8s-master-2   1/1     Running   5 (2m8s ago)    6m26s
kube-system   kube-proxy-9v988                       1/1     Running   1 (2m11s ago)   6m39s
kube-system   kube-proxy-fn8r6                       1/1     Running   1 (2m8s ago)    6m27s
kube-system   kube-proxy-jvgrp                       1/1     Running   1 (2m6s ago)    5m40s
kube-system   kube-proxy-m5lhc                       1/1     Running   1 (2m10s ago)   5m36s
kube-system   kube-proxy-tl9zk                       1/1     Running   1 (2m6s ago)    5m38s
kube-system   kube-scheduler-k8s-master-1            1/1     Running   7 (2m11s ago)   6m52s
kube-system   kube-scheduler-k8s-master-2            1/1     Running   5 (2m8s ago)    6m12s
kube-system   kube-sealos-lvscare-k8s-node-1         1/1     Running   3 (54s ago)     5m23s
kube-system   kube-sealos-lvscare-k8s-node-2         1/1     Running   2 (2m6s ago)    5m12s
kube-system   kube-sealos-lvscare-k8s-node-3         1/1     Running   2 (2m6s ago)    5m27s
 

删除 K8s 节点的node 节点

root@k8s-master-1:~#sealos delete --nodes 192.168.254.146,192.168.254.147

删除 master 节点

root@k8s-master-1:~#sealos delete --masters 192.168.254.145

清理 K8s 集群

root@k8s-master-1:~#sealos reset

注意:sealos reset 命令的主要功能是重置或清理 Sealos 部署的 Kubernetes 集群。这个命令会执行一系列操作,以尽可能地将集群恢复到初始状态或彻底删除集群配置,包括删除所有已部署的组件、节点信息、配置文件等。因此在使用之前务必确认是否真的需要重置集群。

安装nerdctl

wget https://github.com/containerd/nerdctl/releases/download/v1.7.6/nerdctl-1.7.6-linux-amd64.tar.gz

# 解压安装包到 /usr/local/bin 目录
sudo tar xzvf nerdctl-1.7.6-linux-amd64.tar.gz -C /usr/local/bin

# 确保 nerdctl 二进制文件具有执行权限
sudo chmod +x /usr/local/bin/nerdctl

# 验证安装
nerdctl --version

基本用法:


(1)容器管理

# 查看正在运行的容器(包括停止的)

nerdctl ps -a

# 启动一个新容器

nerdctl run -it --rm alpine

# --rm 确保 alpine 容器在执行完 echo "Hello, World!" 命令后会被自动删除,而不需要手动执行 docker rm 或 nerdctl rm

nerdctl run --rm alpine echo "Hello, World!"

# -d 后台运行

# 停止一个正在运行的容器

nerdctl stop <container_id>

# 删除一个容器

nerdctl rm <container_id>

(2)镜像管理

# 查看所有镜像
nerdctl images

# 拉取镜像

nerdctl pull nginx

# 删除镜像

nerdctl rmi nginx

# 导入镜像

nerdctl load [OPTIONS]

# 导出镜像:

nerdctl save [OPTIONS] IMAGE [IMAGE...]

# 镜像标签:

nerdctl tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

(3)数据卷管理

# 创建数据卷
nerdctl volume create my-volume

# 列出数据卷
nerdctl volume ls

# 删除数据卷
nerdctl volume rm my-volume

(4)网络管理

# 创建网络
nerdctl network create my-network

# 列出网络
nerdctl network ls

# 删除网络
nerdctl network rm my-network

镜像换源:

当nerdctl拉取镜像时会从docker.io中拉取,但是国内是访问不到的,所以我们要进行换源

(1)编辑 containerd 配置文件

vim /etc/containerd/config.toml

version = 2
root = "/var/lib/containerd"
state = "/run/containerd"
oom_score = 0

[grpc]
  address = "/run/containerd/containerd.sock"
  uid = 0
  gid = 0
  max_recv_message_size = 16777216
  max_send_message_size = 16777216

[debug]
  address = "/run/containerd/containerd-debug.sock"
  uid = 0
  gid = 0
  level = "warn"

[timeouts]
  "io.containerd.timeout.shim.cleanup" = "5s"
  "io.containerd.timeout.shim.load" = "5s"
  "io.containerd.timeout.shim.shutdown" = "3s"
  "io.containerd.timeout.task.state" = "2s"

[plugins]
  [plugins."io.containerd.grpc.v1.cri"]
    sandbox_image = "sealos.hub:5000/pause:3.9"
    max_container_log_line_size = -1
    max_concurrent_downloads = 20
    disable_apparmor = false
    [plugins."io.containerd.grpc.v1.cri".containerd]
      snapshotter = "overlayfs"
      default_runtime_name = "runc"
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
        [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
          runtime_type = "io.containerd.runc.v2"
          runtime_engine = ""
          runtime_root = ""
          [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
            SystemdCgroup = true
    [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = "/etc/containerd/certs.d"

mkdir /etc/containerd/certs.d/docker.io/ -p
vim /etc/containerd/certs.d/docker.io/hosts.toml

server = "https://registry-1.docker.io"

[host."https://docker.m.daocloud.io"]
  capabilities = ["pull", "resolve", "push"]


(2)刷新服务

sudo systemctl restart containerd

至此就可以拉取镜像了

安装Dashboard

# 修改Service部分,改为NodePort对外暴露端口

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml\

安装

kubectl apply -f recommended.yaml

查看

kubectl get pods,svc -n kubernetes-dashboard

Running状态说明安装成功

创建账号

创建dashboard-access-token.yaml文件

# Creating a Service Account
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
# Creating a ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
---
# Getting a long-lived Bearer Token for ServiceAccount
apiVersion: v1
kind: Secret
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token
# Clean up and next steps
# kubectl -n kubernetes-dashboard delete serviceaccount admin-user
# kubectl -n kubernetes-dashboard delete clusterrolebinding admin-user

执行

root@k8s-master-1:~/dashboard# vim dashboard-access-token.yaml
root@k8s-master-1:~/dashboard# kubectl apply -f dashboard-access-token.yaml 

serviceaccount/admin-user created
clusterrolebinding.rbac.authorization.k8s.io/admin-user created
secret/admin-user created

获取token

root@k8s-master-1:~/dashboard# kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d

eyJhbGciOiJSUzI1NiIsImtpZCI6IlFfTW82UWJ0QUViMUZZWjhUSW5objV3WTdaLUVtZE1rMHE0eVpRc1kxeUkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI1OGVkMDliNi0yYWJjLTQ1YTAtYTYxYy1kMzBkNzUyMzI4ZmEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.GBWXmR2uGE8-S3GRRttyjNS0q181kGr3iUN8AYEoTzHn6Oeo3p0ecRHxAEhqmqhz6dfNCEG3-SLQsajroKDdUM92w0uI6zn5lrDjw66Wcx5dOD5-fBEAZdCdmoxi6AiR2TSU2BpVrJScRAYsBZUTQLApLEAqnXO6XvcOAMDeVFZIjARj6CAABHIHVDXwbdkq9yPZbAXKgL0frIs8Bj42Yn8UnaJShk64_1MXgY3tq7uoxuA_DTi93RhvohUjzmhAAZzd7tOjyahabWiyQSoK6mrFqkufLaparfIjS4tW7x_KRTrCC_SBW4P2WGtQ0GNlw3bc5oC2nWDBFJCrCeJ8_Q
 

访问dashboard

获取端口

kubectl get svc -n kubernetes-dashboard

端口为30088

浏览器访问:https://IP:PORT,

注意是https

页面中输入上一步获取到的token即可

然后就能使用dashboard控制创建的集群了

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐