我正在尝试使用基础 os ubuntu server 19 最新补丁将 SQLServer Always on 部署到本地的 kubernetes 集群中
这是设置
Kubeadm v1.16.0
码头工人 18.09.7
Nodes
NAME STATUS ROLES AGE VERSION
master-node Ready master 6d19h v1.16.0
slave-node1 Ready <none> 6d18h v1.16.0
slave-node2 Ready <none> 6d19h v1.16.0
[版本表][1]
我无法部署 sqlserver pod 我没有收到错误但没有部署 pod,当我检查我的 pvc 时它没有绑定但它说在绑定之前等待第一个消费者被创建。
kubectl describe pvc mssql-data1-claim -n ag1
Name: mssql-data1-claim
Namespace: ag1
StorageClass: local-storage
Status: Pending
Volume:
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"name":"mssql-data1-claim","namespace":"ag1"},"spec":{"acce...
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Mounted By: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal WaitForFirstConsumer 109s (x42 over 12m) persistentvolume-controller waiting for first consumer to be created before binding
您能否指出我做错了什么,我是 Kubernetes 新手,目前正在学习。感谢所有帮助
这是我使用的 YAML 定义
存储类
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
reclaimPolicy: Retain
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
光伏和光伏索赔
kind: PersistentVolume
apiVersion: v1
metadata:
name: ag1-pv-volume-node1
labels:
type: local
spec:
storageClassName: default
capacity:
storage: 3Gi
accessModes:
- ReadWriteOnce
local:
path: "/var/opt/mssql"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- slave-node1
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: mssql-data1-claim
namespace: ag1
spec:
storageClassName: default
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
selector:
matchLabels:
name: ag1-pv-volume-node1
操作员文件
SqlServer 部署
apiVersion: mssql.microsoft.com/v1
kind: SqlServer
metadata:
labels: {name: mssql1, type: sqlservr}
name: mssql1
namespace: ag1
spec:
acceptEula: true
agentsContainerImage: mcr.microsoft.com/mssql/ha:2019-CTP2.1-ubuntu
availabilityGroups: [ag1]
instanceRootVolumeClaimTemplate:
accessModes: [ReadWriteOnce]
resources:
requests: {storage: 3Gi}
storageClass: default
saPassword:
secretKeyRef: {key: sapassword, name: sql-secrets}
sqlServerContainer: {image: 'mcr.microsoft.com/mssql/server:2019-CTP2.1-ubuntu'}
volumes:
- name: sql-server-storage1
persistentVolumeClaim:
claimName: mssql-data1-claim
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- slave-node1
---
apiVersion: v1
kind: Service
metadata: {name: mssql1, namespace: ag1}
spec:
ports:
- {name: tds, port: 1433}
selector: {name: mssql1, type: sqlservr}
type: NodePort
这是 kubectl get pods -A 的结果
NAMESPACE NAME READY STATUS RESTARTS AGE
ag1 mssql-operator-5c85589dfb-j2t6f 1/1 Running 0 3d23h
kube-system coredns-5644d7b6d9-dh9fg 1/1 Running 2 6d20h
kube-system coredns-5644d7b6d9-p84nl 1/1 Running 2 6d20h
kube-system etcd-master-node 1/1 Running 2 6d19h
kube-system kube-apiserver-master-node 1/1 Running 3 6d19h
kube-system kube-controller-manager-master-node 1/1 Running 5 6d19h
kube-system kube-flannel-ds-amd64-cpsf9 1/1 Running 1 6d19h
kube-system kube-flannel-ds-amd64-d5sj4 1/1 Running 2 6d18h
kube-system kube-flannel-ds-amd64-jg6pd 1/1 Running 2 6d19h
kube-system kube-proxy-2cq5m 1/1 Running 2 6d20h
kube-system kube-proxy-8rc4m 1/1 Running 1 6d19h
kube-system kube-proxy-rh27f 1/1 Running 1 6d18h
kube-system kube-scheduler-master-node 1/1 Running 4 6d19h
kubernetes-dashboard dashboard-metrics-scraper-566cddb686-dmns8 1/1 Running 1 6d18h
kubernetes-dashboard kubernetes-dashboard-7b5bf5d559-6nqsm 1/1 Running 7 6d18h