Kubernetes开发环境搭建与CI/CD集成实践
立即解锁
发布时间: 2025-08-30 01:43:08 阅读量: 9 订阅数: 19 AIGC 

### Kubernetes开发环境搭建与CI/CD集成实践
#### 1. TLS/HTTPS与Cert Manager
Cert Manager可自动管理和颁发来自各种来源的TLS证书,这里使用Let’s Encrypt来安全免费地颁发TLS证书,并通过名为ClusterIssuer的Cert Manager自定义资源进行配置。
- **操作步骤**:
1. 创建目录:`~/workspace/apk8s/k8s/cluster-apk8s-dev1/000-cluster/10-cert-manager`。
2. 创建文件`00-namespace.yml`,内容如下:
```yaml
apiVersion: v1
kind: Namespace
metadata:
name: cert-manager
labels:
certmanager.k8s.io/disable-validation: "true"
```
3. 应用新的命名空间:`kubectl apply -f 00-namespace.yml`。
4. 获取Cert Manager的自定义资源定义(CRDs)并保存到`02-crd.yml`:
```bash
curl -L https://github.com/jetstack/cert-manager/releases/download/v0.8.0/cert-manager.yaml >02-crd.yml
```
5. 应用Cert Manager的CRDs:`kubectl apply -f 02-crd.yml`。
6. 确保所有支持Cert Manager的Pod都处于运行状态:`kubectl get pods -n cert-manager`。
7. 创建文件`03-clusterissuer.yml`,内容如下:
```yaml
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-production
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: YOUR_EMAIL_ADDRESS
privateKeySecretRef:
name: letsencrypt-production
http01: {}
```
8. 应用Cert Manager的ClusterIssuer:`kubectl apply -f 03-clusterissuer.yml`。
9. 获取ClusterIssuers列表:`kubectl get clusterissuers`。
#### 2. 使用Rook Ceph的持久卷
某些Kubernetes部署需要持久存储,而Kubernetes Pod是短暂的,其文件系统也是如此。这里使用Rook编排的Ceph来支持Kubernetes持久卷。
- **操作步骤**:
1. 创建目录:`~/workspace/apk8s/k8s/cluster-apk8s-dev1/000-cluster/20-rook-ceph`。
2. 获取Rook Ceph命名空间的CRDs并保存到`00-namespace-crd.yml`:
```bash
curl -L https://github.com/rook/rook/raw/release-1.0/cluster/examples/kubernetes/ceph/common.yaml >00-namespace-crd.yml
```
3. 应用Rook Ceph命名空间和自定义资源定义:`kubectl apply -f 00-namespace-crd.yml`。
4. 获取Rook Ceph Operator部署配置并保存到`30-deployment-oper.yml`:
```bash
curl -L https://github.com/rook/rook/raw/release-1.0/cluster/examples/kubernetes/ceph/operator.yaml >30-deployment-oper.yml
```
5. 应用Rook Ceph Operator部署:`kubectl apply -f 30-deployment-oper.yml`。
6. 获取示例Rook Ceph集群配置并保存到`60-cluster-rook-ceph.yml`:
```bash
curl -L https://github.com/rook/rook/raw/release-1.0/cluster/examples/kubernetes/ceph/cluster-test.yaml >60-cluster-rook-ceph.yml
```
7. 应用Rook Ceph集群部署配置:`kubectl apply -f 60-cluster-rook-ceph.yml`。
8. 获取Rook Ceph工
0
0
复制全文
相关推荐








