2017-05-30 96 views
0

希望所有人都做好。擴展Docker JBoss WildFly服務器不工作

ENV:centos的1611年3月7日,kubernetes:1.5,搬運工1.12

問題1:擴展的JBoss搬運工不工作但搬運工圖像成功創建

POD被錯誤見下文,步驟7

問題2:一旦問題#1固定然後我希望上傳到碼頭集線器:https://hub.docker.com/

如果可能,我如何上傳步驟。

  1) pull 

      docker pull jboss/wildfly 

      2) vi Dockerfile 

      FROM jboss/wildfly 
      RUN /opt/jboss/wildfly/bin/add-user.sh admin admin123$ --silent 
      CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"] 

      3) Extend docker image 
      docker build --tag=nbasetty/wildfly-server . 

      4) [[email protected] custom-jboss]# docker images 
      REPOSITORY           TAG     IMAGE ID   CREATED    SIZE 
      nbasetty/wildfly-server        latest    c1fbb87faffd  43 minutes ago  583.8 MB 
      docker.io/httpd          latest    e0645af13ada  2 weeks ago   177.5 MB 


      5)vi jboss-wildfly-rc-service-custom.yaml 

      apiVersion: v1 
      kind: Service 
      metadata: 
       name: wildfly-service 
      spec: 
       externalIPs: 
       - 10.0.2.15 
       selector: 
       app: wildfly-rc-pod 
       ports: 
       - name: web 
        port: 8080 
       #- name: admin-console 
       # port: 9990 
       type: LoadBalancer 
      --- 
      apiVersion: v1 
      kind: ReplicationController 
      metadata: 
       name: wildfly-rc 
      spec: 
       replicas: 2 
       template: 
       metadata: 
        labels: 
        app: wildfly-rc-pod 
       spec: 
        containers: 
        - name: wildfly 
        image: nbasetty/wildfly-server 
        ports: 
        - containerPort: 8080 
        #- containerPort: 9990 

      6) kubectl create -f jboss-wildfly-rc-service-custom.yaml 
      7) [[email protected] jboss]# kubectl get pods 
      NAME    READY  STATUS    RESTARTS AGE 
      mysql-pvc-pod  1/1  Running   6   2d 
      wildfly-rc-d0k3h 0/1  ImagePullBackOff 0   23m 
      wildfly-rc-hgsfj 0/1  ImagePullBackOff 0   23m 

      [[email protected] jboss]# kubectl logs wildfly-rc-d0k3h 
      Error from server (BadRequest): container "wildfly" in pod 
      "wildfly-rc-d0k3h" is waiting to start: 
      trying and failing to pull image 
+0

你是什麼kubernetes配置?您在集羣中擁有多少個節點? – sfgroups

+0

單節點(主,從) - 實驗 –

+0

我假設你在從節點上創建了docker鏡像。你可以發佈這個輸出'kubectl get pods -o wide' – sfgroups

回答

0

很高興您找到了使其工作的方法。這是我遵循的步驟。

  1. 我標記節點-01 'DBSERVER:MySQL的'
  2. 創建節點-01創造了該吊艙
  3. 碼頭工人的形象,它的工作。
apiVersion: v1 kind: ReplicationController metadata: name: wildfly-rc spec: replicas: 2 template: 
    metadata: 
     labels: 
     app: wildfly-rc-pod 
    spec: 
     containers: 
     - name: wildfly 
     image: nbasetty/wildfly-server 
     imagePullPolicy: IfNotPresent 
     ports: 
     - containerPort: 8080 
     nodeSelector: 
     dbserver: mysql 
0

重新創建問題:

docker pull jboss/wildfly 

mkdir jw 
cd jw 
echo 'FROM jboss/wildfly 
RUN /opt/jboss/wildfly/bin/add-user.sh admin admin123$ --silent 
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]' | tee Dockerfile 

docker build --tag=docker.io/surajd/wildfly-server . 

查看可用的圖片:

# docker images 
REPOSITORY            TAG     IMAGE ID   CREATED    SIZE 
docker.io/surajd/wildfly-server       latest    10e96902ea12  11 seconds ago  583.8 MB 

創建工作的配置:

echo ' 
apiVersion: v1 
kind: Service 
metadata: 
    name: wildfly 
spec: 
    selector: 
    app: wildfly 
    ports: 
    - name: web 
    port: 8080 
    type: LoadBalancer 
--- 
apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: wildfly 
spec: 
    replicas: 2 
    template: 
    metadata: 
     labels: 
     app: wildfly 
    spec: 
     containers: 
     - name: wildfly 
     image: docker.io/surajd/wildfly-server 
     imagePullPolicy: Never 
     ports: 
     - containerPort: 8080 
' | tee config.yaml 
kubectl create -f config.yaml 

請注意字段imagePullPolicy: Never,這有助於您使用節點上可用的圖像(我們使用docker build構建的圖像)。這適用於單節點羣集,但可能會或可能不會在多節點羣集上工作。所以不建議放這個值,但因爲我們在單節點集羣上做實驗,所以我們可以將它設置爲Never。始終將其設置爲imagePullPolicy: Always。因此,無論何時預定pod,圖像將從註冊表中拉出。閱讀關於imagePullPolicy和一些配置相關的tips

我們拉從註冊表中的圖像的圖像應該是註冊表,所以回答你推到泊塢窗樞紐運行命令的問題:

docker push docker.io/surajd/wildfly-server 

所以在上面的例子中你的搬運工註冊表替換surajd用戶名。


下面是步驟,我用來做單節點集羣的設置在CentOS:

我的機器版本:

$ cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 

這裏是我做了什麼:

設置單如下所示(src1 & src2):

yum update -y 
cat <<EOF > /etc/yum.repos.d/kubernetes.repo 
[kubernetes] 
name=Kubernetes 
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 
enabled=1 
gpgcheck=1 
repo_gpgcheck=1 
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg 
     https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg 
EOF 
setenforce 0 
yum install -y docker kubelet kubeadm kubectl kubernetes-cni 
systemctl enable docker && systemctl start docker 
systemctl enable kubelet && systemctl start kubelet 

sysctl net.bridge.bridge-nf-call-iptables=1 
sysctl net.bridge.bridge-nf-call-ip6tables=1 
kubeadm init 


cp /etc/kubernetes/admin.conf $HOME/ 
chown $(id -u):$(id -g) $HOME/admin.conf 
export KUBECONFIG=$HOME/admin.conf 

kubectl taint nodes --all node-role.kubernetes.io/master- 

現在K8S版本:

# kubectl version 
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2017-05-19T18:44:27Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"} 
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2017-05-19T18:33:17Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}