部署 tomcat zabbix (k8s)
首先自己创建image
命令如下:
# cat Dockerfile FROM centos:7.4.1708 WORKDIR /usr/local/ COPY ["tomcat","/usr/local/tomcat"] COPY ["jdk","/usr/local/jdk"] COPY [".bash_profile","/root/"] COPY ["docker-entrypoint.sh", "/usr/bin/"] RUN rpm -ivh --force --nodeps http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-agent-2.2.22-1.el7.x86_64.rpm \ && mkdir /var/log/zabbix /var/run/zabbix/ \ && useradd zabbix ; chown zabbix.zabbix /var/run/zabbix/ /var/log/zabbix COPY ["zabbix","/etc/zabbix/"] EXPOSE 8080 EXPOSE 10050 #VOLUME /var/tomcat ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
一些文件信息如下:
# cat docker-entrypoint.sh #!/bin/bash source /root/.bash_profile /usr/sbin/zabbix_agentd start /usr/local/tomcat/bin/startup.sh tail -f /var/log/zabbix/zabbix_agentd.log # cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib
目录信息如下:
# ll total 12 -rwxr-xr-x 1 centos centos 146 Jun 7 08:08 docker-entrypoint.sh -rw-r--r-- 1 centos centos 559 Jul 16 07:06 Dockerfile drwxr-xr-x 8 centos centos 4096 Aug 4 2015 jdk drwxr-xr-x 9 centos centos 149 Jun 7 07:02 tomcat drwxr-xr-x 4 root root 67 Jul 16 09:10 zabbix
构建image:
# docker build -t tomcat-zabbix_agentd:v4 .
打tag:
docker tag tomcat-zabbix_agentd:v2 registry.cn-beijing.aliyuncs.com/k8s-test/tomcat-zabbix_agentd:v2
push image:
docker push registry.cn-beijing.aliyuncs.com/k8s-test/tomcat-zabbix_agentd:v4
创建registry:
# kubectl get secret --all-namespaces
注意:查看存在的 secret
# kubectl get secret --all-namespaces
注意:删除所有的 secret
# kubectl delete secret registry-key --namespace=k8s-app
注意:删除特定名称的secret
kubectl create secret docker-registry registry-key-ali-beijing --docker-server=registry.cn-beijing.aliyuncs.com --docker-username=<your-user> --docker-password=<your-password> --docker-email=<your>@qq.com
注意:创建自己使用的 secret
创建Deployment:
# cat tomcat-zabbix_agentd.yml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: test-tomcat-zabbix #namespace: k8s-app labels: name: test-tomcat-zabbix spec: replicas: 1 selector: matchLabels: app: test-tomcat-zabbix template: metadata: labels: app: test-tomcat-zabbix #namespace: k8s-app spec: imagePullSecrets: - name: registry-key-ali-beijing containers: - name: test-tomcat-zabbix image: registry.cn-beijing.aliyuncs.com/k8s-test/tomcat-zabbix_agentd:v4 ports: - containerPort: 8080 name: tomcat-p - containerPort: 10050 name: zabbix-agentd-p
创建 svc:
# cat tomcat-zabbix_agentd-svc.yml apiVersion: v1 kind: Service metadata: name: test-tomcat-zabbix labels: name: test-tomcat-zabbix spec: selector: app: test-tomcat-zabbix type: NodePort ports: - port: 8080 nodePort: 8888 name: tomcat-p - port: 10050 nodePort: 11151 name: zabbix-agentd-p
kubectl 创建:
kubectl create -f tomcat-zabbix_agentd-svc.yml
kubectl create -f tomcat-zabbix_agentd.yml
查看node节点:
# netstat -lnpt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 2196/kubelet tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 777/kube-proxy tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 18387/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 776/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1408/master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 14098/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 4734/zabbix_proxy tcp6 0 0 :::10250 :::* LISTEN 2196/kubelet tcp6 0 0 :::11151 :::* LISTEN 777/kube-proxy tcp6 0 0 :::10255 :::* LISTEN 2196/kubelet tcp6 0 0 :::22 :::* LISTEN 776/sshd tcp6 5 0 :::8888 :::* LISTEN 777/kube-proxy tcp6 0 0 ::1:25 :::* LISTEN 1408/master tcp6 0 0 :::10050 :::* LISTEN 14098/zabbix_agentd tcp6 0 0 :::4194 :::* LISTEN 2196/kubelet tcp6 0 0 :::10051 :::* LISTEN 4734/zabbix_proxy
打开页面测试:
[root@ip-10-81-20-141 centos]# kubectl get svc -o wide NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kubernetes 10.254.0.1 <none> 443/TCP 4d <none> test-tomcat-zabbix 10.254.244.136 <nodes> 8080:8888/TCP,10050:11151/TCP 2h app=test-tomcat-zabbix [root@ip-10-81-20-141 centos]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE test-tomcat-zabbix-710678309-v8xc5 1/1 Running 0 1h 172.30.87.3 10.81.20.27
# curl 10.81.20.27:8888 --head HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=ISO-8859-1 Transfer-Encoding: chunked Date: Mon, 16 Jul 2018 10:29:20 GMT
注意查看iptables 规则中的FORWARD链
自己测试环境使用。
本文来自博客园, 作者:Star-Hitian, 转载请注明原文链接:https://www.cnblogs.com/Star-Haitian/articles/9319339.html

浙公网安备 33010602011771号