k8s——kubernetes

参考地址

一。基本说明

1.目标
为docker容器建造运行环境,这个环境叫Pod

2.架构
k8s集群主要由Master节点和Node节点组成
Master是主节点(一个),负责管理和控制
Node是工作节点(一群),里面是具体的容器


3.基本概念与术语
Cluster:是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用
NameSpace:将一个物理的cluster逻辑上划分成多个Cluster,每个Cluster就是一个Namespace.不同Namespace里的资源是完全隔离的
Master: 控制节点。职责是调度,即决定将应用放在哪里运行  
Node:   工作节点。职责是运行容器应用。Node由Master管理,Node负责监控并汇报容器的状态,并根据Master的要求管理容器的生命周期
Pod:    即环境,k8s的最小工作单元.每个pod包含一个或多个容器.pod中的容器会作为一个整体被Master调度到一个Node运行.
Controller:管理Pod的工具,Deploment是最常用的Controller,Deploment可以管理Pod的多个副本,并确保Pod按照期望的状态运行
Service:定义外界访问一组特定Pod的方式.Service有自己的Ip和端口,并把这个Ip和后端的Pod所跑的服务关联起来.
         Service为Pod提供了负载均衡

二。构建k8s环境(三台服务器,一个Master两个Node)

 1.设置三台服务器虚拟Ip地址别名   
 	 1.敲命令 hostnamectl set-hostname master    (hostnamectl set-hostname work1)
 	 2.vi etc/hosts,写上192.168.0.113 master      (192.168.0.114 work1)
 2.关闭一些东西
     1.关闭swap:               
     	临时禁用:swapoff -a
		永久禁用:sed -i.bak '/swap/s/^/#/' /etc/fstab	##注释掉swap那一行
		
     2.关闭软件安装的安全级别校验  vi /etc/sysconfig/selinux 修改OPTIONS='--selinux-enabled=false3.配置ip_forward允许转发   vi /proc/sys/net/ipv4/ip_forward,编辑里面的值为1
     4.br_netfilter模块
        lsmod |grep br_netfilter,查看是否有
        添加br_netfilter: modprobe br_netfilter    ##再次查看,已经有了
     
 3.安装并设置docker
 	1.下载 yum install docker-ce-18.89.9 docker-ce-cli-18.09.9 containerd.io -y
 	2.国内镜像加速配置,在etc/docker文件夹里面新增文件 daemon.json,并在里面写上语句
 		 {
           "registry-mirrors": ["https://10ne5axe.mirror.aliyuncs.com"]   -- 镜像地址
           "exec-opts":["native.cgroupdrivers=systemd"]                   -- docker底层驱动模式为system
         }
	3.设置docker开机启动  systemctl enable docker && systemctl start docker

 4.安装并设置k8s三大组件 Kubeadm Kubelet Kubectl
    4.1.下载安装k8s
       yum install -y kubelet-1.64.4 kebuadm-1.64.4 kubectl-1.64.4

    4.2.设置k8s开机启动: systemctl enable kebulet && systemctl start kebulet 
    
    4.3. 加载k8s的配置到linux上下文       
       4.3.1 在home/root创建文件.bash_profile,并且在文件后面加上内容source < (kubectl completion bash)
             echo "source < (kubectl completion bash)" >> ~/.bash_profile 
       4.3.2.bash_profile 文件配置到环境目录
            进入跟目录,然后source .bash_profile
                  
    4.4.初始化组件
      kebuadm init 
      --image-repository registry.aliyuncs.com/google_containers 
      --kubernetes-version v1.16.4 
      --pod-network-cidr=10.244.0.0/16

 5. mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf HOME/.kube/config
    sudo chown $(id -u):(id -g) $HOME/.kube/config
    
 6. 安装网络插件kube-flannel 
     6.1 新建文件 test-flannel.yml
     6.2 运行文件 kubectl apply -f test-flannel.yml

 7.加入节点(上面是操作Master服务器)
   在节点服务器操作:
   	 kubeadm join 192.168.3.253:6443 
   	  --token lau65m.3j0v7d3k4qmg9wom 
   	  --discovery-token-ca-cert-hash sha256:s1df5s4f5s4f5w45w4e5f45w45f45e4fw54ef4w5w54f
   
      查看所有服务器,包括Master和Node:kubectl get nodes 
      查看节点加入命令(在Master操作):  kubeadm token create --print-join-command

三。怎么玩

查看创建的机器人:               kubectl get deployment 
创建机器人(机器人用来创建环境)   kubectl run nginx-deployment 
								--iamge=nginx:1.7.9  //镜像名称可自定义
								--port=80            //端口
								--replicas=2         //两个副本
								
查看所有创建的环境:  		     kubectl get pods 或者 kubectl get pods -o wide                           
查看具体环境的信息:               kubectl describe pod 环境名称	

你可能感兴趣的:(java)