Bootstrap

k3s使用示例(安装+部署demo应用)

1. docker配置

参考链接https://yq.aliyun.com/articles/110806
安装命令

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

阿里云镜像加速:登录阿里云,选择“容器镜像服务”->“镜像中心”->"镜像加速器“

2. k3s配置

安装:

curl -sfL https://get.k3s.io | sh -

配置kubectl授权文件

cd - && mkdir .kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config

3. 下载kubectl

安装k3s过程中,如果系统中没有kubectl,则会自动安装一个
kubectl

4. 拉取k8s.gcr.io/pause:3.1 镜像

(只能使用VPN,k3s不支持指定镜像的方式,只能去k8s.gcr.io拉取。第一次拉取成功后,以后将不再拉取)

5. 制作配置文件

以postgresql为例,创建一个yaml文件,名为postgresql.yaml,其中yourpassword, yourusername, yourdbname请替换成自己需要的

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgresql
spec:
  serviceName: postgresql
  replicas: 1
  selector:
    matchLabels:
      app: postgresql
  template:
    metadata:
      labels:
        app: postgresql
    spec:
      volumes:
        - name: hostpath
          hostPath:
            path: /home/data/pgdata
      containers:
        - image: postgres:11-alpine
          imagePullPolicy: Always
          name: postgres11
          volumeMounts:
            - mountPath: /var/lib/postgresql/data
              name: hostpath
          env:
            - name: POSTGRES_PASSWORD
              value: yourpassword
            - name: POSTGRES_USER
              value: yourusername
            - name: POSTGRES_DB
              value: yourdbname
---
apiVersion: v1
kind: Service
metadata:
  name: postgresql
spec:
  type: NodePort
  ports:
    - port: 5432
  selector:
    app: postgresql

6. 启动应用

在postgresql.yaml目录下,执行

[root@localhost ~]# kubectl apply -f postgresql.yaml

检查postgres启动情况

[root@localhost ~]# kubectl get pod 
NAME           READY   STATUS    RESTARTS   AGE
postgresql-0   1/1     Running   0          14m
;