上传文件至 'kubernetes-MD'
This commit is contained in:
		
							parent
							
								
									13ebf2dbc7
								
							
						
					
					
						commit
						bb2403d365
					
				
							
								
								
									
										161
									
								
								kubernetes-MD/Containerd之Kubernetes链接Harbor.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								kubernetes-MD/Containerd之Kubernetes链接Harbor.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,161 @@
 | 
				
			|||||||
 | 
					<h1><center>Containerd之Kubernetes链接Harbor</center></h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					作者:行癫(盗版必究)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 一:环境基础
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 1.Harbor正常运行
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 2.Kubernetes集群正常
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					注意:kubernetes集群环境1.27.3版本(containerd)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 二:配置Containerd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							Kubernetes中Containerd连接Harbor仓库,Harbor仓库支持http和https部署,Containerd支持http和https连接,默认https
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 1.配置Containerd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					修改Kubernetes集群中所有节点的Containerd配置,配置如下:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```shell
 | 
				
			||||||
 | 
					[root@xingdiancloud ~]# vim /etc/containerd/config.toml
 | 
				
			||||||
 | 
					    [plugins."io.containerd.grpc.v1.cri".registry]
 | 
				
			||||||
 | 
					      config_path = "/etc/containerd/certs.d"
 | 
				
			||||||
 | 
					      [plugins."io.containerd.grpc.v1.cri".registry.configs]
 | 
				
			||||||
 | 
					        [plugins."io.containerd.grpc.v1.cri".registry.configs."10.9.12.201".auth]
 | 
				
			||||||
 | 
					          username = "admin"
 | 
				
			||||||
 | 
					          password = "Harbor12345"
 | 
				
			||||||
 | 
					        [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.1.238:180".auth]
 | 
				
			||||||
 | 
					           username = "admin"
 | 
				
			||||||
 | 
					           password = "Harbor12345"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					注意:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							找到配置文件中对应的参数位置;将系统中多余的跟上面配置中相同的参数删除
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```shell
 | 
				
			||||||
 | 
					[root@xingdiancloud ~]# mkdir /etc/containerd/certs.d/10.9.12.201 -p
 | 
				
			||||||
 | 
					[root@xingdiancloud ~]# cd /etc/containerd/certs.d/10.9.12.201
 | 
				
			||||||
 | 
					[root@xingdiancloud ~]# cat > hosts.toml << EOF
 | 
				
			||||||
 | 
					server = "http://10.9.12.201"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[host."http://10.9.12.201"]
 | 
				
			||||||
 | 
					  capabilities = ["pull", "resolve", "push"]
 | 
				
			||||||
 | 
					  skip_verify = true
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 2.重新启动Containerd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```shell
 | 
				
			||||||
 | 
					[root@xingdiancloud ~]# systemctl restart containerd
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 三:集群测试
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 1.创建Deployment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: apps/v1
 | 
				
			||||||
 | 
					kind: Deployment
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  annotations: {}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    k8s.kuboard.cn/name: test
 | 
				
			||||||
 | 
					  name: test
 | 
				
			||||||
 | 
					  namespace: default
 | 
				
			||||||
 | 
					  resourceVersion: '397590'
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  progressDeadlineSeconds: 600
 | 
				
			||||||
 | 
					  replicas: 1
 | 
				
			||||||
 | 
					  revisionHistoryLimit: 10
 | 
				
			||||||
 | 
					  selector:
 | 
				
			||||||
 | 
					    matchLabels:
 | 
				
			||||||
 | 
					      k8s.kuboard.cn/name: test
 | 
				
			||||||
 | 
					  strategy:
 | 
				
			||||||
 | 
					    rollingUpdate:
 | 
				
			||||||
 | 
					      maxSurge: 25%
 | 
				
			||||||
 | 
					      maxUnavailable: 25%
 | 
				
			||||||
 | 
					    type: RollingUpdate
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      creationTimestamp: null
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        k8s.kuboard.cn/name: test
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					        - image: 10.9.12.201/xingdian/nginx:v1
 | 
				
			||||||
 | 
					          imagePullPolicy: IfNotPresent
 | 
				
			||||||
 | 
					          name: nginx
 | 
				
			||||||
 | 
					          ports:
 | 
				
			||||||
 | 
					            - containerPort: 80
 | 
				
			||||||
 | 
					              name: http
 | 
				
			||||||
 | 
					              protocol: TCP
 | 
				
			||||||
 | 
					          resources: {}
 | 
				
			||||||
 | 
					          terminationMessagePath: /dev/termination-log
 | 
				
			||||||
 | 
					          terminationMessagePolicy: File
 | 
				
			||||||
 | 
					          volumeMounts:
 | 
				
			||||||
 | 
					            - mountPath: /usr/share/nginx/html
 | 
				
			||||||
 | 
					              name: volume-j2ijw
 | 
				
			||||||
 | 
					      dnsPolicy: ClusterFirst
 | 
				
			||||||
 | 
					      restartPolicy: Always
 | 
				
			||||||
 | 
					      schedulerName: default-scheduler
 | 
				
			||||||
 | 
					      securityContext: {}
 | 
				
			||||||
 | 
					      terminationGracePeriodSeconds: 30
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					        - name: volume-j2ijw
 | 
				
			||||||
 | 
					          nfs:
 | 
				
			||||||
 | 
					            path: /opt/xingdiancloud_1
 | 
				
			||||||
 | 
					            server: 10.9.12.250
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: v1
 | 
				
			||||||
 | 
					kind: Service
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  annotations: {}
 | 
				
			||||||
 | 
					  labels:
 | 
				
			||||||
 | 
					    k8s.kuboard.cn/name: test
 | 
				
			||||||
 | 
					  name: test
 | 
				
			||||||
 | 
					  namespace: default
 | 
				
			||||||
 | 
					  resourceVersion: '397893'
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  clusterIP: 10.99.28.173
 | 
				
			||||||
 | 
					  clusterIPs:
 | 
				
			||||||
 | 
					    - 10.99.28.173
 | 
				
			||||||
 | 
					  externalTrafficPolicy: Cluster
 | 
				
			||||||
 | 
					  internalTrafficPolicy: Cluster
 | 
				
			||||||
 | 
					  ipFamilies:
 | 
				
			||||||
 | 
					    - IPv4
 | 
				
			||||||
 | 
					  ipFamilyPolicy: SingleStack
 | 
				
			||||||
 | 
					  ports:
 | 
				
			||||||
 | 
					    - name: xbcbcp
 | 
				
			||||||
 | 
					      nodePort: 30009
 | 
				
			||||||
 | 
					      port: 80
 | 
				
			||||||
 | 
					      protocol: TCP
 | 
				
			||||||
 | 
					      targetPort: 80
 | 
				
			||||||
 | 
					  selector:
 | 
				
			||||||
 | 
					    k8s.kuboard.cn/name: test
 | 
				
			||||||
 | 
					  sessionAffinity: None
 | 
				
			||||||
 | 
					  type: NodePort
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					注意:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							此yaml文件中创建的Deployment、Service;还使用了持久化存储;需要借鉴使用。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 2.运行状态
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 3.访问服务
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					注意:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							以上任何一项都可以说明Kubernetes集群中Containerd可以使用Harbor仓库http方式下载镜像
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user