kubeadm构建(Calico+Dashboard+Containerd)

2023-11-18


前言

前六步跟flannel操作相同,可以看我上一篇的kubeadm-flannel我这里接着第七步操作


一、环境

|服务器|IP地址|
|–|–|–|–|
|k8s-m| 192.168.3.11|
|k8s-node01| 192.168.3.12|
|k8s-node02|192.168.3.13|

二、部署容器网络(CNI、master操作)

1.下载yamll

wget https://docs.projectcalico.org/manifests/calico.yaml

2.修改yaml

vim calico.yaml
#去掉注释并修改value:的地址与前面kubeadm init的 --pod-network-cidr指定的一样
。。。
   4222              - name: CALICO_IPV4POOL_CIDR
   4223                value: "10.244.0.0/16"
。。。

3.部署

kubectl apply -f calico.yaml
kubectl get pods -n kube-system

三、部署 Dashboard

1.下载yaml

https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

2.修改yaml

  • 默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:
vim recommended.yaml
...
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001		//此处修改
  selector:
    k8s-app: kubernetes-dashboard
  type: NodePort		   //此处修改
...

3.部署

kubectl apply -f recommended.yaml
kubectl get pods -n kubernetes-dashboard
  • 访问地址:https://192.168.3.11:30001
  • 使用token登陆,如果过期或者忘了可以kubeadm token create --print-join-command快速生成
    在这里插入图片描述

4.创建管理员

  • 创建service account并绑定默认cluster-admin管理员集群角色:
# 创建用户
kubectl create serviceaccount dashboard-admin -n kube-system
# 用户授权
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 获取用户Token
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

四、切换容器引擎为Containerd

1.配置先决条件

cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# 设置必需的 sysctl 参数,这些参数在重新启动后仍然存在。
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

sudo sysctl --system

2.安装containerd

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install -y containerd.io
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

3.修改配置文件

vim /etc/containerd/config.toml
   [plugins."io.containerd.grpc.v1.cri"]
      sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.2"  
         ...
         [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
             SystemdCgroup = true
             ...
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://b9pmyelo.mirror.aliyuncs.com"]



systemctl restart containerd

4.配置kubelet使用containerd

vi /etc/sysconfig/kubelet 
KUBELET_EXTRA_ARGS=--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --cgroup-driver=systemd

systemctl restart kubelet

5.验证

kubectl get node -o wide

k8s-node1  xxx  containerd://1.4.4

在这里插入图片描述

6.管理容器工具

6.1 下载crictl

wget https://github.com/kubernetes-sigs/cri-tools/

6.2 设置crictl连接containerd

vi /etc/crictl.yaml
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false

6.3 测试

crictl images

在这里插入图片描述

  • 如果想切回Docker引擎,把/etc/sysconfig/kubelet配置参数去掉即可
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubeadm构建(Calico+Dashboard+Containerd) 的相关文章

随机推荐

  • 微信接口CSDN博客

    http blog csdn net xiong it article details 45174207
  • 工作中遇到的99%SQL优化,这里都能给你解决方案

    前几篇文章介绍了mysql的底层数据结构和mysql优化的神器explain 后台有些朋友说小强只介绍概念 平时使用还是一脸懵 强烈要求小强来一篇实战sql优化 经过周末两天的整理和总结 sql优化实战新鲜出炉 大家平时学习和工作中 遇到的
  • Could not load dynamic library ‘libcudart.so.11.0‘; dlerror: libcudart.so.11.0: cannot open shared o

    Could not load dynamic library libcudart so 11 0 dlerror libcudart so 11 0 cannot open shared object file No such file o
  • spring cloud框架介绍

    直接引用经典文章来源 https blog csdn net w05980598 article details 79007194什么是微服务 微服务的概念源于2014年3月Martin Fowler所写的一篇文章 Microservice
  • malloc申请二维数组的四种方法

    方法一 二级指针 include
  • 动漫数据推荐系统

    Simple TfidfVectorizer and CountVectorizer recommendation system for beginner 简单的TfidfVectorizer和CountVectorizer推荐系统 适用于
  • stm32单片机之外部脉冲捕获例程

    stm32单片机之外部脉冲捕获例程 定时器通道1来捕获外部脉冲 并且当脉冲到来时 通过HAL库的回调函数来处理这个事件 include stm32f4xx hal h 定义一个TIM HandleTypeDef结构体 TIM HandleT
  • 字符串长度检查

  • docker安装mysql 及 ls: cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted问题解决

    目录 查看本地镜像 搜索可用mysql 拉取最新版本 运行镜像 查看进程是否正常 问题解决 查看本地镜像 查看本地是否已经有mysql镜像了 docker images grep mysql 正常此步骤不会有返回结果 搜索可用mysql d
  • kaggle数据挖掘竞赛初步--Titanic<随机森林&特征重要性>

    完整代码 https github com cindycindyhi kaggle Titanic 特征工程系列 Titanic系列之原始数据分析和数据处理 Titanic系列之数据变换 Titanic系列之派生属性 维归约 之前的三篇博文
  • 模式识别学习笔记之一:模式识别的步骤及相关概念

    1 信息获取 2 预处理 对获取信号进行规范化等各种处理 3 特征提取与选择 将识别样本构造成便于比较 分析的描述量即特征向量 4 分类器设计 由训练过程将训练样本提供的信息变为判别事物的判别函数 5 分类决策 对样本特征分量按判别函数的计
  • 学习二叉树必须要了解的各种遍历方式及节点统计

    哈喽 大家好 我是小林 今天给大家分享一下对二叉树的一些常规操作 愿我们都能保持一颗向上的心 目录 一 前序遍历 二 中序遍历 三 后序遍历 四 统计节点个数 五 统计叶子节点个数 六 第K层的节点个数 七 二叉树的深度 八 查找值为x的节
  • bash 刷题leetcode

    题目一 给定一个文本文件 file txt 请只打印这个文件中的第十行 示例 假设 file txt 有如下内容 Line 1 Line 2 Line 3 Line 4 Line 5 Line 6 Line 7 Line 8 Line 9
  • Revit更改用户选择

    private void ChangeSelection Document document UIDocument uidoc new UIDocument document Autodesk Revit UI Selection SelE
  • 2014 奇虎360 笔试主观题

    1 在审计某一开源项目的代码时 假设有下面一个foo 子函数的实现 从安全的角度看 会存在安全漏洞吗 有的话 请 1 描述漏洞细节 2 说明可以利用的方法 3 还有该怎么修补漏洞 没有的话 也请说明为什么 int foo void func
  • QT.setStyleSheet()用法

    1 基本用法 textViewer gt setStyleSheet background color 00FF00 背景颜色 color FF0000 前景色 color rgb 255 0 0 color rgbd 255 0 0 0
  • selenium+java实现web自动化例子

    简单记录 有不正确的地方请指出 selenium java可以实现对web页面的自动化控制 在公司内部比较稳定 页面迭代较少的后台web系统使用时非常有效 web自动化收益最大化的情况 1 多更新于后端 前端页面迭代较少 2 在日常迭代中页
  • C++vector容器

    vector容器被称为动态数组 也被称为向量 它与array容器的区别是 array是静态数组 动态扩展 并不是在原空间之后续接新空间 而是找更大的内存空间 然后将原数据拷贝新空间 释放原空间 at 函数 返回对矢量中指定位置的元素的引用
  • 第零章 内核网络相关配置选项--基于Linux 3.10

    Kconfig选项 packet protocol 被直接和网络设备通信的应用程序使用 其没有使用内核的其它协议 像tcpdump支持需要使能该选项 af packet lt gt Packet socket 支持PF PACKET套接字
  • kubeadm构建(Calico+Dashboard+Containerd)

    文章目录 前言 一 环境 二 部署容器网络 CNI master操作 1 下载yamll 2 修改yaml 3 部署 三 部署 Dashboard 1 下载yaml 2 修改yaml 3 部署 4 创建管理员 四 切换容器引擎为Contai