导航

k8s从零部署nacos

Posted on 2022-11-09 18:28  慢行的老乌龟  阅读(3463)  评论(0)    收藏  举报

在以往的文章中,看到k8s部署nacos中间省略了好多,或者是镜像拉去不下来,今天给大家分享一下从镜像到最后部署到k8s全过程,今天先分享nacos单点部署。

1 nacos的docker镜像制作

nacos下载地址:https://github.com/alibaba/nacos/releases

点击查看代码
[root@k-2 nacos]# cat Dockerfile
FROM kimicheng/jdk1.8.0_91:latest
ADD ./nacos-server-2.1.2.tar.gz /
ENV JAVA_HOME /opt/jdk1.8.0_91
EXPOSE 8048
ENTRYPOINT /bin/bash /nacos/bin/startup.sh -m standalone && tail -f /dev/null

docker build -t "nacos:v1" -f Dockerfile .

2 制作cm

这一步单点不做也行,因为单点默认的是本地保存数据,是不走数据库的,所以用默认的配置文件就行,这里是为之后集群式做铺垫,所以先挂载个cm,注意,如果不想用这个需要改后边yaml文件的代码,为了改动少还是先按这个来,不影响服务。

解压nacos包,

tar xf nacos-server-2.1.2.tar.gz -C /opt/

cd /opt/nacos/nacos/conf/

kubectl create cm nacos-cm --from-file=application.properties

3 制作 k8s的编排文件

kubectl create ns dev

点击查看代码
[root@k-2 nacos]# cat nacos-svc.yml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nacos
  namespace: dev
spec:
  selector:
    matchLabels:
         app: nacos
  replicas: 3
  template:
     metadata:
        name: nacos
        namespace: dev
        labels:
          app: nacos
     spec:
       containers:
       - name: nacos
         image: nacos:v1
         imagePullPolicy: IfNotPresent 
         #command: ["ln","-sv","/tmp/application.properties","/nacos/conf/application.properties"]
         ports:
         - containerPort: 8848
         env:
         - name: nacos
           valueFrom:
             configMapKeyRef:
              name: nacos-cm
              #key: application.properties  
              key: application.properties
         #volumeMounts:
         #- name: nacos-config
         #  mountPath: /tmp
         #  readOnly: true
       #volumes:
       #- name: nacos-config
       #  configMap:
       #     name: nacos-cm
       restartPolicy: Always  
---
apiVersion: v1
kind: Service
metadata:
  name: nacos-server
  namespace: dev
  labels:
    app: nacos
spec:
  selector:
     app: nacos
  type: NodePort
  ports:
  - port: 8848
    protocol: TCP
    nodePort: 30848
kubectl apply -f  nacos-svc.yml

查看结果
kubectl get pod -n dev

然后执行命令查看server的ip验证是否成功
kubectl get svc -A

出现以下结果,说明是部署成功

然后登录界面
执行 kubectl get pod --all-namespaces -owide|grep nacos 查看相应的机器ip

使用该节点的ip访问页面 http://ip:30848/nacos (如果有域名的话,可以使用ingress配置下域名使用域名登录)

账户密码都是nacos到这里我们已经搭建成功,希望能帮助到需要的同学。