kubernetes——Pod&habbor
一、Pod资源管理
1、特点
最小部署单元
一组容器的集合
一个Pod中的容器共享网络命名空间
Pod是短暂的
2、Pod分类
①infrastructure container基础容器
维护整个Pod网络空间
node节点操作
查看容器的网络
每次创建Pod时候就会创建,与Pod对应的,对于用户是透明的
②initcontainers
先于业务容器开始执行,原先Pod中容器是并行开启,现在进行了改进
③container
并行启动
3、镜像拉取策略
IfNotPresent:默认值,镜像在宿主机上不存在时才拉取
Always:每次创建Pod都会重新拉取一次镜像
Never:Pod永远不会主动拉取这个镜像
二、部署harbor
1、部署docker
2、创建私有项目
3、node节点连接私有仓库
#两个node节点都需要配置
[root@node1 ~]# docker login 192.168.200.17
[root@node2 .docker]# docker login 192.168.200.17
4、创建凭证资源
#在node节点
[root@node2 ~]# cd .docker/
[root@node2 .docker]# cat config.json | base64 -w 0
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjIwMC4xNyI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFU9IgoJCX0KCX0KfQ==
#在master1上创建凭证资源
[root@master1 opt]# vim /opt/registry-pull-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: registry-pull-secret
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjIwMC4xNyI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFU9IgoJCX0KCX0KfQ==
type: kubernetes.io/dockerconfigjson#创建secret资源
[root@master1 opt]# kubectl create -f registry-pull-secret.yaml
#查看secret资源
[root@master1 opt]# kubectl get secret
5、创建资源harbor中下载镜像
[root@master1 opt]# vim tomcat-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-tomcat
spec:
replicas: 2
template:
metadata:
labels:
app: my-tomcat
spec:
imagePullSecrets:
- name: registry-pull-secret
containers:
- name: my-tomcat
image: 192.168.200.17/fyf/tomcat
ports:
- containerPort: 80
—
apiVersion: v1
kind: Service
metadata:
name: my-tomcat
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
nodePort: 31111
selector:
app: my-tomcat#进行创建
[root@master1 opt]# kubectl create -f tomcat-deployment.yaml