Skip to content

Commit

Permalink
add google adsense in theme-huweihuang
Browse files Browse the repository at this point in the history
  • Loading branch information
huweihuang committed Mar 5, 2023
1 parent 211cc63 commit 3a187ca
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 25 deletions.
9 changes: 5 additions & 4 deletions book.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"favicon@^0.0.2",
"tbfed-pagefooter@^0.0.1",
"3-ba",
"theme-default",
"theme-huweihuang",
"-highlight", "prism", "prism-themes",
"sitemap-general",
"ga",
Expand All @@ -39,8 +39,9 @@
"readmore"
],
"pluginsConfig": {
"theme-default": {
"showLevel": true
"theme-huweihuang": {
"showLevel": true,
"googleAdsenseClient": "ca-pub-8205636531078391"
},
"github": {
"url": "https://github.com/huweihuang"
Expand All @@ -58,7 +59,7 @@
"size": "small"
},
"tbfed-pagefooter": {
"copyright": "Copyright © www.huweihuang.com 2017-2018",
"copyright": "Copyright © www.huweihuang.com",
"modify_label": "Updated at ",
"modify_format": "YYYY-MM-DD HH:mm:ss"
},
Expand Down
2 changes: 1 addition & 1 deletion deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ BLOG_SOURCE_DIR="../blog-source/${NOTE_NAME}"
MASTER_DIR="$(pwd)"
GHPAGE_DIR="${MASTER_DIR}/gh-pages"

clean and copy blog
# clean and copy blog
rm -fr $(ls | grep -v -E 'node_modules|book.json|README.md|SUMMARY.md|.gitignore|LICENSE|gh-pages|deploy.sh|code-analysis')
cp -fr ${BLOG_SOURCE_DIR}/* ./

Expand Down
43 changes: 43 additions & 0 deletions develop/develop-k8s.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "k8s社区开发指南"
weight: 4
catalog: true
date: 2023-03-02 21:02:24
subtitle:
header-img: "https://res.cloudinary.com/dqxtn0ick/image/upload/v1508253812/header/cow.jpg"
tags:
- Kubernetes
catagories:
- Kubernetes
---

# Community membership

| Role | Responsibilities | Requirements | Defined by |
| ---------------- | --------------------------------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Member | Active contributor in the community | Sponsored by 2 reviewers and multiple contributions to the project | Kubernetes GitHub org member |
| Reviewer | Review contributions from other members | History of review and authorship in a subproject | [OWNERS](https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md) file reviewer entry |
| Approver | Contributions acceptance approval | Highly experienced active reviewer and contributor to a subproject | [OWNERS](https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md) file approver entry |
| Subproject owner | Set direction and priorities for a subproject | Demonstrated responsibility and excellent technical judgement for the subproject | [sigs.yaml](https://github.com/kubernetes/community/blob/master/sigs.yaml) subproject [OWNERS](https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md) file *owners* entry |

# 社区活动日历

[Community Calendar | Kubernetes Contributors](https://www.kubernetes.dev/resources/calendar/)

# 加入k8s slack

点击https://communityinviter.com/apps/kubernetes/community

# 特别兴趣小组(SIG)

列表:https://github.com/kubernetes/community/blob/master/sig-list.md

参考:

- https://github.com/kubernetes/community/

- https://github.com/kubernetes/community/tree/master/contributors/guide

- https://github.com/kubernetes/community/blob/master/contributors/guide/first-contribution.md

-  [issues labeled as a good first issue](https://go.k8s.io/good-first-issue)
82 changes: 62 additions & 20 deletions storage/volume/volume.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ catagories:
- Kubernetes
---


## 1. volume概述
# 1. volume概述

- 容器上的文件生命周期同容器的生命周期一致,即容器挂掉之后,容器将会以最初镜像中的文件系统内容启动,之前容器运行时产生的文件将会丢失。
- Pod的volume的生命周期同Pod的生命周期一致,当Pod被删除的时候,对应的volume才会被删除。即Pod中的容器重启时,之前的文件仍可以保存。
Expand All @@ -29,9 +28,9 @@ Pod的volume关键字段如下:
- spec.volumes:提供怎样的数据卷
- spec.containers.volumeMounts:挂载到容器的什么路径

## 2. volume类型
# 2. volume类型

### 2.1. emptyDir
## 2.1. emptyDir

**1、特点**

Expand All @@ -42,10 +41,12 @@ Pod的volume关键字段如下:
**2、使用场景**

- 不同容器之间共享文件(例如日志采集等)

- 暂存空间,例如用于基于磁盘的合并排序
- 用作长时间计算崩溃恢复时的检查点

**3、示例**
- 用作长时间计算崩溃恢复时的检查点

**3、示例**

```yaml
apiVersion: v1
Expand All @@ -64,7 +65,7 @@ spec:
emptyDir: {}
```
### 2.2. hostPath
## 2.2. hostPath
**1、特点**
Expand All @@ -80,16 +81,16 @@ spec:

**`hostPath`的`type`字段**

| 值 | 行为 |
| ------------------- | ------------------------------------------------------------ |
| | 空字符串(默认)用于向后兼容,这意味着在挂载 hostPath 卷之前不会执行任何检查。 |
| 值 | 行为 |
| ------------------- | -------------------------------------------------------------------- |
| | 空字符串(默认)用于向后兼容,这意味着在挂载 hostPath 卷之前不会执行任何检查。 |
| `DirectoryOrCreate` | 如果在给定的路径上没有任何东西存在,那么将根据需要在那里创建一个空目录,权限设置为 0755,与 Kubelet 具有相同的组和所有权。 |
| `Directory` | 给定的路径下必须存在目录 |
| `FileOrCreate` | 如果在给定的路径上没有任何东西存在,那么会根据需要创建一个空文件,权限设置为 0644,与 Kubelet 具有相同的组和所有权。 |
| `File` | 给定的路径下必须存在文件 |
| `Socket` | 给定的路径下必须存在 UNIX 套接字 |
| `CharDevice` | 给定的路径下必须存在字符设备 |
| `BlockDevice` | 给定的路径下必须存在块设备 |
| `Directory` | 给定的路径下必须存在目录 |
| `FileOrCreate` | 如果在给定的路径上没有任何东西存在,那么会根据需要创建一个空文件,权限设置为 0644,与 Kubelet 具有相同的组和所有权。 |
| `File` | 给定的路径下必须存在文件 |
| `Socket` | 给定的路径下必须存在 UNIX 套接字 |
| `CharDevice` | 给定的路径下必须存在字符设备 |
| `BlockDevice` | 给定的路径下必须存在块设备 |

**注意事项**

Expand Down Expand Up @@ -120,7 +121,48 @@ spec:
type: Directory
```

### 2.3. configMap
### 2.2.1. 同步文件变化到容器内

`hostPath`的挂载方式可以挂载目录和文件两种格式,如果使用文件挂载的方式,通过简单的`vi`等命令修改宿主机的文件,并不会实时同步到容器内的映射文件。而需要对容器进行重启的操作才可以把文件的修改内容同步到文件中,但生产的容器一般不建议执行重启的操作。因此我们可以通过以下的方式来避免这个问题的发生。

以上文件不同步的本质原因是容器在初次挂载的时候使用了宿主机的文件的inode number进行标识,而**vi等操作会导致文件的inode number发生变化**,所以当宿主机文件的inode number发生变化,容器内并不会发生变化,**为了保持文件内容一致,则需要保持修改文件的同时文件的inode number不变**。那么我们**可以使用 cat 或echo 命令覆盖文件的内容则inode number不会发生变化。**

示例:

```yaml
containers:
volumeMounts:
- mountPath: /etc/hosts
name: hosts
readOnly: true
volumes:
- hostPath:
path: /etc/hosts
type: FileOrCreate
name: hosts
```

例如,以上的案例是通过挂载宿主机的/etc/hosts文件来映射到容器,如果想修改宿主机的hosts文件来同步容器内的hosts文件,可以通过以下的方式:

```bash
# 查看文件的inode
ls -i /etc/hosts
39324780 /etc/hosts
# 追加记录
echo "1.1.1.1 xxx.com" >> /etc/hosts
# 替换内容
sed 's/1.1.1.1/2.2.2.2/g' /etc/hosts > temp.txt
cat temp.txt > /etc/hosts
# 查看宿主机和容器内的inode号都没有发生变化
# crictl exec -it 20891de31a4a6 sh
/var/www/html # ls -i /etc/hosts
39324780 /etc/hosts
```

## 2.3. configMap

`configMap`提供了一种给Pod注入配置文件的方式,配置文件内容存储在configMap对象中,如果Pod使用configMap作为volume的类型,需要先创建configMap的对象。

Expand All @@ -147,7 +189,7 @@ spec:
path: log_level
```

### 2.4. cephfs
## 2.4. cephfs

`cephfs`的方式将Pod的存储挂载到`ceph`集群中,通过外部存储的方式持久化Pod的数据(即当Pod被删除数据仍可以存储在ceph集群中),前提是先部署和维护好一个ceph集群。

Expand Down Expand Up @@ -181,11 +223,11 @@ spec:

更多可参考 [CephFS 示例](https://github.com/kubernetes/examples/tree/master/staging/volumes/cephfs/)。

### 2.5. nfs
## 2.5. nfs

`nfs`的方式类似cephfs,即将Pod数据存储到NFS集群中,具体可参考[NFS示例](https://github.com/kubernetes/examples/tree/master/staging/volumes/nfs)。

### 2.6. persistentVolumeClaim
## 2.6. persistentVolumeClaim

`persistentVolumeClaim` 卷用于将`PersistentVolume`挂载到容器中。PersistentVolumes 是在用户不知道特定云环境的细节的情况下“声明”持久化存储(例如 GCE PersistentDisk 或 iSCSI 卷)的一种方式。

Expand Down

0 comments on commit 3a187ca

Please sign in to comment.