k8s使用外部mysql做內部服務


創建 mysql-endpoints.yaml

apiVersion: v1 kind: Endpoints metadata: name: mysql-dev namespace: default subsets: - addresses: - ip: 10.1.0.32 ports: - port: 3306 

創建mysql-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql-dev
spec:
  ports:
    - port: 3306
    
apiVersion: v1 kind: Service metadata: name: mysql-dev namespace: default spec: clusterIP: 10.1.61.45 ports: - port: 3306 targetPort: 3306 protocol: TCP 

使用數據庫服務

main.go

package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "net/http" ) func IndexHandler(w http.ResponseWriter, r *http.Request) { _, _ = fmt.Fprintln(w, "hello rushui") } func RowsHandler(w http.ResponseWriter, r *http.Request) { //第⼀步:打開數據庫,格式是 ⽤戶名:密碼@/數據庫名稱?編碼⽅式 db, err := sql.Open("mysql", "root:root@tcp(mysql-dev:3306)/test?charset=utf8") if err != nil { fmt.Println(err) } //關閉數據庫 var id int var name string //查詢數據,指定字段名,返回sql.Rows結果集 rows, err := db.Query("select id,name from user") if err != nil { fmt.Println(err) } defer rows.Close() for rows.Next() { _ = rows.Scan(&id, &name) _, _ = fmt.Fprintln(w, name) } } func main() { http.HandleFunc("/", IndexHandler) http.HandleFunc("/rows", RowsHandler) _ = http.ListenAndServe(":8081", nil) } 
 
 
0人點贊
 
k8s
 
 



作者:如水網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM