企业级Kubernetes部署

news/2024/10/3 13:14:18 标签: kubernetes, 容器, 云原生

华子目录

  • `k8s`中`容器`的`管理方式`
  • `k8s`集群部署
  • 安装`k8s部署工具`
    • 部署软件仓库,添加`k8s源`
    • 设置`kubectl`命令补全功能
  • `k8s`集群中安装`cri-docker`
  • `k8s`集群中启动`cri-docker`服务
  • 在`k8s-master`上拉取`k8s`所需`镜像`并上传到`harbor`上
  • 修改`cri-docker.service`文件
  • `k8s`集群中启动`kubelet`
  • `k8s`集群初始化
  • 安装`flannel`网络插件
  • 节点扩容
  • `k8s集群`中容器运行状态
  • 测试`k8s`集群运行情况

k8s容器管理方式

在这里插入图片描述
k8s集群创建方式有3种

  • cri-o

    • cri-o的方式是Kubernetes创建容器最直接的一种方式,在创建集群的时候,需要借助于cri-o插件的方式在实现Kubernetes集群的创建
  • cri-containerd

    • 默认情况下,k8s创建集群时使用的方式
  • cri-docker

    • docker使用的记录最高,虽然k8s1.24版本后已经废除Kubernetesdocker的支持,但是可以借助cri-docker方式来实现集群的创建

注意:

  • cri-dockercri-o这两种方式要对Kubelet程序的启动参数进行设置

k8s集群部署

  • k8s中文官网:https://kubernetes.io/zh-cn/docs/home/

接上一篇博客k8s的环境搭建https://blog.csdn.net/huaz_md/article/details/142676163?spm=1001.2014.3001.5501,准备好基础环境和Docker环境,下面就开始通过kubeadm来部署kubernetes集群。我们这里在rhel9上部署k8s集群

主机名ip角色
harbor.huazi.org172.25.254.250harbor仓库
k8s-master.org172.25.254.100masterk8s集群控制节点
k8s-node1.org172.25.254.10workerk8s集群工作节点
k8s-node2.org172.25.254.20workerk8s集群工作节点

安装k8s部署工具

k8s安装有很多种方式,这里我们使用最直观的方式kubeadm

部署软件仓库,添加k8s源

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • k8s-master
[root@k8s-master ~]# cd /etc/yum.repos.d/
[root@k8s-master yum.repos.d]# vim k8s.repo
[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
gpgcheck=0
#--showduplicates:列出历史版本
[root@k8s-master yum.repos.d]# yum list kubelet --showduplicates
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

k8s                                                 37 kB/s |  17 kB     00:00
可安装的软件包
kubelet.aarch64                        1.30.0-150500.1.1                        k8s
kubelet.ppc64le                        1.30.0-150500.1.1                        k8s
kubelet.s390x                          1.30.0-150500.1.1                        k8s
kubelet.src                            1.30.0-150500.1.1                        k8s
kubelet.x86_64                         1.30.0-150500.1.1                        k8s
kubelet.aarch64                        1.30.1-150500.1.1                        k8s
kubelet.ppc64le                        1.30.1-150500.1.1                        k8s
kubelet.s390x                          1.30.1-150500.1.1                        k8s
kubelet.src                            1.30.1-150500.1.1                        k8s
kubelet.x86_64                         1.30.1-150500.1.1                        k8s


[root@k8s-master ~]# yum list kubeadm --showduplicates
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:06:24 前,执行于 2024年10月02日 星期三 08时59分31秒。
已安装的软件包
kubeadm.x86_64                        1.30.0-150500.1.1                        @k8s
可安装的软件包
kubeadm.aarch64                       1.30.0-150500.1.1                        k8s
kubeadm.ppc64le                       1.30.0-150500.1.1                        k8s
kubeadm.s390x                         1.30.0-150500.1.1                        k8s
kubeadm.src                           1.30.0-150500.1.1                        k8s
kubeadm.x86_64                        1.30.0-150500.1.1                        k8s
kubeadm.aarch64                       1.30.1-150500.1.1                        k8s
kubeadm.ppc64le                       1.30.1-150500.1.1                        k8s
kubeadm.s390x                         1.30.1-150500.1.1                        k8s
kubeadm.src                           1.30.1-150500.1.1                        k8s
kubeadm.x86_64                        1.30.1-150500.1.1                        k8s



[root@k8s-master ~]# yum list kubectl --showduplicates
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:07:00 前,执行于 2024年10月02日 星期三 08时59分31秒。
已安装的软件包
kubectl.x86_64                        1.30.0-150500.1.1                        @k8s
可安装的软件包
kubectl.aarch64                       1.30.0-150500.1.1                        k8s
kubectl.ppc64le                       1.30.0-150500.1.1                        k8s
kubectl.s390x                         1.30.0-150500.1.1                        k8s
kubectl.src                           1.30.0-150500.1.1                        k8s
kubectl.x86_64                        1.30.0-150500.1.1                        k8s
kubectl.aarch64                       1.30.1-150500.1.1                        k8s
kubectl.ppc64le                       1.30.1-150500.1.1                        k8s
kubectl.s390x                         1.30.1-150500.1.1                        k8s
kubectl.src                           1.30.1-150500.1.1                        k8s
kubectl.x86_64                        1.30.1-150500.1.1                        k8s

k8s-master上安装kubeletkubeadmkubectl

  • kubectl命令行管理工具
  • kubeadm安装K8S集群工具
  • kubelet管理容器工具
[root@k8s-master ~]# yum install \
> kubelet-1.30.0-150500.1.1  \
> kubeadm-1.30.0-150500.1.1 \
> kubectl-1.30.0-150500.1.1    -y
  • k8s-node1
  • k8s-node1上安装kubeletkubeadm即可
[root@k8s-node1 ~]# cat /etc/yum.repos.d/k8s.repo
[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
gpgcheck=0
[root@k8s-node1 ~]# yum install \
> kubelet-1.30.0-150500.1.1 \
> kubeadm-1.30.0-150500.1.1   -y
  • k8s-node2
  • k8s-node2上安装kubeletkubeadm即可
[root@k8s-node2 ~]# cat /etc/yum.repos.d/k8s.repo
[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
gpgcheck=0
[root@k8s-node2 ~]# yum install \
> kubelet-1.30.0-150500.1.1 \
> kubeadm-1.30.0-150500.1.1   -y

设置kubectl命令补全功能

  • k8s-master
  • 因为kubectl只在master上,所以我们只需要修改master即可
[root@k8s-master ~]# yum install bash-completion -y
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:14:33 前,执行于 2024年10月02日 星期三 08时59分31秒。
软件包 bash-completion-1:2.11-4.el9.noarch 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@k8s-master ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc
[root@k8s-master ~]# source ~/.bashrc

k8s集群中安装cri-docker

  • k8s1.24版本开始就移除了dockershim,所以需要安装cri-docker插件才能使用docker
  • 软件下载:https://github.com/Mirantis/cri-dockerd/tags

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • k8s-master
[root@k8s-master ~]# yum install \
> cri-dockerd-0.3.14-3.el8.x86_64.rpm \
> libcgroup-0.41-19.el8.x86_64.rpm   -y
  • k8s-node1
[root@k8s-node1 ~]# yum install \
> cri-dockerd-0.3.14-3.el8.x86_64.rpm \
> libcgroup-0.41-19.el8.x86_64.rpm  -y
  • k8s-node2
[root@k8s-node2 ~]# yum install \
> cri-dockerd-0.3.14-3.el8.x86_64.rpm \
> libcgroup-0.41-19.el8.x86_64.rpm   -y

k8s集群中启动cri-docker服务

  • k8s-master
[root@k8s-master ~]# systemctl enable --now cri-docker
  • k8s-node1
[root@k8s-node1 ~]# systemctl enable --now cri-docker
  • k8s-node2
[root@k8s-node2 ~]# systemctl enable --now cri-docker

k8s-master上拉取k8s所需镜像并上传到harbor

[root@k8s-master ~]# kubeadm config print init-defaults

在这里插入图片描述

#cri-dockerd的套接字位置
[root@k8s-master ~]# ll /var/run/cri-dockerd.sock
srw-rw---- 1 root docker 0 102 09:39 /var/run/cri-dockerd.sock
  • k8s-master
[root@k8s-master ~]# kubeadm config images pull \
> --image-repository registry.aliyuncs.com/google_containers \
> --kubernetes-version v1.30.0 \
> --cri-socket=unix:///var/run/cri-dockerd.sock
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-apiserver:v1.30.0
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-controller-manager:v1.30.0
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-scheduler:v1.30.0
[config/images] Pulled registry.aliyuncs.com/google_containers/kube-proxy:v1.30.0
[config/images] Pulled registry.aliyuncs.com/google_containers/coredns:v1.11.1
[config/images] Pulled registry.aliyuncs.com/google_containers/pause:3.9
[config/images] Pulled registry.aliyuncs.com/google_containers/etcd:3.5.12-0
  • 我们可以看到镜像已经成功的拉取下来
[root@k8s-master ~]# docker images
REPOSITORY                                                        TAG        IMAGE ID       CREATED         SIZE
registry.aliyuncs.com/google_containers/kube-apiserver            v1.30.0    c42f13656d0b   5 months ago    117MB
registry.aliyuncs.com/google_containers/kube-controller-manager   v1.30.0    c7aad43836fa   5 months ago    111MB
registry.aliyuncs.com/google_containers/kube-scheduler            v1.30.0    259c8277fcbb   5 months ago    62MB
registry.aliyuncs.com/google_containers/kube-proxy                v1.30.0    a0bf559e280c   5 months ago    84.7MB
registry.aliyuncs.com/google_containers/etcd                      3.5.12-0   3861cfcd7c04   7 months ago    149MB
registry.aliyuncs.com/google_containers/coredns                   v1.11.1    cbb01a7bd410   13 months ago   59.8MB
registry.aliyuncs.com/google_containers/pause                     3.9        e6f181688397   23 months ago   744kB
  • harbor上创建名为k8s的项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 上传镜像到harbor
[root@k8s-master ~]# docker  images  |  awk  '/google/{ print $1":"$2}'  \
> | awk  -F   "/"   '{system("docker   tag   "$0"   harbor.huazi.org/k8s/"$3)}'


[root@k8s-master ~]# docker images
REPOSITORY                                                        TAG        IMAGE ID       CREATED         SIZE
registry.aliyuncs.com/google_containers/kube-apiserver            v1.30.0    c42f13656d0b   5 months ago    117MB
harbor.huazi.org/k8s/kube-apiserver                               v1.30.0    c42f13656d0b   5 months ago    117MB
harbor.huazi.org/k8s/kube-controller-manager                      v1.30.0    c7aad43836fa   5 months ago    111MB
registry.aliyuncs.com/google_containers/kube-controller-manager   v1.30.0    c7aad43836fa   5 months ago    111MB
harbor.huazi.org/k8s/kube-scheduler                               v1.30.0    259c8277fcbb   5 months ago    62MB
registry.aliyuncs.com/google_containers/kube-scheduler            v1.30.0    259c8277fcbb   5 months ago    62MB
harbor.huazi.org/k8s/kube-proxy                                   v1.30.0    a0bf559e280c   5 months ago    84.7MB
registry.aliyuncs.com/google_containers/kube-proxy                v1.30.0    a0bf559e280c   5 months ago    84.7MB
harbor.huazi.org/k8s/etcd                                         3.5.12-0   3861cfcd7c04   7 months ago    149MB
registry.aliyuncs.com/google_containers/etcd                      3.5.12-0   3861cfcd7c04   7 months ago    149MB
harbor.huazi.org/k8s/coredns                                      v1.11.1    cbb01a7bd410   13 months ago   59.8MB
registry.aliyuncs.com/google_containers/coredns                   v1.11.1    cbb01a7bd410   13 months ago   59.8MB
harbor.huazi.org/k8s/pause                                        3.9        e6f181688397   23 months ago   744kB
registry.aliyuncs.com/google_containers/pause                     3.9        e6f181688397   23 months ago   744kB


#上传
[root@k8s-master ~]# docker images | awk '/k8s/{system("docker  push  "$1":"$2)}'
  • 可以发现已经成功上传
    在这里插入图片描述

修改cri-docker.service文件

  • 指定网络插件名称基础容器镜像
  • k8s-master
#指定网络插件名称及基础容器镜像
[root@k8s-master ~]# vim /lib/systemd/system/cri-docker.service


ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --pod-infra-container-image=harbor.huazi.org/k8s/pause:3.9

在这里插入图片描述

[root@k8s-master ~]# systemctl daemon-reload
[root@k8s-master ~]# systemctl restart cri-docker
  • k8s-node1
[root@k8s-node1 ~]# vim /lib/systemd/system/cri-docker.service


ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --pod-infra-container-image=harbor.huazi.org/k8s/pause:3.9

在这里插入图片描述

[root@k8s-node1 ~]# systemctl daemon-reload
[root@k8s-node1 ~]# systemctl restart cri-docker
  • k8s-node2
[root@k8s-node2 ~]# vim /lib/systemd/system/cri-docker.service


ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --pod-infra-container-image=harbor.huazi.org/k8s/pause:3.9

在这里插入图片描述

[root@k8s-node2 ~]# systemctl daemon-reload
[root@k8s-node2 ~]# systemctl restart cri-docker

k8s集群中启动kubelet

  • k8s-master
[root@k8s-master ~]# systemctl enable --now kubelet
  • k8s-node1
[root@k8s-node1 ~]# systemctl enable --now kubelet
  • k8s-node2
[root@k8s-node2 ~]# systemctl enable --now kubelet

k8s集群初始化

  • k8s-master
[root@k8s-master ~]# kubeadm init --pod-network-cidr=192.188.0.0/16 \
> --image-repository harbor.huazi.org/k8s \
> --kubernetes-version v1.30.0 \
> --cri-socket=unix:///var/run/cri-dockerd.sock                                                                   

在这里插入图片描述

[root@k8s-master ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

[root@k8s-master ~]# echo  "export KUBECONFIG=/etc/kubernetes/admin.conf"  >>  ~/.bash_profile
[root@k8s-master ~]# source ~/.bash_profile
[root@k8s-master ~]# kubectl get nodes
NAME             STATUS     ROLES           AGE   VERSION
k8s-master.org   NotReady   control-plane   11m   v1.30.0

如果在初始化过程中失败,我们需要重置,那如何进行重置呢?

[root@k8s-master ~]# kubeadm reset --cri-docker=unix:///var/run/cri-dockerd.sock

我们发现这里的statusNotReady,这时就需要我们安装flannel网络插件

安装flannel网络插件

  • https://github.com/flannel-io/flannel/tags

  • 下载flannelyaml部署文件
    在这里插入图片描述

  • k8s-master

  • 下载镜像

[root@k8s-master ~]# docker pull   docker.io/flannel/flannel:v0.25.5
[root@k8s-master ~]# docekr pull   docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel1
[root@k8s-master ~]# vim kube-flannel.yml

在这里插入图片描述

[root@k8s-master ~]# docker load -i flannel-0.25.5.tag.gz
ef7a14b43c43: Loading layer [==================================================>]  8.079MB/8.079MB
1d9375ff0a15: Loading layer [==================================================>]  9.222MB/9.222MB
4af63c5dc42d: Loading layer [==================================================>]  16.61MB/16.61MB
2b1d26302574: Loading layer [==================================================>]  1.544MB/1.544MB
d3dd49a2e686: Loading layer [==================================================>]  42.11MB/42.11MB
7278dc615b95: Loading layer [==================================================>]  5.632kB/5.632kB
c09744fc6e92: Loading layer [==================================================>]  6.144kB/6.144kB
0a2b46a5555f: Loading layer [==================================================>]  1.923MB/1.923MB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
601effcb7aab: Loading layer [==================================================>]  1.928MB/1.928MB
Loaded image: flannel/flannel:v0.25.5
21692b7dc30c: Loading layer [==================================================>]  2.634MB/2.634MB
Loaded image: flannel/flannel-cni-plugin:v1.5.1-flannel1
  • 上传flannelharbor

在这里插入图片描述
在这里插入图片描述

[root@k8s-master ~]# docker images flannel/*
REPOSITORY                   TAG               IMAGE ID       CREATED        SIZE
flannel/flannel              v0.25.5           b9f4beb93d68   2 months ago   80.4MB
flannel/flannel-cni-plugin   v1.5.1-flannel1   0b2af0d15971   3 months ago   10.4MB
[root@k8s-master ~]# docker tag   flannel/flannel:v0.25.5    harbor.huazi.org/flannel/flannel:v0.25.5
[root@k8s-master ~]# docker tag   flannel/flannel-cni-plugin:v1.5.1-flannel1   harbor.huazi.org/flannel/flannel-cni-plugin:v1.5.1-flannel1
[root@k8s-master ~]# docker push harbor.huazi.org/flannel/flannel:v0.25.5
[root@k8s-master ~]# docker push harbor.huazi.org/flannel/flannel-cni-plugin:v1.5.1-flannel1

发现上传成功
在这里插入图片描述

  • 安装flannel网络插件
[root@k8s-master ~]# kubectl apply -f kube-flannel.yml
namespace/kube-flannel created
serviceaccount/flannel created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created
  • 此时发现已经Ready
[root@k8s-master ~]# kubectl get nodes
NAME             STATUS   ROLES           AGE   VERSION
k8s-master.org   Ready    control-plane   12h   v1.30.0

节点扩容

  • 节点扩容也就是将node节点加入master当中

我们在k8s集群初始化的过程中,会出现下面这个集群token记录它
在这里插入图片描述
如果忘了也没有关系,我们可以重新生成

[root@k8s-master ~]# kubeadm token create --print-join-command
kubeadm join 172.25.254.100:6443 --token 3vikps.lp7x33vo9cd7l29t --discovery-token-ca-cert-hash sha256:cdb056a4a33dfb3604855fc1500f62253da2fec1ca882fd038fe9afb661a572e

复制集群tokennode中执行,即可加入

  • k8s-node1上复制完,在最后添加--cri-socket=unix:///var/run/cri-dockerd.sock
[root@k8s-node1 ~]# kubeadm join 172.25.254.100:6443 --token 3vikps.lp7x33vo9cd7l29t --discovery-token-ca-cert-hash sha256:cdb056a4a33dfb3604855fc1500f62253da2fec1ca882fd038fe9afb661a572e \
> --cri-socket=unix:///var/run/cri-dockerd.sock
  • 发现node1已经加入
[root@k8s-master ~]# kubectl get nodes
NAME             STATUS   ROLES           AGE   VERSION
k8s-master.org   Ready    control-plane   12h   v1.30.0
k8s-node1.org    Ready    <none>          52s   v1.30.0
  • k8s-node2上复制完,在最后添加--cri-socket=unix:///var/run/cri-dockerd.sock
[root@k8s-node2 ~]# kubeadm join 172.25.254.100:6443 --token 3vikps.lp7x33vo9cd7l29t --discovery-token-ca-cert-hash sha256:cdb056a4a33dfb3604855fc1500f62253da2fec1ca882fd038fe9afb661a572e \
> --cri-socket=unix:///var/run/cri-dockerd.sock
  • 发现node2已经加入
[root@k8s-master ~]# kubectl get nodes
NAME             STATUS   ROLES           AGE     VERSION
k8s-master.org   Ready    control-plane   12h     v1.30.0
k8s-node1.org    Ready    <none>          6m40s   v1.30.0
k8s-node2.org    Ready    <none>          2m36s   v1.30.0

k8s集群容器运行状态

我们发现整个k8s都是以容器的形式进行部署

  • k8s-master
[root@k8s-master ~]# docker ps
CONTAINER ID   IMAGE                            COMMAND                   CREATED          STATUS          PORTS     NAMES
f2cf5e76a528   harbor.huazi.org/k8s/pause:3.9   "/pause"                  26 minutes ago   Up 26 minutes             k8s_POD_kube-flannel-ds-mnwh6_kube-flannel_90a37e3b-3463-46f4-bc05-38983ae72022_0
8d4c35e030e1   a0bf559e280c                     "/usr/local/bin/kube…"   13 hours ago     Up 13 hours               k8s_kube-proxy_kube-proxy-v59ls_kube-system_89adb3d7-bf7e-4435-814a-9f2028c35b21_0
9c0b964d9950   harbor.huazi.org/k8s/pause:3.9   "/pause"                  13 hours ago     Up 13 hours               k8s_POD_kube-proxy-v59ls_kube-system_89adb3d7-bf7e-4435-814a-9f2028c35b21_0
f13c7025a49b   259c8277fcbb                     "kube-scheduler --au…"   13 hours ago     Up 13 hours               k8s_kube-scheduler_kube-scheduler-k8s-master.org_kube-system_f7a1b780be204295e245a244d33633b5_0
05b49eaef33b   c7aad43836fa                     "kube-controller-man…"   13 hours ago     Up 13 hours               k8s_kube-controller-manager_kube-controller-manager-k8s-master.org_kube-system_c40cd2ff1ec7ca43fa916fb4e4a51400_0
27ac68a80c74   3861cfcd7c04                     "etcd --advertise-cl…"   13 hours ago     Up 13 hours               k8s_etcd_etcd-k8s-master.org_kube-system_e9d747ad8b7195b88bd5c791f2186262_0
6ff27e184297   c42f13656d0b                     "kube-apiserver --ad…"   13 hours ago     Up 13 hours               k8s_kube-apiserver_kube-apiserver-k8s-master.org_kube-system_ef3485df7f45f1c606bdfcd3a47e3e0f_0
2ff1e1a79bee   harbor.huazi.org/k8s/pause:3.9   "/pause"                  13 hours ago     Up 13 hours               k8s_POD_kube-scheduler-k8s-master.org_kube-system_f7a1b780be204295e245a244d33633b5_0
d902bad78435   harbor.huazi.org/k8s/pause:3.9   "/pause"                  13 hours ago     Up 13 hours               k8s_POD_kube-controller-manager-k8s-master.org_kube-system_c40cd2ff1ec7ca43fa916fb4e4a51400_0
6ee3ceb21a17   harbor.huazi.org/k8s/pause:3.9   "/pause"                  13 hours ago     Up 13 hours               k8s_POD_etcd-k8s-master.org_kube-system_e9d747ad8b7195b88bd5c791f2186262_0
f2bf6b9523ea   harbor.huazi.org/k8s/pause:3.9   "/pause"                  13 hours ago     Up 13 hours               k8s_POD_kube-apiserver-k8s-master.org_kube-system_ef3485df7f45f1c606bdfcd3a47e3e0f_0
  • k8s-node1
[root@k8s-node1 ~]# docker ps
CONTAINER ID   IMAGE                             COMMAND                   CREATED          STATUS          PORTS     NAMES
9802c5ade6cb   harbor.huazi.org/k8s/kube-proxy   "/usr/local/bin/kube…"   11 minutes ago   Up 11 minutes             k8s_kube-proxy_kube-proxy-tc5hv_kube-system_07feb7be-a06c-4d60-a0b2-fb39a849b972_0
795c112bd550   harbor.huazi.org/k8s/pause:3.9    "/pause"                  11 minutes ago   Up 11 minutes             k8s_POD_kube-flannel-ds-2mqsw_kube-flannel_bd721f60-26d8-4899-a2c0-fd88f8ca32ce_0
c965aff3504b   harbor.huazi.org/k8s/pause:3.9    "/pause"                  11 minutes ago   Up 11 minutes             k8s_POD_kube-proxy-tc5hv_kube-system_07feb7be-a06c-4d60-a0b2-fb39a849b972_0
  • k8s-node2
[root@k8s-node2 ~]# docker ps
CONTAINER ID   IMAGE                             COMMAND                   CREATED          STATUS          PORTS     NAMES
649b4574e0f7   harbor.huazi.org/k8s/kube-proxy   "/usr/local/bin/kube…"   9 minutes ago    Up 9 minutes              k8s_kube-proxy_kube-proxy-k2m2r_kube-system_dab05120-0d16-4919-a593-4e52efec736c_0
0486735102d1   harbor.huazi.org/k8s/pause:3.9    "/pause"                  10 minutes ago   Up 10 minutes             k8s_POD_kube-flannel-ds-c2rt5_kube-flannel_74c06ccf-7ea0-4273-8bef-2d9a61ab5196_0
18dd7567d8f9   harbor.huazi.org/k8s/pause:3.9    "/pause"                  10 minutes ago   Up 10 minutes             k8s_POD_kube-proxy-k2m2r_kube-system_dab05120-0d16-4919-a593-4e52efec736c_0

测试k8s集群运行情况

[root@k8s-master ~]# kubelet --version
Kubernetes v1.30.0```
[root@k8s-master ~]# kubectl run webserver1 --image nginx
pod/webserver1 created


[root@k8s-master ~]# kubectl get pods -o wide
NAME         READY   STATUS              RESTARTS   AGE     IP       NODE            NOMINATED NODE   READINESS GATES
webserver1   0/1     ContainerCreating   0          2m19s   <none>   k8s-node2.org   <none>           <none>
[root@k8s-master ~]# kubectl run ubuntu --image ubuntu
pod/ubuntu created


[root@k8s-master ~]# kubectl get pods
NAME         READY   STATUS              RESTARTS   AGE
ubuntu       0/1     ContainerCreating   0          2s
webserver1   0/1     ContainerCreating   0          16m
  • 我们可以发现,一个在k8s-node1上,一个在k8s-node2上,所以k8s自动选择合适node运行容器
[root@k8s-master ~]# kubectl get pods -o wide
NAME         READY   STATUS              RESTARTS   AGE   IP       NODE            NOMINATED NODE   READINESS GATES
ubuntu       0/1     ContainerCreating   0          24s   <none>   k8s-node1.org   <none>           <none>
webserver1   0/1     ContainerCreating   0          16m   <none>   k8s-node2.org   <none>           <none>

http://www.niftyadmin.cn/n/5688440.html

相关文章

你真的会用鼠标吗?它其实还可以这么用。

前言 小白最近比较忙&#xff0c;没大片的时间可以用来做实际测试&#xff0c;所以只能讲一些小知识。 如果有小伙伴们的电脑有问题&#xff0c;可以私下找小白咨询。 今天咱们要讲&#xff1a;鼠标怎么用。 接触过电脑的人&#xff0c;对鼠标这个东西一般都不陌生&#xf…

WPF用户控件的使用

WPF用户控件的使用 先看一下程序结构&#xff1a; WPF_Test是我的主程序&#xff1b;WPF_LIB是我添加的一个用户控件库&#xff0c;其中UserControl1是一个用户控件&#xff1b; 用户控件xaml代码&#xff1a; <UserControl x:Class"WPF_LIB.UserControl1"xmln…

【网络安全 | 靶场搭建】Maven构建项目+报错解决方法(无法解析插件)

未经许可,不得转载。 文章目录 构建项目报错构建项目 在运行新项目时,可能会遇到类似于 C:\Users\86177\Desktop\java-sec-code-master\src\main\java\org\joychou\Application.java:3:32 java: 程序包org.springframework.boot不存在 的问题。在这种情况下,可以通过以下步…

Linux Debian12使用Podman安装bwapp靶场环境

一、bwapp简介 bWAPP&#xff08;buggy Web Application&#xff09;是一个开源的、故意设计有漏洞的Web应用程序&#xff0c;旨在帮助安全爱好者、开发人员和学生发现和防止Web漏洞。它包含了超过100种不同的漏洞&#xff0c;涵盖了所有主要的已知Web漏洞。 二、bwapp下载 …

每日一练:零钱兑换

322. 零钱兑换 - 力扣&#xff08;LeetCode&#xff09; 题目要求&#xff1a; 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组…

No module named ‘_ssl‘

目录 背景具体报错检验升级过程步骤一&#xff1a;升级ssl。步骤二&#xff1a;重新编译安装python 背景 换了台服务器按照之前centos升级python版本升级python正常编译安装成功&#xff0c;但是当使用时又出现了奇怪的报错&#xff0c;估计是机器太老了 具体报错 这个报错也…

FreeRTOS篇9:计数型信号量

一.什么是计数型信号量&#xff1f; 计数型信号量相当于队列长度大于1 的队列&#xff0c;因此计数型信号量能够容纳多个资源&#xff0c;这在计数型 信号量被创建的时候确定的。 二.计数型信号量相关 API 函数 计数型信号量的释放和获取与二值信号量完全相同 &#xff01; 参…

Clean ERP是个什么鬼?解读:德勤智能ERP应用体系(附架构图)

我们都知道&#xff0c;当下是一个高度不确定的时代&#xff0c;为应对现代业务模式转变及如新冠疫情等各种突发情形的挑战&#xff0c;当今企业需要提高自身的灵活性、响应速度和洞察力&#xff0c;以能够适应供应链和工作模式的快速变化。为此&#xff0c;企业必须比以往更多…