tedyang321

@tedyang

Joined on Mar 22, 2022

  • Archinstall archinstall 目前使用2024.07打包的版本,已經改版相當穩定好用 Archinstall無線網路設定方式 iwctl station wlan0 scan station wlan0 connect APNAME
     Like  Bookmark
  • grype沒有api,為了讓整個pipeline尾巴改成放到registry,後續再給deploy流程去跑,所以移除grype,改用NeuVector,本來包成tar的流程,也改成push上harbor。 先看一下強大的NeuVector的功能介紹吧!!! https://www.cnblogs.com/rancherlabs/p/16111452.html 先建起來harbor吧 下載最新版harbor https://github.com/goharbor/harbor/releases/tag/v2.9.0 調整harbor.yml設定
     Like  Bookmark
  • 剛好工作有個原始碼品質掃描工作,就記錄以下也分享出來,勉強跟網路有關XD: 範例目標:啟動sonarqube並用maven進行scan 啟動sonarqube 這部份先注意一下,要先做功課,因為最新版的sonarqube不再支援java 8,所以我們要上sonarqube檢視支援。 剛這個部份我就卡關很久...
     Like  Bookmark
  • 112年度數據應用暨資安強化論壇 資訊安全管理下的夥伴關係 衛生福利部資訊處一科 法規與策略面 機房作業 其他注意事項 衛生福利部資訊服務採購契約書與需求說明書注意事項CNS27001 陸廠、陸資、陸籍人士、陸牌資通訊產品 資安法主管機關稽核或查核
     Like  Bookmark
  • 先說明一下,後來還是找到方法讓gitlab跟drone的溝通可以不用ip,不過需要借用traefik的route功能來達成。 不過實作還是有個狀況 drone解析不到gitlab.docker.localhost這個名稱,所以還是用了extra_host來作ip dn對照的設定給drone。 drone在gitlab的application redirect URL還是必須使用IP。 docker compose yaml version: "3"
     Like  Bookmark
  • 先說結論,只有sonarqube跟maven之間確實沒有用ip溝通之外,其他跟gitlab有關的地方,都要用ip。 因為gitlab跟drone之間的認證是會利用external url來溝通,需要到host這邊存取,所以這邊發現有幾個地方會需要用ip: drone的gitlab環境變數,要使用gitlab的external_url,以及自己宣告的host也要用ip(因為要跟gitlab溝通) environment: - DRONE_GITLAB_SERVER=http://172.18.0.2 - DRONE_SERVER_HOST=172.18.0.4
     Like  Bookmark
  • 終於,我們來到了整個系列的起點:CICD全容器化作業的野望。 曾經使用過Azure DevOps、Jenkins、Gitlab等CICD工具,也有一說是使用Dockerfile與Docker compose yaml來做CICD,都算是太過複雜跟難入門,而我的目標就是每個編譯環境我都要在同一個HOST做出來,彼此不受影響,甚至用過就拋棄,Jenkins跟Docker也有整合,但Jenkins也太肥大。 某次意外看到Drone CI這個工具,也就是容器原生的CICD工具,就想說,這應該就是我想要的了。 一開始用了gogs+drone,很明顯gogs是比較沒有維護的專案,所以遇到問題比較找不到資源,所以本次就改用gitlab+drone,經歷過幾次錯誤與排除,終於完整上線。 我這邊先講已經完成的CI pipeline:
     Like  Bookmark
  • 昨天完成了SonarQube與Maven的整合,今天想繼續把CICD平台繼續堆疊起來。 先說我遇到了幾個問題: gitlab docker啟動後,root密碼需要下指令查找 sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password 參考: https://docs.gitlab.com/ee/install/docker.html
     Like  Bookmark
  • Docker的網路-Sonarqube與maven整合案例-compose整合 先建立ap_net網路 docker network create ap_net 撰寫sonarqube docker compose yaml version: "3" name: sonarqube
     Like  Bookmark
  • 今天是鐵人賽的重整日。 網路議題整理到21天後,有發現之前太堅持在IP配置這件事,這樣會讓HOST的網路功能有些複雜,對後續管理並不是一件好事。 所以後面我會嘗試改以traefik的套路來走,比如api.local網址,會轉向api container,ap.local網址,會轉向ap container,都是同一個ip,也都是同個port。 所以後續就不再HOST上弄太複雜的網路架構,都會以bridge為主進行配置。 我會朝向以下方向撰寫:
     Like  Bookmark
  • 在調整環境的過渡期,先來介紹一個簡單的管理工具:portainer 參考: https://docs.portainer.io/start/install-ce/server/docker/linux 因為我們並非使用docker desktop版本,所以沒有dashboard給我們檢視一些容器的相關物件狀況,每次都需要使用docker network inspect或docker container,image inspect或ls等等方式檢視狀況,最快的方法的確是有個系統等級的dashboard一目了然,也加速整個管理的速度。 Portainer並非最好的工具,不過是相當多人使用的工具,所以我這邊說明如何快速建立: 1.新增volume
     Like  Bookmark
  • 這次嘗試使用ipvlan L3 mode。 注意,這次測試雖然不同網段可以互ping,但依然無法對外存取網路資源,還有待了解原因在哪裡。 參考: https://docs.docker.com/network/drivers/ipvlan/#ipvlan-l3-mode-example 建立 ipvlan l3 mode的network docker network create -d ipvlan \
     Like  Bookmark
  • 參考: https://docs.docker.com/network/drivers/ipvlan/ 這邊先說明,因為在itaiwan、macvlan環境,可以達成同個macvlan可以互ping,但無法存取外部網路的問題,所以這邊嘗試找另一個docker network driver:ipvlan。 這邊因為還需要後續補充ipvlan的說明,只先實做給大家看看。 itaiwan連線時,gw不是gw,所以改用4G手機分享網路的方式實做: 依照手機網路的配置設定ip
     Like  Bookmark
  • Docker的網路-macvlan 參考文章: https://godleon.github.io/blog/Docker/docker-network-macvlan/ https://docs.docker.com/network/drivers/macvlan/ https://wiki.archlinux.org/title/VLAN 接下來將嘗試使用macvlan,這個linux才能使用的docker network模式。 目前文章都說明macvlan是效能比較好的一種網路模式,且支援四種模式,分別為:
     Like  Bookmark
  • Docker的網路-除錯Netshoot 前一篇說明了,使用iTaiwan或手機分享無線,都會有WAN IP的問題,好在我自己有管理一台無線路由器,接著想使用無線路由器,設定port forwarding的方式,去呈現WAN IP可以連線到container的網站。 在這篇之前,先介紹一個除錯工具:netshoot https://github.com/nicolaka/netshoot 之前為了處理網路問題,我是用ubuntu包一些安裝常見網路工具的tedyang/ubuntu:1120912 image,而網路上有一個image包了比較完整的工具包。
     Like  Bookmark
  • 先說讓container可以讓internet ip看到,不是很簡單的事情,而這也是一切撰寫這次鐵人賽的起點,試過幾個偏方,雖然好像可以,但管理上又有點怪,所以在討論之前,想先就docker的五大網路架構說明一下。 bridge:預設,又分成user defined跟default。 host:就只有一個host overlay:swarm這類叢集使用的。 macvlan:為了802.1q應用使用的。 none:沒有網路。 之前有講解過固定IP,可以用來讓container之間互連,還有一種是在-p的時候,bind ip,就可以讓該container只有經由該指定的ip:port連線。
     Like  Bookmark
  • Compose Yaml其實有不少可以好好琢磨的地方,大家可以嘗試好好研讀跟熟練,我覺得多練習撰寫yaml,對未來轉換到k8s寫yaml,幫助會很大 這邊說明一下compose yaml的top-level version name service volume network secret
     Like  Bookmark
  • 雖然今天加班比較晚,還是要比照鐵人精神,完成今天的挑戰... Docker Compose yaml的起手式,我想從編輯器開始。 不是為了混一篇文章的量XD而是實際撰寫上,常常因為yaml的層級跟空白,而發生無法正常運作的問題。 這邊推薦使用vs code的docker extension,就可以提供Dockerfile還有Docker compose yaml的一些語法輔助。 有關Docker Compose yaml比較完整的說明,可以看以下官方文件:
     Like  Bookmark
  • ESXi on QEMU and use ghettoVCB VIB 在archlinux安裝qemu準備安裝esxi sudo pacman -Ss qemu-full virt-manager libvirt sudo systemctl enable libvirtd sudo pacman -S dnsmasq reboot sudo virt-manager
     Like  Bookmark
  • 參考:https://docs.docker.com/engine/reference/builder/#run---network 我們很多網路的設定都是在docker run時附加上去的,其實在image打包時就可以設定好,另外一個地方就是docker compose yaml。 這邊使用官方的範例改寫的方式,來練習Dockerfile帶入network的寫法 FROM ubuntu RUN apt-get update \ && apt-get upgrade -y \ && apt-get install -y inetutils-ping curl dnsutils net-tools traceroute --no-install-recommends \
     Like  Bookmark