創建 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) }
作者:如水網