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
======================================================