学海无涯
go,go,go

k8s部署java项目-java项目正式搭建(三)

#上传yaml文件,其中deployment的yaml文件需要修改为自己的harbor
[root@k8s-master1 java]# ls
deployment.yaml  ingress.yaml  mysql.yaml  namespace.yaml  registry-pull-secret.yaml  service.yaml

#创建命名空间
[root@k8s-master1 java]# kubectl create -f namespace.yaml 
namespace/test created

#检查
[root@k8s-master1 java]# kubectl get ns
NAME              STATUS   AGE
kube-system       Active   16d
test              Active   16s  成功创建

#创建认证secret,使用harbor的使用的仓库和用户名密码
[root@k8s-master tools]# docker login 192.168.2.194
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded

#成功生成秘钥文件
cat >/root/.docker/config.json<<'EOF'
{
	"auths": {
		"192.168.2.194": {
			"auth": "YWRtaW46SGFyYm9yMTIzNDU="
		}
	},
	"HttpHeaders": {
		"User-Agent": "Docker-Client/18.09.6 (linux)"
	}
EOF


#对秘钥文件使用base64解密获得秘钥生成Secret
[root@k8s-master tools]#  cat /root/.docker/config.json |base64 -w 0
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjIuMTk0IjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfQoJfSwKCSJIdHRwSGVhZGVycyI6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE4LjA5LjYgKGxpbnV4KSIKCX0KfQ==


#替换秘钥生成配置文件
cat >registry-pull-secret.yaml<<'EOF'
apiVersion: v1
kind: Secret
metadata:
  name: registry-pull-secret
  namespace: test
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjIuMTk0IjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfQoJfSwKCSJIdHRwSGVhZGVycyI6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE4LjA5LjYgKGxpbnV4KSIKCX0KfQ==
type: kubernetes.io/dockerconfigjson
EOF

#创建秘钥管理
[root@k8s-master java]#  kubectl apply -f registry-pull-secret.yaml 
secret/registry-pull-secret created

#检查
[root@k8s-master java]# kubectl get secret -n test
NAME                   TYPE                                  DATA   AGE
default-token-89nlv    kubernetes.io/service-account-token   3      10m
registry-pull-secret   kubernetes.io/dockerconfigjson        1      28s  创建成功deployment的yaml文件要引用这个认证信息控制器拉取镜像

创建deployment实现从自己的harbor拉取镜像
[root@k8s-master1 java]# kubectl create -f deployment.yaml
deployment.apps/tomcat-java-demo created

#检查,创建成功
[root@k8s-master java]# kubectl get pod -n test
NAME                                READY   STATUS    RESTARTS   AGE
tomcat-java-demo-76c84894d5-6xbrp   1/1     Running   0          2m18s
tomcat-java-demo-76c84894d5-7kbpc   1/1     Running   0          2m18s
tomcat-java-demo-76c84894d5-rkbxs   1/1     Running   0          2m18s

#配置hosts解析直接解析node1节点的ip即可
java.ctnrs.com 192.168.2.191:

项目使用文件如下:

赞(1) 打赏
未经允许不得转载:YYQ运维技术博客_运维的工作学习之路 » k8s部署java项目-java项目正式搭建(三)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

运维devops

联系我们关于本博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏