前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我与腾讯云的故事 :腾讯云CVM云服务器下玩转k8s集群

我与腾讯云的故事 :腾讯云CVM云服务器下玩转k8s集群

原创
作者头像
江湖有缘
修改2024-01-29 14:26:50
4160
修改2024-01-29 14:26:50
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、前言

进入云原生时代,Kubernetes作为云原生的技术基石,一直是IT技术人学习与研究的方向。无论是开发者还是运维人员,在技术不断发展的今天,只有不断学习和提高自己,才能走得更高更远。作为国内领先的云计算服务商之一,腾讯云提供了云服务器产品,可以满足不同规模企业的需求,提供高性能、高可靠、高安全的云计算服务。我们个人可以借助腾讯云的平台与服务,提升自己的技术水平。本次实践基于腾讯云的CVM云服务器,在centos7操作系统下,使用Minikube来部署一个Kubernetes集群,并安装KubePi作为多集群可视化工具来管理Kubernetes集群。同时,在Kubernetes环境下部署Nginx应用来进行测试。通过以上实践,我们可以更好地了解和熟悉Kubernetes的部署和管理,并且掌握使用KubePi进行集群可视化管理的技巧。这将有助于我们在云原生时代更好地应对技术挑战,并提升自己在云计算领域的竞争力。

二、相关名词介绍

2.1 CVM云服务器介绍

腾讯云服务器(Cloud Virtual Machine,CVM)是一种安全可靠的弹性计算服务。您可以根据业务需求实时调整计算资源的规模,实现资源的快速扩展和缩减,并按实际使用的资源进行计费。使用CVM可以有效降低软硬件采购成本,简化IT运维工作。

2.2 minikube介绍

minikube简介:

Minikube是一个用于快速在macOS、Linux和Windows上设置本地Kubernetes集群的工具。它通过在本机启动一个虚拟环境,并在该环境中安装各种Kubernetes组件来实现这一功能。Minikube可以帮助开发人员在本地环境中轻松地测试、开发和部署应用程序,而无需依赖于真实的生产环境。通过使用Minikube,开发人员可以更加方便地进行Kubernetes相关的开发和调试工作。

minikube特点:

  • 支持最新的 Kubernetes 版本
  • 跨平台(Linux,macOS,Windows)
  • 部署为 VM、容器或裸机上
  • 多个容器运行时(CRI-O、containerd、docker)
  • 直接 API 端点,用于快速加载和构建映像
  • 高级功能,如负载平衡器、文件系统挂载、功能门和网络策略
  • 用于易于安装的 Kubernetes 应用程序的插件
  • 支持常见的 CI 环境

2.3 kubernetes介绍

Kubernetes(也称为K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了一个可靠的方式来处理容器化应用程序的部署和管理,使开发人员能够专注于应用程序的开发,而不必担心底层基础设施的管理。Kubernetes可以在多个主机上运行容器化应用程序,并提供容器的自动化编排和管理。它可以自动处理容器的调度、负载均衡、存储和网络等方面的任务,以确保应用程序在集群中可靠且高效地运行。Kubernetes还提供了一套API和命令行工具,使用户能够管理和监控集群、部署和更新应用程序、进行故障排除和调试等操作。它支持多种容器运行时,包括Docker和Containerd等。

2.4 KubePi介绍

KubePi 是一个现代化的 K8s 面板:KubePi 允许管理员导入多个 Kubernetes 集群,并且通过权限控制,将不同 cluster、namespace 的权限分配给指定用户。它允许开发人员管理 Kubernetes 集群中运行的应用程序并对其进行故障排查,供开发人员更好地处理 Kubernetes 集群中的复杂性。

三、本次实践规划

3.1 本次实践介绍

1.本次实践基于腾讯云CVM云服务器环境; 2.本次实践使用的操作系统为centos7 ; 3.在一台CVM上使用Minikube来部署一个单节点Kubernetes集群; 4.部署一个Nginx测试应用; 5.在CVM云服务器上部署KubePi工具来管理k8s集群。

3.2 本次实践规划

Minikube部署轻量级k8s集群环境要求::

  • 2 个或更多 CPU
  • 2GB 可用内存
  • 20GB 可用磁盘空间
  • 互联网连接
  • 容器或虚拟机管理器,例如:Docker,QEMU,Hyperkit,Hyper-V,KVM,Parallels,Podman,VirtualBox或VMware Fusion/工作站

本次实践环境具体规划如下:

hostname

本地IP地址

Docker版本

操作系统版本

CPU核数

内存

硬盘

minikube版本

k8s版本

k8s

172.28.0.15

23.0.5

centos7

4

16G

50G

v1.30.1

v1.26.3

四、购买CVM云服务器

4.1 购买云服务器

腾讯云CVM官网地址:/product/cvm

自定义配置——基础配置:

  • 计费模式:按需计费
  • 地域:选择国外地区,方便后面拉取镜像。
  • 可用区:随机可用区,自定义选择即可。
  • 实例配置:这里选择实例已选实例 S5.LARGE16(标准型S5,4核 16GB)
  • 实例规格:S5.LARGE16(标准型S5,4核 16GB)
  • 镜像:公共镜像,
  • 存储:默认选择50G SSD规格 点击“下一步”,设置网络和主机。

网络与主机配置:

  • 网络:选择默认的VPC或者新建VPC,根据自身需要选择。
  • 公网IP:勾选“分配独立公网IP”。
  • 线路类型:BGP
  • 带宽计费模式:按流量计费
  • 带宽值:100Mbps
  • 安全组:新建安全组,配置默认即可,后面服务需要放行安全组端口,则再行设置即可。
  • 实例名称:my-k8s,自定义设置即可。
  • 登录方式:设置密码登录,设置云服务器访问密码。
  • 其余配置默认

下一步,确认配置信息。

检查配置信息,勾选同意协议,确认开通即可。

4.2 检查CVM云服务器状态

购买CVM云服务器后,会自动跳转到云服务器的实例列表,我们可以看到云服务器状态正在运行中。

五、检查云服务器环境

5.1 本地远程登录云服务器

复制云服务器的公网IP地址,远程连接时使用。

5.2 远程ssh连接云服务器

本地使用Xshell远程连接腾讯CVM云服务器

5.3 查看操作系统版本

执行以下命令,修改云服务器主机名,重新SSH连接后,主机名生效。

代码语言:bash
复制
hostnamectl set-hostname k8s

查看操作系统版本,当前操作系统版本为CentOS Linux release 7.6.1810。

代码语言:bash
复制
[root@VM-0-15-centos ~]#  cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

查看内核版本,当前内核版本为3.10.0-1160.99.1.el7.x86_64。

代码语言:bash
复制
[root@k8s ~]#  uname -r
3.10.0-1160.99.1.el7.x86_64

5.4 云服务器相关基础配置

执行以下命令,检查当前yum仓库状态。

代码语言:bash
复制
[root@k8s ~]# yum repolist enabled
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id                                            repo name                                                           status
epel/7/x86_64                                      EPEL for redhat/centos 7 - x86_64                                   13,786
extras/7/x86_64                                    Qcloud centos extras - x86_64                                          518
os/7/x86_64                                        Qcloud centos os - x86_64                                           10,072
updates/7/x86_64                                   Qcloud centos updates - x86_64                                       5,568
repolist: 29,944

执行以下命令,安装tree、git、wget、net-tools等基础软件,可根据自身需要安装其他软件。

代码语言:bash
复制
yum   install tree wget net-tools git -y

六、安装Docker环境

6.1 安装Docker

执行以下部署脚本,一键安装Docker。

代码语言:bash
复制
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun

6.2 Docker相关配置

执行以下命令,配置Docker的镜像加速。

代码语言:bash
复制
echo '{ "registry-mirrors": ["https://docker.mirrors.sjtug.sjtu.edu.cn"] }'   > /etc/docker/daemon.json 
systemctl daemon-reload  && systemctl restart docker

开启内核IP转发功能

代码语言:bash
复制
echo "net.ipv4.ip_forward=1" >>  /etc/sysctl.conf

查看是否成功:sysctl net.ipv4.ip_forward,如果返回为“net.ipv4.ip_forward = 1”则表示成功 sysctl。

代码语言:bash
复制
sysctl -p
sysctl net.ipv4.ip_forward

检查当前Docker状态,确保Docker服务正常运行。

代码语言:bash
复制
[root@k8s ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2024-01-24 21:21:42 CST; 49s ago
     Docs: https://docs.docker.com
 Main PID: 12324 (dockerd)
    Tasks: 10
   Memory: 31.2M
   CGroup: /system.slice/docker.service
           └─12324 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

七、安装minikube

7.1 安装kubectl工具

创建部署目录/data/minikube,本次实践下载的文件都存放在此目录下。

代码语言:bash
复制
mkdir -p /data/minikube && cd /data/minikube

下载kubectl二进制包

代码语言:bash
复制
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

复制kubectl的二进制文件

代码语言:bash
复制
mv kubectl /usr/bin/kubectl &&  chmod +x /usr/bin/kubectl 

检查kubectl的版本,本次安装的kubectl版本为v1.29.1。

代码语言:bash
复制
[root@k8s minikube]# kubectl version
Client Version: v1.29.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
The connection to the server localhost:8080 was refused - did you specify the right host or port?

7.2 下载minikube软件包

下载minikube软件包

代码语言:bash
复制
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

7.3 安装minikube

执行以下命令,开始安装minikube工具。

代码语言:bash
复制
sudo install minikube-linux-amd64 /usr/local/bin/minikube

7.4 查看minikube版本

检查minikube版本,当前版本为v1.30.1版本。

代码语言:bash
复制
[root@k8s minikube]# minikube version
minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512d

八、部署k8s集群

8.1 安装conntrack-tools工具

安装conntrack-tools工具.,此工具必须提前安装,否则在启动k8s集群时会直接报错。

代码语言:bash
复制
yum -y install conntrack-tools

8.2 安装cri-dockerd

下载cri-dockerd软件,下载地址:https://github.com/Mirantis/cri-dockerd

代码语言:bash
复制
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.1/cri-dockerd-0.3.1.amd64.tgz
代码语言:bash
复制
[root@k8s minikube]# ls
cri-dockerd-0.3.1.amd64.tgz  minikube-linux-amd64

解压复制cri-dockerd二进制文件

代码语言:bash
复制
[root@k8s minikube]# tar -xzf cri-dockerd-0.3.1.amd64.tgz
[root@k8s minikube]# cp cri-dockerd/cri-dockerd /usr/bin/

查看cri-dockerd版本,本次使用的cri-dockerd版本为0.3.1。

代码语言:bash
复制
[root@k8s minikube]# cri-dockerd --version
cri-dockerd 0.3.1 (7e528b98)

根据以下配置,编辑cri-dockerd的socket文件。

代码语言:bash
复制
vim /etc/systemd/system/cri-docker.socket
代码语言:bash
复制
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service

[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

根据以下配置,编辑cri-docker的服务启动文件。

代码语言:bash
复制
vim /etc/systemd/system/cri-docker.service
代码语言:bash
复制
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin= --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6 --network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target

启动cri-dockerd服务,并设置开机启动。

代码语言:bash
复制
systemctl enable  cri-docker.service --now

查看cri-dockerd服务状态,确保cri-docker服务正常启动。

代码语言:bash
复制
[root@k8s minikube]# systemctl status cri-docker.service
● cri-docker.service - CRI Interface for Docker Application Container Engine
   Loaded: loaded (/etc/systemd/system/cri-docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2024-01-24 22:05:16 CST; 28s ago
     Docs: https://docs.mirantis.com
 Main PID: 23347 (cri-dockerd)
    Tasks: 9
   Memory: 14.1M
   CGroup: /system.slice/cri-docker.service

8.3 安装crictl

下载crictl软件,下载地址:https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.27.0

代码语言:bash
复制
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.27.0/crictl-v1.27.0-linux-amd64.tar.gz
代码语言:bash
复制
[root@k8s minikube]# ls
crictl-v1.27.0-linux-amd64.tar.gz  cri-dockerd  cri-dockerd-0.3.1.amd64.tgz  minikube-linux-amd64

解压crictl软件包

代码语言:bash
复制
tar -xzf crictl-v1.27.0-linux-amd64.tar.gz  -C /usr/bin/

检查crictl版本,本次使用的crictl版本为v1.27.0。

代码语言:bash
复制
[root@k8s minikube]#  crictl -version
crictl version v1.27.0

8.4 安装cni-plugins

安装cni-plugins,下载地址:https://github.com/containernetworking/plugins/releases

代码语言:bash
复制
wget https://github.com/containernetworking/plugins/releases/download/v1.2.0/cni-plugins-linux-amd64-v1.2.0.tgz
代码语言:bash
复制
[root@k8s minikube]# ls
cni-plugins-linux-amd64-v1.2.0.tgz  cri-dockerd                  minikube-linux-amd64
crictl-v1.27.0-linux-amd64.tar.gz   cri-dockerd-0.3.1.amd64.tgz

执行以下命令,创建/opt/cni/bin/目录。

代码语言:bash
复制
mkdir -p /opt/cni/bin/

解压 cni-plugins到/opt/cni/bin/

代码语言:bash
复制
tar -xzf  cni-plugins-linux-amd64-v1.2.0.tgz  -C /opt/cni/bin/

8.5 部署k8s集群

执行以下命令,快速部署一个单机的轻量级k8s集群。

代码语言:bash
复制
minikube start  --driver=none --kubernetes-version=v1.26.3

国内环境下,使用国内镜像源拉取,速度会有点慢。

代码语言:bash
复制
minikube start --image-mirror-country=cn --driver=none --kubernetes-version=v1.26.3
  • --driver=none Minikube使用无驱动程序的方式来创建Kubernetes本地环境
  • --registry-mirror=***为了拉取Docker Hub镜像,需要为 Docker daemon 配置镜像加速,参考阿里云镜像服务
  • --kubernetes-version=***: minikube 虚拟机将使用的 kubernetes 版本

8.6 检查minikube状态

检查minikube状态,确保k8s各组件正常运行。

代码语言:bash
复制
[root@k8s minikube]# minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

8.7 新增k8s集群节点

执行以下命令,用于在minikube集群中添加一个新的节点。这个命令可以用于扩展集群,增加节点的数量,从而提高集群的可靠性和容量。

代码语言:bash
复制
minikube node add

8.8 清空k8s环境

可以通过以下命令,删除所有本地k8s集群和配置文件,以防配置错误,清空环境,重新部署k8s集群。

代码语言:bash
复制
minikube stop/delete # 停止、删除本地集群
minikube delete --all #删除所有本地集群和配置文件

九、检查k8s环境

9.1 检查本地容器

执行以下命令,可以查看本地启动的相关k8s组件容器。

代码语言:bash
复制
docker container ls

9.2 检查k8s集群节点状态

执行以下命令,可以看到k8s所有节点状态

代码语言:bash
复制
[root@k8s minikube]# kubectl get nodes -owide
NAME   STATUS   ROLES           AGE     VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION       CONTAINER-RUNTIME
k8s    Ready    control-plane   5m52s   v1.26.3   172.28.0.15   <none>        CentOS Linux 7 (Core)   3.10.0-1160.99.1.el7.x86_64   docker://25.0.1

9.3 检查k8s集群系统pod状态

检查k8s集群系统pod状态

代码语言:bash
复制
[root@k8s minikube]# kubectl get pods -n kube-system
NAME                          READY   STATUS    RESTARTS   AGE
coredns-567c556887-lv6fl      1/1     Running   0          7m50s
etcd-k8s                      1/1     Running   0          8m3s
kube-apiserver-k8s            1/1     Running   0          8m3s
kube-controller-manager-k8s   1/1     Running   0          8m4s
kube-proxy-5cxbh              1/1     Running   0          7m50s
kube-scheduler-k8s            1/1     Running   0          8m3s
storage-provisioner           1/1     Running   0          8m2s

十、部署Nginx测试应用

10.1 编辑部署文件

编辑一个测试web.yaml文件

代码语言:bash
复制
vim web.yaml 
代码语言:yaml
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-testweb
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app:  nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx
  name: svs-web
spec:
#  clusterIP: None
  ports:
  - name: web-port
    port: 80
    protocol: TCP
    targetPort: 80
    nodePort: 30060
  selector:
    app: nginx
  type: NodePort

10.2 部署测试应用

部署Nginx测试应用

代码语言:bash
复制
[root@k8s minikube]# kubectl apply -f web.yaml
deployment.apps/my-testweb created
service/svs-web created

10.3 检查Nginx的pod和service状态

查看Nginx服务的pod及service状态

  • 查看pod状态
代码语言:bash
复制
[root@k8s minikube]# kubectl get pods
NAME                          READY   STATUS    RESTARTS   AGE
my-testweb-774f96d4d9-w8x66   1/1     Running   0          61s
  • 查看service资源对象
代码语言:bash
复制
[root@k8s minikube]# kubectl get service
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        14m
svs-web      NodePort    10.97.128.248   <none>        80:30060/TCP   90s

10.4 本地访问Nginx应用

在腾讯云安全组在入方向上放行30060端口

在本地浏览器访问:http://云服务器公网IP地址:30060

十一、部署KubePi管理面板

11.1 安装KubePi管理面板

执行以下命令,使用docker-cli快速创建KubePi容器。

代码语言:bash
复制
docker run --privileged -d -v /root/.minikube:/root/.minikube --name kubepi --restart=unless-stopped -p 8098:80 kubeoperator/kubepi-server

使用以下docker-compose.yaml部署文件,创建KubePi容器。

代码语言:yaml
复制
version: '3'
services:
  kubepi:
    image: kubeoperator/kubepi-server
    privileged: true
    volumes:
      - /root/.minikube:/root/.minikube
    restart: unless-stopped
    ports:
      - 8098:80
代码语言:bash
复制
docker compose up -d  #创建KubePi容器

11.2 检查kubepi容器日志

  • 检查kubepi容器状态,确保kubepi容器正常启动。
代码语言:bash
复制
[root@k8s minikube]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
minikube-kubepi-1   "tini -g -- kubepi-s…"   kubepi              running             0.0.0.0:8098->80/tcp, :::8098->80/tcp
  • 检查kubepi容器日志,确保KubePi服务正常运行。
代码语言:bash
复制
[root@k8s minikube]# docker logs kubepi
\config file not found in , skip
time="2024-01-25T19:22:47+08:00" level=info msg="current db version: 0"
time="2024-01-25T19:22:47+08:00" level=info msg="executing db migration: [1]  Create default user and cluster"
time="2024-01-25T19:22:47+08:00" level=info msg="executing db migration: [2]  Add role repo manager"
time="2024-01-25T19:22:47+08:00" level=info msg="update db to version: 2"
Now listening on: http://0.0.0.0

11.3 访问kubepi面板

本地浏览器访问:http://公网IP地址:8098,将IP替换为自己云服务器的IP地址。需要在云服务器的安全组上放行8098端口,登录密码默认为admin/kubepi。

11.4 添加k8s集群

下载本地kubeconfig文件,在k8s集群中,kubeconfig文件一般默认在 $HOME/.kube目录下。

代码语言:bash
复制
sudo mv /root/.kube /root/.minikube $HOME
sudo chown -R $USER $HOME/.kube $HOME/.minikube
代码语言:bash
复制
[root@k8s minikube]# ls /root/.kube/
cache  config

上传kubeconfig文件到kubepi面板。

11.5 查看k8s集群状态

添加成功后,可以看到k8s集群状态正常。

查看添加的k8s集群详细信息

十二、总结

腾讯云服务器CVM的强大性能大大提高了学习与实践的效率,在本次实践中,遇到了一些问题,但都得到了逐一解决。其中最重要的问题是minikube启动集群时拉取镜像速度过慢的问题。尽管使用了国内的镜像源,但仍然非常缓慢。除了使用国外云主机部署的方式,后来发现了更快的启动方法,即提前拉取启动k8s集群所需的镜像,或者导入别人准备好的镜像包到本地进行启动,这种方式省去了镜像拉取缓慢的问题。之后,可以在本次实践的基础上,添加更多的k8s工作节点,以提高集群的可靠性和容量,并发现更多k8s的可玩性。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、相关名词介绍
    • 2.1 CVM云服务器介绍
      • 2.2 minikube介绍
        • 2.3 kubernetes介绍
          • 2.4 KubePi介绍
          • 三、本次实践规划
            • 3.1 本次实践介绍
              • 3.2 本次实践规划
              • 四、购买CVM云服务器
                • 4.1 购买云服务器
                  • 4.2 检查CVM云服务器状态
                  • 五、检查云服务器环境
                    • 5.1 本地远程登录云服务器
                      • 5.2 远程ssh连接云服务器
                        • 5.3 查看操作系统版本
                          • 5.4 云服务器相关基础配置
                          • 六、安装Docker环境
                            • 6.1 安装Docker
                              • 6.2 Docker相关配置
                              • 七、安装minikube
                                • 7.1 安装kubectl工具
                                  • 7.2 下载minikube软件包
                                    • 7.3 安装minikube
                                      • 7.4 查看minikube版本
                                      • 八、部署k8s集群
                                        • 8.1 安装conntrack-tools工具
                                          • 8.2 安装cri-dockerd
                                            • 8.3 安装crictl
                                              • 8.4 安装cni-plugins
                                                • 8.5 部署k8s集群
                                                  • 8.6 检查minikube状态
                                                    • 8.7 新增k8s集群节点
                                                      • 8.8 清空k8s环境
                                                      • 九、检查k8s环境
                                                        • 9.1 检查本地容器
                                                          • 9.2 检查k8s集群节点状态
                                                            • 9.3 检查k8s集群系统pod状态
                                                            • 十、部署Nginx测试应用
                                                              • 10.1 编辑部署文件
                                                                • 10.2 部署测试应用
                                                                  • 10.3 检查Nginx的pod和service状态
                                                                    • 10.4 本地访问Nginx应用
                                                                    • 十一、部署KubePi管理面板
                                                                      • 11.1 安装KubePi管理面板
                                                                        • 11.2 检查kubepi容器日志
                                                                          • 11.3 访问kubepi面板
                                                                            • 11.4 添加k8s集群
                                                                              • 11.5 查看k8s集群状态
                                                                              • 十二、总结
                                                                              相关产品与服务
                                                                              容器服务
                                                                              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                                                              领券
                                                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                                                                              http://www.vxiaotou.com