K8S快速入门(一)

Kubernetes快速入门

  一、四组基本概念:

       * Pod/Pod 控制器

       * Name/Namespace 

       *Label/Label选择器

        * Service/Ingress 

1)Pod 

(1)Pod是K8S里能够被运行的最小的逻辑单元(原子单元)

(2)1个Pod里面可以运行多个容器,它们共享UTS+NET+IPC名称空间

(3)可以把Pod理解成豌豆荚,而同一Pod内的每个容器是一颗颗豌豆

(4)一个Pod里运行多个容器,又叫:边车(sideCar)模式。

Pod控制器:

1)Pod控制器是pod启动的一种模板,用来保证在K8S里启动的pod应始终按照人们的预期运行(副本数,生命周期,健康状态检查...)

2) K8S内提供了众多的Pod控制器,常用的有以下几种:

(1)Deployment

(2)DaemonSet

(3)ReplicaSet

(4)stateFulSet

(5)Job

(6)Cronjob

2)Name

    由于K8S内部,使用“资源”来定义每一种逻辑概念(功能),所以每种资源,都应该有自己的“名称”。

Namespace 

   随着项目的增多,人员增加,集群规模的扩大,需要一种能够隔离K8S内各种“资源”的方法,这就是名称空间。

。。。。

=======================================================

二、初始化linux操作系统(准备环境)

1)调整yum源:

安装epel-relesse

      yum install epel-release 

2) 关闭SElinux和firewalld

      setenforce 0 

      systemctl stop firewalld

[root@k8s ~]# curl  -o /etc/yum.repos.d/CentOS-base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@k8s ~]#  yum install wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils -y 

[root@k8s ~]# yum install bind -y 

配置bind9 

主配置文件

/etc/named/name.conf 

listen-on port 53 { 10.4.7.11; }

allow-query  {  any; }

forwarders { 10.4.7.1; }

dnssec-enable no;

dnssec-validation no;

====================================================

区域配置文件:

  /etc/named/named.rfc1912.zones

zone "host.com" IN {

       type  master;

       file "host.com.zone";

       alllow-update { 10.4.7.11; };

};

zone "od.com" IN {

     type  master;

     file "od.com.zone";

     allow-update { 10.4.7.11; };

};

一些关于资源管理方法的操作命令:

1.查看名称空间:

~]# kubectl get namespaces

2.查看名称空间内的资源:

~]# kubectl get all -n default 

3.创建名称空间:

~]# kubectl create namespace app 

4.删除名称空间

~]#  kubectl delete namespace app 

5.创建deployment 

~]#  kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public 

~]# kubectl expose deployment nginx-dp --port=80 -n kube-public 

    service/nginx-dp exposed 

6.查看deployment 

  简单查看

   扩展查看

   详细查看

总结:

Kuberntes 集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口

kubectl 是官方的CLI命令工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织并转化为apiserver能识别的信息,进而实现管理K8S各种资源的一种有效途径。

kubectl 的命令大去全。

  kubectl --help

  http://docs.kubernetes.org.cn 

======================================================

你可能感兴趣的:(K8S快速入门(一))