k8s学习

发布时间 2023-12-27 21:25:22作者: 米歪歪

容器化技术优点:

  1.自我修复

  2.弹性伸缩

  3.服务发现

  4.负载均衡

  5.版本回退

  6.存储编排

k8s构成:

  1.控制节点:集群的控制平面,负责集群的决策

    1>ApiServer

    2>Schedule

    3>ControllerManager

    4>Etcd

 

  2.工作节点:集群的数据平面,负责为容器提供运行环境

    1>Kubelet

    2>KubeProxy

    3>Docker------>Pod

 1..主机安装

  master:1个

  node:2个

2.操作系统初始化

  1>检查版本 centos 7.5以及以上版本

  2>主机名解析配置

    配置/etc//hosts

    192.168.109.100 master

    192.168.109.101 node1

    192.168.109.102 node2

  3>配置时钟同步

    启动chronyd服务器

    配置开机启动

  4>警用iptables和firewalld服务

  5>禁用selinux

  6>禁用swap分区

  7>修改linux模块参数

    vi /etc/sysctl.d/kubernetes.conf,添加配置

    net.bridge.bridge-nf-call-ip6tables=1

    net.bridge.bridge-nf-call-iptables=1

    net.i[4.ip_forward=1

  重新加载配置

    sysctl -p

  加载网桥过滤模块

    modprobe bf_netfilter

  检查是否加载成功

    lsmod||grep br_netfilter

  8>配置ipvs功能

    1>安装ipset和ipsad

      yum安装

    2>添加啊需要加载的模块写入脚本文件

      

      

     3>为脚本文件添加执行权限

      chmod +x /etc/sysconfig/modules/ipvs.moudles

    4>执行脚本:

      /bin/bash /etc/sysconfig/modules/ipvs.moudules

    5>j检查对应的模块是否加载成功

      lsmod |grep -e ip_vs -e nf_contrack_ipv4

  9.重启服务器

3.安装docker,kubeadm,kubectl软件

  1.docker安装

    镜像源:wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -0 /etc/yum.repos.d/docker-ce.repo

    版本:18.06.3.ce-3.e17  

  2.查看当前镜像源中支持的docker版本

    yum list docker-ce --showduplicates

  3.安装特点版本的docker-ce  

   必须指定--setopt=obsoletes=0 d,否则yum会自动安装更高版本

    yum install --setop=obsoletes=0 docker-ce-18.06.ce-3.e17 -y

  4.添加一个配置文件

    Docker在默认情况下使用Cgroup Driver为cgroupfs,而kubernetes推荐使用systemd代替cgroupfs

   mkdir /etc/docker

   添加配置文件

    

   5.启动docker

     systemctl restart docker

     systemctl enable docker

      查看docker版本

     docker version

4.安装kubernetes组件安装

     1.配置yum源

    

  2.安装kubeadm,kubelet和kubectl

    1.安装

    yum install --setopt=obsoletes=0 kubeadm-1.17.4-0 kubelet-1.17.4-0 kubectl-1.17.4.-0 -y 

    2.配置kubelet的cgroup  

    

    3.设置kubelet开机启动  

    systemctl enable kubelet

  2.2.5.准备集群镜像

    在安装kubernets几圈之前,必须提前准备好几圈需要的镜像,所需镜像可以通过下面命令查看

    kubeadm config images list

    

   查看下载的镜像

    dock images

  2.2.6集群初始化

    下面对集群初始化,并将node节点加入到集群中

    下面操作只需要在:master节点执行即可

    

    下面的操作只需要在node节点上执行即可

    下面是上面的步骤在master执行完成以后,复制这些内容在node节点上执行的

    

   在master查看节点 kubectl get nodes

  2.2.7安装kubernetes支持多种网络插件,比如flannel,callco,canal等等,人选一种使用即可,本次选择flannel

  下面的操作依旧只在master节点执行即可,插件使用的是DaemonSet的控制器,它会在每个节点上都运行

    

     至此,kubernetes集群环境搭建完成

  2.3服务部署

  下面在kubernetes集群中部署一个nginx程序,测试下集群是否在正常工作

    

 第三章资源管理

  

 

  

   3.1

    yarm语言

  3.3资源管理方式  

     

    

       

 

  

  

  

 

  

 

查看版本信息:kubectl version

查看集群信息:kubectl cluster-info

查看集群所有资源:kubectl api.service

查看节点:kubectl get nodes

创建一个namespace:kubectl create namespace dev

查看namespace:kubectl get ns

在此namespace下创建并运行一个nginx的pod: kubectl run pod --image-nginx -n dev

查看新创建的pod:kubectl get pod -n dev

删除指定的pod:kubectl delete pod pod-864987569-pcw7x

删除制定的namespace:kubectl delete ns dev

查询指定namespace下的pod:kubectl get pods -n dev

查看某个pods的描述:kubectl describe pods pod-cbb995bbf-t6hww -n dev

删除制定namespace下的pod:kubecl delete pod-cbb995bbf-t6hww -n dev

执行create命令创建资源:kubectl create -f nginxpod.yaml

查看get命令,查看资源 kubectl get -f nginxpod.yaml

执行delete命令,删除资源:kubectl delete -f nginxpod.yaml

查看pod:kubectl get pod -n dev

  kubectl get pods -n dev