k8s资源身份标签Labels


资源身份标签Labels

在 Kubernetes 中,标签(Labels)是用于标识和选择 Kubernetes 对象(如 Pod、Deployment、Service、Namespace 等)的键值对。标签提供了一种简单而灵活的方式来组织和筛选对象,使得管理和查询 Kubernetes 对象变得更加方便。

主要用途

  1. 分类和组织:通过标签可以将对象分组,如将同一应用的所有 Pod 标记为一个标签。
  2. 筛选和管理:使用标签选择器(Label Selector)来选择和操作特定标签的对象。
  3. 自动化操作:结合标签选择器,可以在自动化流程中操作和管理对象,如自动缩放、自动部署等。

使用方法

...

Read more

Service实战


Service实战

创建一个service服务来提供固定IP轮巡访问nginx服务的2个pod(nodeport)

# 创建一个nginx的deployment
vim nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: new-nginx
  labels:
    app: new-nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: new-nginx
  template:
    metadata:
      labe...

Read more

K8S一键安装脚本


K8S一键安装脚本

架构图

部署脚本调用核心项目github: https://github.com/easzlab/kubeasz , 此脚本是这个项目的上一层简化二进制部署k8s实施的封装

此脚本安装过的操作系统 CentOS 7, Ubuntu 16.04/18.04/20.04/22.04

注意: k8s 版本 >= 1.24 时,CRI仅支持 containerd

CentOS7.9 安装前需要提前配置好国内的yum源和pip源

Ubuntu22.04 安装前需要提前配置好国内的apt源和pip源

否则需要等待较长时间

配置华为源

wget -O /etc/yum.repo...

Read more

Docker和Containerd 功能对比


Kubernetes 对 Docker 的使用方式改变

  首先,要明确的是,Kubernetes 并没有完全放弃 Docker,而是改变了对 Docker 的使用方式。

  这一改变主要是因为 Kubernetes 1.20 版本宣布弃用 Docker 容器运行时的支持,Kubernetes 1.24 (2022.05)版本正式弃用Dockershim。

  这意味着,虽然在 Kubernetes 集群中可以运行用 Docker 构建的容器镜像,但 Kubernetes 将不再使用 Docker 作为容器运行时。

  这个改变背后的原因是 Docker 和 Kubernetes ...

Read more

Ubuntu-Server22.04初始化脚本


#!/bin/bash
# http://releases.ubuntu.com/jammy/

# Control switch
#[[ "$1" != "" ]] && iptables_yn="$1" || iptables_yn='n'
iptables_yn="${1:-n}"


# install ssh and configure
apt-get install openssh-server -y
echo 'PermitRootLogin yes...

Read more

Ubuntu-Server22.04修改IP


sudo vim /etc/netplan/01-network-manager-all.yaml
# 修改/etc/netplan/目录下的yaml文件,
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.8.200/24]
      gateway4: 192.168.8.2
      nameservers:
        ad...

Read more

k8s之资源清单详解


1.Pod yaml文件详解

# yaml格式的pod定义文件完整内容:
apiVersion: v1 #必选,版本号,例如v1
kind: Pod  #必选,Pod
metadata:  #必选,元数据
  name: string   #必选,Pod名称
  namespace: string  #必选,Pod所属的命名空间
  labels:         #自定义标签
    - name: string  #自定义标签名字
  annotations:     #自定义注释列表
    - name: string
spec:  #必选,Pod中容器的详细定义
  conta...

Read more

k8s基础命令


k8s基础命令

kubeadm

kubuadm是k8s官方推出的用于快速安装k8s的命令行工具。

  • config:指定初始化集群时使用的配置文件
kubeadm config print init-defaults #打印初始化配置
  • init:初始化Master节点

  • join:初始化Node节点并加入集群

  • reset:重置当前节点,无论是Master节点还是Node节点都可以重置

  • token: kubeadm init或输出的命令中返回的kubeadm join

# 返回新的node节点token
kubeadm token create --print-...

Read more

Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)


Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)

img

kubeadm 简介

kubeadm 是 Kubernetes(以下简称 k8s)官方提供的用于快速安装部署 k8s 集群的工具,伴随 k8s 每个版本的发布都会同步更新,kubeadm 会对集群配置方面的一些实践做调整,通过实验 kubeadm 可以学习到 k8s 官方在集群配置上一些新的最佳实践。

这个工具能通过两条指令完成一个 k8s 集群的部署:

# 创建一个 Master 节点
kubeadm init

# 将一个 Node 节点加入到当前集群中
kubeadm join &l...

Read more

二进制安装 Kubernetes 1.18.3 版本


1.Kubernetes 架构设计图

Kubernetes 是由一个 Master 和多个 Node 组成,Master 通过 API 提供服务,并接收 Kubectl 发送过来的请求来调度管理整个集群。

Kubectl 是 K8s 平台的管理命令。

二、Kubernetes 二进制方式安装

我们下面的安装方式就是单纯的使用二进制方式安装,并没有对 Kube-APIServer 组件进行高可用配置,因为像我们安装 K8s 的话,其实主要还是为了学习 K8s,通过 K8s 来完成某些事情,所以并不需要关心高可用这块的东西。

要是对Kubernetes 做高可用的话,其实并不难,像一些在云上...

Read more